User Tools

Site Tools


gamedev:deigde:editors:animator

This is an old revision of the document!


IGDE Animator Editor

The animator editor allows to create Animators and Animations for your game. Animators compose of:

  • A set of named Controllers.
  • A set of Links.
  • A set of Rules. They define how the animation is produced. Rules are processed from top to bottom in order. Rules can produce pre-canned animations or procedurally calculated animations.

Editor preview image

The editor window composes of the preview area and the properties panel on the left side.

Controllers

Controller Panel

Controllers are used by game programmers to adjust the animation. In general the artist defines the controller ranges but game programmers can overrule them to make their live easier. This does not interfere with the animation production process. The output of the controller is the Value linearly mapped from the range Minimum Value → Maximum Value to the range 0 → 1.

Controllers are typically accessed by the game developer using the unique Controller Name (case sensitive). This allows to mix and match different animators with differing controller setups (count, ordering and ranges) as long as the required names are present.

The controller list is an ordered list. For this reason controllers are shown with their index number too. Game developers can use this index number as an alternative to controller names.

Controllers can also provide vector values. This is typically required for animations requiring to target locations relative to the owner Component Resource coordinate frame. The Vector value allows to set the vector output by the controller for testing animations. The vector value is not processed by links but directly forwarded to rules. Therefore no mapping is applied to vectors.

For rules expecting a rotational input the vector is supposed to contain Euler rotation angles around the X, Y and Z axis in degrees.

The Set From Move button allows to set the controller range from a move in the loaded Animation Resource. Minimum value is set to 0. Maximum value is set to playtime of move in seconds.

The Reset button sets the controller value to the controller minimum value. This is useful for controllers updated by elapsed time to quickly rewind for preview purpose.

The Clamp value to range check box determines if the input value is clamped to the controller range or wraps around if going past the range.

The Freeze controller value is used only for preview purpose to stop a controller from updating its value dynamically.

The Locomotion Testing panel allows to set dynamic behavior to controllers for preview purpose only. The attribute simulates typical ways how games manipulate controller values to get an idea on how the animator will perform if used in the game.

Links

Links map controller values to rule target input values using bezier curves. The artist is in full control of links. This decouples controller ranges allowing game programmers to freely manipulate them as they need.

The curve input range is 0 → 1. The curve output range is also 0 → 1. Hence using a default linear curve forwards controller output values unmodified to rule target input values. See Bezier Curve Editor for usage.

Links have a unique <b>Name</b> used to identify them in rule targets. The link list is sorted alphabetically.

The <b>Controller value indicates which controller is used as input for the link. If no controller is assigned the link uses 0 as input value.

The <b>Repeat</b> value allows to repeat the curve multiple times. This is useful for jig-saw type curves which can not be done with a bezier or linear type curve. This is also useful for overlaid detail animations. There you can easily adjust their play speed relative to the main animation.

Preview Video

You could leave a comment if you were logged in.
gamedev/deigde/editors/animator.1585496030.txt.gz · Last modified: 2020/03/29 15:33 by dragonlord