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
gamedev:deigde:editors:animator [2020/03/30 00:36] dragonlordgamedev:deigde:editors:animator [2024/04/01 15:48] (current) – [Rules] dragonlord
Line 5: Line 5:
  
 ====== IGDE Animator Editor ====== ====== IGDE Animator Editor ======
-The animator editor allows to create [[gamedev:animators|Animators and Animations]] for your game. Animators compose of: +The animator editor allows to edit [[gamedev:animators|Animators and Animations]] for your game. 
-  * Rig +
-  * Animation +
-  * Controllers +
-  * Links +
-  * Rules+
  
-{{ :gamedev:deigde:editors:editor_animator.jpg?direct&400 |Editor preview image}}+Animators are composed of a //Rig// and //Animation// resource, controllers to influence the animation dynamically and rules for producing the animation.
  
-The editor window composes of the preview area and the properties panel on the left side.+<WRAP group> 
 +<WRAP column> 
 +{{:gamedev:deigde:editors:editor_animator.jpg?direct&400|Editor preview image}} 
 +</WRAP> 
 +<WRAP column> 
 +{{youtube>E9oQP88cC_Q?medium}} 
 +</WRAP> 
 +</WRAP> 
 + 
 +The editor window is divided in the preview area and the properties panel on the left side. 
 + 
 +====== Preview Window ====== 
 + 
 +The preview window shows the preview of the animator. See [[gamedev:deigde:editors:3dviewnavigation|3D-View Navigation]] for how to navigate the view. To see the animation you have to assign a **Model Resource** and **Skin Resource** in the view panel. Alternatively you can switch on bones display mode in the **Edit** menu. 
 + 
 +In addition to the regular 3d-view navigation you can activate **Locomotion Testing** by pressing <key>CTRL+l</key>. With locomotion testing activated the keyboard and mouse are captured by the animator editor similar to a game situation. The mouse input simulates looking up-down/left-right. The keyboard controls simulate actor movement with the following bindings: 
 +  * <key>w</key>: Move forward 
 +  * <key>s</key>: Move backwards 
 +  * <key>a</key>: Move/Strafe left 
 +  * <key>f</key>: Move/Strafe right 
 +  * <key>q</key>: Toggle crouching 
 +  * <key>e</key>: Toggle running 
 +  * <key>ESC</key>: Exit locomotion testing mode 
 + 
 +If the playground panel is active you can easily verify how the controller values change and what the animator is doing. 
 + 
 +Optionally the **Wakeboarding** mode by pressing <key>CTRL+w</key>. With wakeboarding testing activated the keyboard and mouse are captured by the animator editor to test animator reaction to changing ground shape. This is typically used for animators supposed to align actor legs and feet with the ground. In this mode a plane is placed underneath the animator. The mouse left-right/up-down movement tilt this plane. These keyboard bindings are supported in this mode: 
 +  * <key>ESC</key>: Exit wakeboarding mode 
 + 
 +Only one of these two testing modes can be active at the same time. 
 +<WRAP clear/>
  
 ====== Animator ====== ====== Animator ======
  
-{{:gamedev:deigde:editors:editor_animator_animator.jpg?nolink |}}+{{ :gamedev:deigde:editors:editor_animator_animator.jpg?nolink|Animation panel}} 
 + 
 +Defines the **Rig** and **Animation** resource to use for the animator. At least the rig resource is required to be present. The animation resource is not required if only procedural rules are used. 
 + 
 +The **Affected Bones** list defines names of bones affected by the animator. If the list is empty all bones are affected by the animator. This can be used to animators affecting individual body areas of actors, for example upper and lower body. 
 + 
 +<WRAP center round important 60%> 
 +Animators can only be used on **Component** resources using the same rig resource. If the rig resource is mismatching the animator has no effect. 
 +</WRAP> 
 + 
 +<WRAP center round info 60%> 
 +Automatic and manual retargeting of animations will be added in a future release. 
 +</WRAP> 
 +<WRAP clear/>
  
 ====== Controllers ====== ====== Controllers ======
  
-{{:gamedev:deigde:editors:editor_animator_controllers.jpg?nolink |Controller panel}}+{{ :gamedev:deigde:editors:editor_animator_controllers.png?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 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 life 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. 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.
Line 44: Line 82:
  
 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. 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.
 +<WRAP clear/>
  
 ====== Links ====== ====== Links ======
  
-{{:gamedev:deigde:editors:editor_animator_links.jpg?nolink |Links panel}}+{{ :gamedev:deigde:editors:editor_animator_links.png?nolink|Links panel}}
  
 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. 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.
Line 58: Line 97:
  
 The **Repeat** 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. The **Repeat** 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.
 +<WRAP clear/>
  
 ====== Rules ====== ====== Rules ======
  
-{{:gamedev:deigde:editors:editor_animator_rules.jpg?nolink |Rules panel}}+{{ :gamedev:deigde:editors:editor_animator_rules.png?nolink|Rules panel}}
  
 Rules define how the animation is produced. Rules are processed from top to bottom in the order they are specified. Rules can produce pre-canned animations or procedurally calculated animations. See [[gamedev:animators|Animators and Animations]] for a comprehensive explanation of rule types. Depending on the selected rule type the panel layout below is different. Rules define how the animation is produced. Rules are processed from top to bottom in the order they are specified. Rules can produce pre-canned animations or procedurally calculated animations. See [[gamedev:animators|Animators and Animations]] for a comprehensive explanation of rule types. Depending on the selected rule type the panel layout below is different.
Line 82: Line 122:
 <WRAP center round info 60%> <WRAP center round info 60%>
 If you use **Group** rules you have to make sure the list of affected bones of the group rule and all rules underneath are compatible. If the group rule has an affected bone which is not present in the children rules the default state is used which can be not what you intend. If you use **Group** rules you have to make sure the list of affected bones of the group rule and all rules underneath are compatible. If the group rule has an affected bone which is not present in the children rules the default state is used which can be not what you intend.
 +</WRAP>
 +
 +The **Affected Vertex Position Shape** panel is present for all rule types and contains an optional list of **Vertex Position Shape Names**. If the list is empty the rule affects all vertex position sets in the owner **Component**. If the list is not empty only vertex position sets matching the names listed are affected.
 +<WRAP center round info 60%>
 +If you use **Group** rules you have to make sure the list of affected vertex position sets of the group rule and all rules underneath are compatible. If the group rule has an affected vertex position set which is not present in the children rules the default state is used (0 weight) which can be not what you intend.
 </WRAP> </WRAP>
  
Line 87: Line 132:
  
 The last panel below changes according to the type of the selected rule. See [[gamedev:animators|Animators and Animations]] for an explanation of the parameters used. The last panel below changes according to the type of the selected rule. See [[gamedev:animators|Animators and Animations]] for an explanation of the parameters used.
 +<WRAP clear/>
  
 ====== Playground ====== ====== Playground ======
  
-{{:gamedev:deigde:editors:editor_animator_playground.jpg?nolink |Playground Panel}}+{{ :gamedev:deigde:editors:editor_animator_playground.png?nolink|Playground Panel}}
  
 The playground panel allows to quickly manipulate all controllers in a comprehensive list to test out the animation. Controllers which have a dynamic test attribute assigned can not be manipulated but their current state can be watched. The playground panel allows to quickly manipulate all controllers in a comprehensive list to test out the animation. Controllers which have a dynamic test attribute assigned can not be manipulated but their current state can be watched.
Line 105: Line 151:
  
 The **Visualization** panel allows to enable some debug shapes to visualize some parameters. The **Visualization** panel allows to enable some debug shapes to visualize some parameters.
-====== Preview Window ======+<WRAP clear/>
  
-The preview window shows the preview of the animator. See [[gamedev:deigde:editors:3dviewnavigation|3D-View Navigation]] for how to navigate the view. To see the animation you have to assign a **Model Resource** and **Skin Resource** in the view panel. Alternatively you can switch on bones display mode in the **Edit** menu.+====== View ======
  
-In addition to the regular 3d-view navigation you can activate **Locomotion Testing** by pressing <key>CTRL+l</key>. With locomotion testing activated the keyboard and mouse are captured by the animator editor similar to a game situation. The mouse input simulates looking up-down/left-right. The keyboard controls simulate actor movement with the following bindings: +{{ :gamedev:deigde:editors:editor_animator_view.png?nolink|View panel}}
-  * <key>w</key>Move forward +
-  * <key>s</key>Move backwards +
-  * <key>a</key>Move/Strafe left +
-  * <key>f</key>: Move/Strafe right +
-  * <key>q</key>: Toggle crouching +
-  * <key>e</key>: Toggle running +
-  * <key>ESC</key>: Exit locomotion testing mode+
  
-If the playground panel is active you can easily verify how the controller values change and what the animator is doing.+Preview and simulation parameters can be adjusted in this panel.
  
-Optionally the **Wakeboarding** mode by pressing <key>CTRL+w</key>With wakeboarding testing activated the keyboard and mouse are captured by the animator editor to test animator reaction to changing ground shapeThis is typically used for animators supposed to align actor legs and feet with the ground. In this mode plane is placed underneath the animator. The mouse left-right/up-down movement tilt this planeThese keyboard bindings are supported in this mode: +The **Display File Path** panel defines the **Model**, **Skin** and **Rig** resource to use to preview the animatorWithout these resources set you have to enable the bones preview in the edit menu to see the animation. Even with preview model visible the bones can be shown to help identify specific problems. 
-  <key>ESC</key>: Exit wakeboarding mode+ 
 +The **Testing Base Animator** panel allows to set another animator file as the base animation. If used the base animator is applied first then the animator currently being worked on. This allows to test overlay animations modifying other animations. This is used for example in **conversations** to animated **gestures** of actors. The controllers of the base animator are matched by name against the controllers of the edited animator controllers. The state of matching controllers are applied to the base animator before the base animator is applied. 
 + 
 +The **Sky** panel defines the **Sky** resource to use in the preview view. 
 + 
 +The **Environment Object** panel defines the **Object Class** to use as environment the animator is previewed in. If **Wakeboarding** is used it is recommended to hide the environment object to better see the wakeboard plane. 
 + 
 +The **Camera** panel shows the parameters of the camera in the preview view. The values can be manually edited. 
 + 
 +The **Camera Attaching** panel allows to attach the preview view camera to bones in the animator. This allows to test first-person type animators where the camera is attached to a bone responsible to provide first-person view animations. 
 + 
 +The **Playback** panel controls playback parameters. You can change the playback speed or pause the animation. While paused the animation time can be manually stepped forward and backward to examine problematic parts easier. 
 + 
 +The **Attachment** panel allows to attach **Object Classes**. This can be used to verify correct object placement as well as spotting clipping problems if objects are attached to an actor while the animator is used. Attachments can be either attached **statically**, attached to a **single bone** or **weight attached**. 
 + 
 +If attached **statically** the object is attached to the virtual preview actor. In this case no bone has to be specified. This is useful to examine animations relative to static prop, for example sitting down on a chair. 
 + 
 +If attached to a **single bone** the bone name has to be valid otherwise this behaves the same as static attachment. This attachment type is typically used for attaching weapons or devices to actor hands or attaching props to actor belts or his back. 
 + 
 +If **weight attached** is used the bones of the attached object are matched by name against the bones of the preview modelThis attachment type is typically used for attaching cloth to an actor which has to be animated the same way as the base model is animated. 
 + 
 +The **Attachment Object** panel defines what **Object Class** is used for the selected attachment as well as positional and rotational offset applied. Attachments can be individually hidden to allow switching between different objects. This can be used for example to check a sit down animation against different chair or bench types without needing to modify attachments all the time
 + 
 +The **Dynamic Collider** parameter enables physical simulation for an attachment. The object root bone is attached while all bones marked as dynamic are influenced by physics.
  
-Only one of these two testing modes can be active at the same time. 
  
-===== Preview Video ===== 
-https://youtu.be/E9oQP88cC_Q 
gamedev/deigde/editors/animator.1585528560.txt.gz · Last modified: 2020/03/30 00:36 by dragonlord