User Tools

Site Tools


gamedev:deigde:editors:animator

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
gamedev:deigde:editors:animator [2019/05/24 23:43] – ↷ Links adapted because of a move operation dragonlordgamedev:deigde:editors:animator [2020/03/29 15:33] dragonlord
Line 1: Line 1:
-{{tag>deigde editor animator}}+{{tag>igde editor animator}}
 <WRAP youarehere> <WRAP youarehere>
 [[:start|Start Page]] >> [[:gamedev|Game Development with the Drag[en]gine]] >> [[gamedev:deigde|Drag[en]gine Integrated Game Development Environment]] >> **Animator Editor** [[:start|Start Page]] >> [[:gamedev|Game Development with the Drag[en]gine]] >> [[gamedev:deigde|Drag[en]gine Integrated Game Development Environment]] >> **Animator Editor**
Line 5: Line 5:
  
 ====== IGDE Animator Editor ====== ====== IGDE Animator Editor ======
-The animator editor allows to create [[gamedev:animators|Animators and Animations]] for your game.+The animator editor allows to create [[gamedev:animators|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. 
 + 
 +{{ :gamedev:deigde:editors:editor_animator.jpg?direct&400 |Editor preview image}} 
 + 
 +The editor window composes of the preview area and the properties panel on the left side. 
 + 
 +====== Controllers ====== 
 + 
 +{{:gamedev:deigde:editors:editor_animator_controllers.jpg?nolink |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. 
 +<WRAP center round info 60%> 
 +For rules expecting a **rotational input** the vector is supposed to contain **Euler rotation angles** around the X, Y and Z axis in **degrees**. 
 +</WRAP> 
 + 
 +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 ====== 
 + 
 +{{:gamedev:deigde:editors:editor_animator_links.jpg?nolink |}} 
 + 
 +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 [[gamedev:deigde:editors:widgetbeziercurve|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 ===== ===== Preview Video =====
 https://youtu.be/E9oQP88cC_Q https://youtu.be/E9oQP88cC_Q
gamedev/deigde/editors/animator.txt · Last modified: 2024/04/01 15:48 by dragonlord