[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Main character animations.

Steve Baker wrote:

> Tony Joblin wrote:
>>I was reading in a book about developing games for Linux where the author
>>used a technique as follows. First develop a 3d model, they used a shareware
>>program called AC3D (approx $40), then render using POV ray to get 2d
>>images. Admittedly no animation was used, just wanted to get 2d images of
>>the spaceship for lots of rotations. I haven't tried it, I hope I have
>>described the process accurately and that it may be of use to you.
> Yes - it's a good way to get smoother sprite animation than a human artist
> could manage in a reasonable amount of time.
> You'll want to render at much higher resolution than you need so you can
> get them antialiased - also render against a 'blue screen' background so
> you can delete the background and have transparency in the right places.

Antialising and blue-screen backgrounds don't mix very good, mainly 
because the pixel at the model's edges will be mixed with the 
background. So if you enable antialiasing on such a scene you will have 
a fixed-colored border around your model which is hard to get rid of.

Either don't do antialiasing at all or try to get some sort of alpha 
value for the border pixels telling you how much of that pixel's was 
actually covered by the model. In this case you should render the model 
against a black background, even if the model itself is very dark.

You can get the alpha channel using a trick in POV: First render the 
model against a black background with antialiasing on. Then set the 
ambient color for that model to plain white, and render the scene again 
with unchanged antialiasing settings. This will give you the the right 
alpha mask for this model.

This method has a benefit and a drawback, though. The drawback is that 
you should draw the resulting 2D model always using the rendered alpha 
channel to avoid the awkwardly colored edge around the model. The 
benefit is that the model should blend nicely into the scene giving you 
some sort of full-screen antialiasing.

One last disclaimer: this is still theory to me. I've never ever tried 
it. But I've stumbled over the colored edge problem above, though and I 
honestly believe that this method should work out.


* Gregor Mueckl                 GregorMueckl@gmx.de *
*                                                   *
* The ChallengeOS project:                          *
* http://challengeos.sourceforge.net                *
* Math problems?                                    *
* Call 1-800-[(10x)(13i)^2]-[sin(xy)/2.362x].       *