Yes.  Well, possibly more than one Shape3D,  the 3DS loader actually brings
them in as a TransformGroup.

Texturing problems around joints is just a trade-off.  In a game where there
will be 20+ players on screen at a time, mesh morphing and interpolating is
out of the question for our target system requirements.

As long as models are designed with this knowledge from the start, major
problems (so it seems) can be avoided.  This same type of animation can be
seen all over--I believe Asheron's Call is one example, and I think
ActiveWorlds as well.

Of course we're still in development, so everything is up in the air ;)  But
so far I'm more than happy with this technique, visually and
performance-wise.

Scott
----- Original Message -----
From: "Chad Zalkin" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, April 23, 2002 1:14 AM
Subject: Re: [JAVA3D] Animation


> Are you saying that the geometery benieth each joint is a spearate object
so
> that the character is more than one Shape3D?  This seems the easiest way
to
> go for simple bones animation, but how would you deal with clothes bending
> around joints or ensuring you don't have creases or worse, gaps?
>
> Thanks
>
> ----- Original Message -----
> From: "Scott" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Monday, April 22, 2002 6:07 PM
> Subject: Re: [JAVA3D] Animation
>
>
> > I'm using a combination of keyframe and (cheap) skeletal animation for
my
> > characters.  Well, not true "skeletal", but fully jointed models (torso,
> > hips, knees, shoulders, elbows), and then I come up with joint and bone
> > rotation and transformation info (roughly modelled in Max).  Each body
> part
> > is loaded with the rotation joint at the origin, rotated, and
transformed
> to
> > the correct location.
> >
> > Then a real simple interpolator creates the transition from any
> orientation
> > to any other orientation, and a sequencer controls the transition from
> > keyframe to keyframe.
> >
> > The "bones" are each contained in a tranform group, starting with the
> torso
> > at the top, then the upper arms/upper loegs ad head, then the lower
> > arms/lower legs.  Each transform group affects all the children, making
> this
> > really simple.
> >
> > This whole thing took me about 2 hours to put together in code.  Took
much
> > more time to come up with the various joint transforms and rotations.
But
> > the cool thing is there's no limit to the combinations of animations,
and
> > more sequences don't have a performance or memory impact, as mesh
morphing
> > would.
> >
> > The over head for adjusting the transformation/rotation of all the
"bones"
> > (which are really just body parts), for one character every single
frame,
> is
> > about 8 FPS (when running at a normal average of 120FPS). For the other
> > characters within viewing range, I only run the joint animation when
> they're
> > fairly close to the viewer...
> >
> > Scott
> > Virtopia 2 3D Project
> > http://vp2.onebigvillage.com
> > ----- Original Message -----
> > From: "Chris Forrester" <[EMAIL PROTECTED]>
> > To: <[EMAIL PROTECTED]>
> > Sent: Monday, April 22, 2002 4:55 PM
> > Subject: Re: [JAVA3D] Animation
> >
> >
> > > Character Animation = FAQ material.
> > >
> > > Keyframe animation is the speediest way to go, since you can use very
> > simple
> > > interpolation routines for smooth animation, and just feed that into
the
> > > TransformGroup. Plus with this, you can share vertex information with
> > BYREF
> > > arrays to save lots of memory.
> > >
> > > Morph animations, which is what you are talking about with 1 & 2, are
by
> > far
> > > the worst way to go for character animations. Huge, huge memory
> > consumption,
> > > and you cannot do LOD's on this either (well you can, but the memory
for
> > > this is insane, since you will need 2d arrays of vertex information).
> > >
> > > The third option is what you want, and for finely detailed animation
you
> > > will want bones animation. For this, you will have increased memory
> > > consumption because you cannot share vertex info (since they will all
be
> > > updated with the bones information)
> > >
> > > So, you should read animation directly from max (and if you haven't
> worked
> > > with maxSDK before, there will be many a sleepless night hacking
around
> > all
> > > the inconsistancies that will pop up), and either use the rotation
> values
> > of
> > > the components for a simple keyframe solution, or use the bones
> > information
> > > in max to set up skeletons and then integrate that with your other
> > > transforms in your application.
> > >
> > > Needless to say, since you will have to code everything yourself
(Though
> I
> > > will release my 3dsmax exporter soon, and it contains keyframe
animation
> > > support), this will be a daunting task indeed.
> > >
> > > And.. optimizing everything and creating countless remapping tables
for
> > > geometry/texture/materials will take a lot of time, too, and must -
> MUST -
> > > be planned for from the beginning.
> > >
> > > Good luck, and if you need any help, feel free to email me.
> > >
> > > >From: Chad Zalkin <[EMAIL PROTECTED]>
> > > >Reply-To: Discussion list for Java 3D API
> <[EMAIL PROTECTED]>
> > > >To: [EMAIL PROTECTED]
> > > >Subject: [JAVA3D] Animation
> > > >Date: Mon, 22 Apr 2002 14:46:32 -0600
> > > >
> > > >What is the best way to do Character animation?  I will have a
> potential
> > > >for a large (could be 20 or 30 or more) number of characters on the
> > screen
> > > >at any given time, all animated.  (I am willing to LOD the characters
> as
> > > >more than 10 or so come on screen if I need to, but I hope I can void
> > that
> > > >and have good performance).
> > > >
> > > >I will have fully animated characters (exported from 3d studio max as
> 3ds
> > > >files or my own format).  Many characters will be based from the same
> > model
> > > >(identical or almost identical... model color changed, texture
changed,
> > or
> > > >extra models added to the same Branch/TransformGroup to appear as
> > clothing
> > > >or items held)
> > > >
> > > >
> > > >I see three options here:
> > > >1) Create each frame as a separate model and use switch groups.  (Too
> > much
> > > >memory required)
> > > >2) Create each frame as  separate point and texture coord arrays and
> call
> > > >setCoordinates() and setTextureCordinates() every frame (same memory
> > > >concern?  Speed?  Sharing issues?)
> > > >3) Create some mathematical formula for positionals (IK/Bones/some
cool
> > > >parametric placement function, keyframing).. (again speed issues?
And
> > > >again, could this be a sharing issue or will cloning techniques fix
> > that?)
> > > >
> > > >When I export the characters from MAX, I don't plan on reading
> animation
> > in
> > > >from the file, if I need to change point arrays, I plan on creating
my
> > own
> > > >format to hold the frames. If I need to do a switch group, I plan on
> > > >loading a series of max files (and optimising!!).   Am I looking in
the
> > > >wrong direction?
> > > >
> > > >Anyone have any insight into the issue?
> > > >Thanks a lot
> > > >Chad Zalkin
> > > >
> > >
> >
>
>===========================================================================
> > > >To unsubscribe, send email to [EMAIL PROTECTED] and include in
the
> > body
> > > >of the message "signoff JAVA3D-INTEREST".  For general help, send
email
> > to
> > > >[EMAIL PROTECTED] and include in the body of the message "help".
> > >
> > >
> > >
> > >
> > > ------------------------
> > >
> > > Chris Forrester
> > >
> > > http://www.geocities.com/Psionic81
> > >
> > >
> > > _________________________________________________________________
> > > Get your FREE download of MSN Explorer at
> > http://explorer.msn.com/intl.asp.
> > >
> > >
> >
>
===========================================================================
> > > To unsubscribe, send email to [EMAIL PROTECTED] and include in the
> > body
> > > of the message "signoff JAVA3D-INTEREST".  For general help, send
email
> to
> > > [EMAIL PROTECTED] and include in the body of the message "help".
> >
> >
>
===========================================================================
> > To unsubscribe, send email to [EMAIL PROTECTED] and include in the
> body
> > of the message "signoff JAVA3D-INTEREST".  For general help, send email
to
> > [EMAIL PROTECTED] and include in the body of the message "help".
> >
>
>
===========================================================================
> To unsubscribe, send email to [EMAIL PROTECTED] and include in the
body
> of the message "signoff JAVA3D-INTEREST".  For general help, send email to
> [EMAIL PROTECTED] and include in the body of the message "help".

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to