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".