-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Vito Miliano wrote:

> Sorry, I have to call foul on some of this.
> 
> Any animation you see in any Unreal Tournament 2004 (except for the
> flags in CTF, I think, and anything that just moves textures around,
> which is how moving tree leaves works most of the time) has a skeleton
> behind it.  The same skeletal system that drives characters drives the
> vehicles; the physics system is competely separate.  

It is possible, I am not privy to the details of the proprietary Unreal
engine, but I did lot's of skeletal animation during the past four years
during my PhD in VRlab, both with Cal3D and other systems and I am quite
familiar with the workings behind this.

What strikes me odd - how are you going to rotate the wheels of the
vehicle when all "skeleton" that is being modelled there has a star-like
topology? The "bone" doesn't even pass through the rotation axis of the
wheel! It could be used perhaps as a suspension strut for the physics,
but that's all - it is useless to rotate the wheel (that's what the
original poster wanted, AFAIK).

I didn't say that it is impossible to do it in this way. However, take
into account that it makes a large difference, whether you are trying to
make models for Unreal and for Soya. Both engines work in different ways
and if Unreal animates everything using only skeletons - I do not think
so, as it is a huge overkill if you do not need skinning (e.g. on a
car), but I have no means to verify it - then you have also to model
everything using skeletons only. You are essentially stuck with whatever
the engine and the exporters allow.

In Soya, you have direct access to the transforms and there is no need
to use a cannon to shoot a fly. Btw, notice that I didn't speak about
the joint hierarchies for physics, but about bones - these are similar
but different things. Perhaps the Unreal exporter uses Maya bones to
specify the physical joints? I do not know, but this doesn't fit with
the workings of Cal3D.

> You can use physics
> to trigger your e.g. tire rotation animations, but it's not necessary.

Well, not that you can, but you *have to*. Otherwise the wheels would
appear "sliding" and floating, because the movement of the wheels would
not correspond to the velocity of the vehicle and terrain. It is
possible to calculate this without physics (e.g. ReplicantBody does this
for human characters to avoid the effect of sliding feet), but if the
physics engine is there anyway, I do not think that anybody would do it
without.

> Animations can be blended or played back at any point along the
> hierarchy, so one animation that drives one wheel can be played back
> independently of anything else going on in the car.

Yeah, this is pretty standard animation blending.

> If you poke around a little more, you'll see my name signed to some of
> those.  I don't know of any reason why Cal3D wouldn't be able to handle
> programmatically animating a vehicle other than the fact that no-one's
> tried it; 

I didn't say that Cal3D wouldn't be able to do it, just that it is a
huge overkill and most likely you wouldn't be happy with the result. Cal
is optimized for human bodies, does skinning, keyframe interpolation and
such. In fact, unless you write your own animation mixer (even a very
simple one), there is no way how to drive the "bones" yourself from
outside. Cal expects that all animation happens by means of Cal
animations (static key frame animations), not by external influence
(procedurally) and it is coded to that effect. Been there, done that - I
 have done one version of the osgCal node for OpenSceneGraph :(

That's why you wouldn't like to use Cal3D for this. Yes, in principle
you can do it, but you can also go around the world by bike. Same level
of difficulty.

> skeletal systems aren't a cakewalk, but it's not brain surgery
> either.  Don't rule it out just because it's not trivial.

I didn't rule out anything. I have just said that this is not a good
solution for the problem given by Mark.

Regards,

Jan


- --

Jan Ciger
GPG public key: http://www.keyserver.net/

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)
Comment: Using GnuPG with Mandriva - http://enigmail.mozdev.org

iD8DBQFDWo5pn11XseNj94gRAiESAKDSwdKVY+l1fVrfy3J7UwUWK5ksRACg25zu
6GzPkLZUQK/Zm6MWf9evobQ=
=1bDh
-----END PGP SIGNATURE-----

Reply via email to