When creating animations, you should be very careful what you do with the FloorRef. When walking or running, the character should stay at a constant height from the FloorRef object. When jumping, the Character should increase it’s distance from the FloorRef object to give the appearance of translation away from the floor. Characters should ALSO have a “stationary root” that only moves relative to the floor reference (e.g. for walking, jumping etc.) but that does not move constantly (i.e. in an idle animation the root should not move). This is very important if you wish to use your Characters with the Virtools Mulituser Pack, or the dead reckoning algorithm used for predicting distributed objects will not work correctly.

In short: Make sure the (stationary) root element does not move at all when the character is in its default (’wait’ or ‘idle’) animation. For other animations make sure the root moves a minimum; in a walk animation along the Z axis for example, make sure that the root moves along the Z axis only - there should be no movement on the X or Y axes. Note: Ensure the animations you create are ‘real’ in the sense that the Character actually performs them and does not ‘pretend’ to perform them - e.g. for a walk animation you should ensure that your character actually moves (translates) in your modeling application, and does not perform the animation in situ (”on the spot” or “in place”).

Download Virtools Character Animation Tutorial