- Home /
Animation from 3dsMax to Unity
This should be an easy one right?
Anyone know of a simple step by step example of how to animate something in 3d Studio Max (2010) and get it into Unity? I have tried messing with FBX all day and no luck. I thought this would be a bit easier than it is. I must be missing something simple. Thanks in advance.
Troy
Answer by alexnode · Apr 06, 2010 at 08:59 AM
You cannot use modifiers because unity (together with all the other game engines) doesn't have all these space warps and parametric animation tools in order to understand ...what bend and twist and ripple 90 degrees in x axis means.
If you want to do vertex animation you should do it through bones, even if it is a flag. Three flat bones controlling your flag, skin modifier, collapse the trajectories of the bones from the motion panel in max before saving. By using bones unity will understand that you are doing vertex animation.
Direct vertex animation will be a very welcomed new feature but as far as I am aware it is not announced yet. forum
If you have a problem with exporting a simple motion like moving, rotating or scaling an object then could you please explain a bit more what is happening ?
If you are using paths to animate, collapse the trajectories to keyframes from the motion panel.
check this script for morphing targets http://forum.unity3d.com/viewtopic.php?t=16425
Alright, I got the bone animation to work. I created a simple box column, added bones and skin. Animated it, collapsed it, and baked the animation out as an FBX. It imported and played correctly. I guess I just need to master that style of animation now :)
Thank you so much guys, I greatly appreciate all the quick responses.
Troy
it's a bit of a pain, but it works. Hope there will be an option soon to do it without bones.
Remember (for anyone checking this out) that cloths and anything "dynamically" animated should be done inside of Unity. The only things that should be exported from 3Ds $$anonymous$$ax are the following : - $$anonymous$$eshes (3D objects) - If necessary, collisions meshes - $$anonymous$$aterial IDs (can be standard, but also submaterials with standards type of material linked to it) - Armature (Can be made of simple bones or a CatRig) - $$anonymous$$eyframed animation for the armature and/or models. (For example, you can set the point of origin of a door inside of 3Ds and do the opening keyframed animation inside of 3ds without any bones as long as you can animate each component as separate objects.)
The ONLY modifier that should be kept upon exporting the FBX is the Skin modifier! Ideally, even before adding a skin modifier, you should apply a Reset XForm (on the mesh) and collapse it and, only then, apply the skin and so on. Otherwise, you're at risk of having quite some problems if any kind of $$anonymous$$or position or transformation weren't integrated to the mesh once the FBX is imported into Unity.
Currently, only Blender offer a compatible way of handling vertex animations as its modifiers are actually made in a way that even Unity can understand. (The reason why $$anonymous$$aya and 3Ds max vertex animation doesn't work is due to Autodesk trying to be "out of the norm" and so their modifiers is a pain in the butt to make compatible with 3D systems like Unity)
Answer by user-1972 (google) · Apr 06, 2010 at 03:55 AM
This is not an isolated incident Troy, I am having the exact same problem, and to verify that it is NOT me I made an EXTREMELY simple flag waving animation and have been trying to get that working for about a week now. I have attempted exports from max with every possible FBX exporter, I tried saving the .max file directly, I even went and stole Lerpz from the platform demo and attempted to get HIM to animate with the demo animations set up exactly like they are in the demo! NO LUCK. Yes, the documentation is horrible. But it seems to be a general trend with every single game engine that I have evaluated in the last few months. I find that I get more usable information from youtube videos than the actual creators of the software. I guess it is possible that this issue is a version problem and that there is just something really different about MAX 2010 that makes it not work right.
I am on my last straw, and if I can't solve this issue soon it's probably gonna be off to NeoAxis land for me.
Answer by runevision · Apr 06, 2010 at 08:59 AM
Unity only supports skeletal animation, that is, animation using bones. If you are talking about other types of animation (animating vertices or similar) that won't work.
Answer by user-1972 (google) · Apr 06, 2010 at 05:47 PM
Well that certainly clears things up a bit guys thanks. So here's what I suggest, in the documentation that everyone likes to reference and send people to, ie: as above - http://unity3d.com/support/documentation/Manual/HOWTO-ImportObjectMax.html, please change the line number 4 under the first heading topic, or alternatively, simply REMOVE it. As it reads now it appears that UNITY DOES import basic animations, AND bone based animations.
This helps a lot, thanks.
Don
Well Unity does support keyframe animations, which I would call "basic", AND bone animations. I haven't tried importing modifiers myself, but I got the impression early on that they didn't work. You're right though, it should be clearer in the Docs.
$$anonymous$$aybe keyframes for basic movements, but not subelement keyframed animations like vertices. The bones work pretty well though...my project is rocking and rolling now!
Same here troy, I placed a bone on either side of the flags and they work perfectly now.
I agree it will have been better if these things were somewhere in the manual.
Answer by Peter G · Apr 05, 2010 at 11:29 PM
Check this page. Unity Manual on importing max files
Yeah, it doesn't really get me there. I see the animation file, but can't get it to work. Need something a bit more clear or exact.
Thanks!
Ok, so what specific part does not work? It sounds like you have the model and the animation. If so just drag it into the animation component, set it to the default and hit PlayAutomatically.
Yes, I know how it should work, but no luck. Both fbx and max files do not play. Do I need to prep the animation in some way? Why don't they document this stuff better!?
Thanks George, I appreciate your patience.
No problem, did you use bone based animation, and someone else had a similar problem and did not have the latest FBX exporter? Do either ideas help.