Hey everyone

So I've been doing a lot of digging trying to figure out how to get Animations 
over from 3ds Max to OSG.  I have 3 models in my 3ds max scene.  

I use a timeline to seperate 2 animations.  I have also saved the animations in 
3ds max using: Animations->Save Animation.  It saves it as a special XML 
format: .xaf file it appears.  

As far as I can tell there is not a simple way.  I can export the file directly 
to osg or osgb format using the exporter I have installed in 3ds Max using this 
plug in:

http://sourceforge.net/projects/osgmaxexp/

However, when I run this and gather the animation list from the file I get 
nothing:


Code:
osgAnimation::BasicAnimationManager * manager = 
dynamic_cast<osgAnimation::BasicAnimationManager*>(node->getUpdateCallback());
        if (!manager)
        {
                std::string exit;
                std::cout << "No animations" << std::endl;
                std::cin >> exit;
                return 1;
        }

        const osgAnimation::AnimationList& animations = 
manager->getAnimationList();

        for (unsigned int i = 0 ; i < animations.size(); i++)
        {
                const std::string& name = animations[i]->getName();
                manager->playAnimation(animations[i].get());
                std::cout << name << std::endl;
        }




Ok, so apparently the .3ds max plug in does not support exporting my animations 
properly.  

My next step was to try and just load the .3ds file.  But again, none of my 
animations are showing up.  

Then I read up on osgconv.  I converted my .max files to osg, obj and tried 
those... with no luck.  I still get no animations read from getAnimationList(). 

After that I tried exporting to .fbx format.  That originally didn't work.  I 
had to do a lot more reading.  After collapsing all of my auto key animations 
into single key frames under Motion->Trajectories AND: when exporting to .FBX 
from 3DS Max Under ->Animation->Bake Animation  I give the range of my 
animation timeline, I was then able to see an animation being played on screen. 

Now the problem is it plays the first animation and then the second.  I have no 
way of splitting the two animations.  The output in my console from cout << 
name was "take001".

I did some more reading and found someone who had written a script 
http://forum.openscenegraph.org//files/anisplit_138.cpp that looks like he 
specifically coded it to the fellows animation.   So I would have to go in and 
edit my own XML file to do this. 

Finally I also read that OSG supports Blender animations.  This is great, but I 
have already done all my work in 3DS max and am not familiar with Blender.  

Is this really the only way to get animations out of 3DS MAX?  Am I missing 
some plug in or steps? 

Aside from this the only other solution I see is exporting a different .fbx 
model for each one of the animations I want to create.  Cumbersome :p

If I wanted to have several states of animations in my models, such as for a 
character or hands..... how would I even be able to manage this working in 
3DStudio Max?

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=61633#61633





_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to