It happens quite often, that people come into the forum and ask why their character animations is working in 3ds max but not in Virtools DEV. There are some restrictions to consider and as many people hit them it shows another spot where Virtools is lacking to support to their users. They should offer plug-ins or scripts that verify those restrictions and give the correct feedback.
Anyways, here is some info out of my head:
The 3ds max scene must have only one root
This means:
- unhide everything unless you do an "export selected"
- open a schematic view in 3ds max
- verify that every object except one is linked to another ( = is the child of another object )
If you use CS and Physique, then link the mesh(es) with the physique modifier(s) to the biped (pelvis). If you use the Skin modifier you will unfortunally get a 'doubble translation' effect. My suggestion is to only link the Mesh for export but otherwise have it unlinked while you work your animations or skinning.
Very important: verify the hierarchy in the hierachy manager of 3ds max. It's the only (!) way to know if there is no problem with the hierarchy. It might be that you have one root in 3ds max but never the less an invalid hierarchy in Virtools. So check it there again !!! The result must be:
character -> character root node -> rest of hierachy
Nothing else is valid! If this ain't the case you probally will have problem, sooner or later.
Prevent sampling by using support controllers: bezier, linear and tcb
Check if you use supported controllers. Don't use 'Position XYZ' controllers and then bezier for each axis. It will be sampled. Turn on the logging level to 1 and export to see if sampling will happen or not.
If you use a 'floor ref' object, don't translate it's height during animation
As the name says it refers to the height of the floor. So if you move your character including the floor ref object up, it won't change anything. The biped will use the footsteps as floor reference. Otherwise you just name an object in the hierachy "FloorRef"
Two more little hints: don't mirror bones; don't use spline objects with more than one curve as dummies or handles.
Well, for now that's it. There are more details but I hope this helps.
Character Axis Alignment is defined by World Space in 3ds max
Maybe you wonder why your character in Virtools is sometimes looking along the Z axis or sometimes along -z etc. You may thought that the pivot of the Character-Root object is aligned differently, but that's not the cause. You need to align your character in world space . If you want him to look along Z then in 3ds max you need to go to the top view, and turn your character until it looks along the 3ds world Y axis (from the top view it looks to 'north').
Don't mirror bones
Mirroring in 3ds max usually needs a ResetXForm operation to prevent indirect matrices. Mirroring bones can lead to wrong orientation and flipped normals as result in Virtools. Some Rig-Builder scripts do mirroring - don't use them. There are some maxscript authors that figured out to mirror it in a differently way (parenting and rotating the bones instead), their scripts might be usebale. Indirect matrices in general are to be avoided for any geometries. Apply a reset XForm i.e. after mirroring but unlink your hierarchical connection first because under a specifique condition you will get ugly results.
Be careful with using splines as Rig-Handles
Some Rig-Builder scripts use spline objects to create custom gizmos/handles for the animator. In general such a spline-object consist of more than one curve and this is not exported by the Virtools exporter. Actually the whole object will be ignored and as result you get broken hierarchies and broken Character animations inside Virtools. the exporter will not warn you when this happens, so be careful.










