Browse Source

more guidence on godot_blender_exporter_animation

Jason0214 7 years ago
parent
commit
61c33b0b58

+ 65 - 25
getting_started/workflow/assets/escn_exporter/animation.rst

@@ -1,41 +1,81 @@
 Animation
 Animation
 =========
 =========
+Animation supported:
+ - transform animation of all types of objects
+ - transform animation of pose bones
+ - shape key animation
+ - light animation
+ - camera animation
 
 
-Supported Animation
--------------------
- - transform animation of all types of object
- - transform animation of pose bone
+Multiple Actions For Single Object 
+----------------------------------
+In most games, one objects would have serveral animations to switch between. 
+This addon have a support for exporting multiple actions all at once into
+a single AnimationPlayer and makes it easy to switch actions.
 
 
-Action Lib
-----------
-Every action in object's nla tracks would be exported as
-a separate track and placed in AnimationPlayer.
+This worksflow makes use of blender nla_tracks. Here is a brief guide of how
+to use this feature:
 
 
-Placing of AnimationPlayer
+**1. Switch workspace to 'Dope Sheet'**
+
+.. image:: img/dope_sheet.jpg
+
+**2. Stash the active action**
+
+the stashed action while not action would still be exported
+
+.. image:: img/stash_action.jpg
+
+**3. Check stashed actions in 'NLA Editor' [optional]**
+
+Switch workspace to 'NLA Editor'
+
+.. image:: img/nla_editor.jpg
+
+Make sure all stashed actions are muted
+
+.. image:: img/nla_strip.jpg
+
+**4. Export the scene**
+
+all the stashed action as well as the active action are exported
+to the an AnimationPlayer
+
+.. image:: img/in_godot.jpg
+
+
+Constraints
+-----------
+Sometimes complicated animation is built with object constraint, an usual
+example is inverse kinematics. The addon would automatically check if an
+object has some constraint, if it does, all the constraints are baked into
+every action the object has and then exported.
+
+
+Animation Mode
 ---------------------------
 ---------------------------
 Godot and Blender have different structure to store animation data.
 Godot and Blender have different structure to store animation data.
 In Godot animation data is stored in an AnimationPlayer node, instead
 In Godot animation data is stored in an AnimationPlayer node, instead
-of in each animated node.
+of in each animated node. In order to fix this inconsistence and still
+make the animation play versatile, this addon has three aimation exporting
+modes.
 
 
-The exporter has an option :code:`Separate AnimationPlayer For Each Object`
-which controls how the exported AnimationPlayers are placed.
 
 
-.. note::
-    If :code:`Separate AnimationPlayer For Each Object` is **disabled**
-    children of any animated object shares one AnimationPlayer
+**Mode 'Animation as Actions'**
 
 
-In the following case, animation data of Mesh is also exported to
-AnimationPlayer "RigAnimation"
+Treat all the animation as object actions, so in the exported scene, every
+object would have its own AnimationPlayer and hold its actions.
 
 
-.. image:: img/animation_non_sep.jpg
 
 
+**Mode 'Scene Animation'**
 
 
-.. note::
-    If :code:`Separate AnimationPlayer For Each Object` is **enabled**
-    every animated object got its own AnimationPlayer. It is useful when
-    artists want to play multiple animation concurrently, because one
-    AnimationPlayer node can only play one track at a time.
+If you want your animation generate same result as playing at Blender's
+timeline, this is what you want. In this mode, all the animation in the scene
+are placed in just one AnimationPlayer in the scene root.
 
 
-In the following case, Mesh and Rig have their own AnimationPlayer
+**Mode 'Animation as Action with Squash'**
 
 
-.. image:: img/animation_sep.jpg
+This mode has very similar behaviour of mode 'Animation as Action', but it
+can generate less AnimationPlayers, objects in parent-children relation would
+share their AnimationPlayer. It is useful when you have several rigs, and each
+Skeleton and Mesh has actions, then one rig would have just one AnimationPlayer.

BIN
getting_started/workflow/assets/escn_exporter/img/animation_non_sep.jpg


BIN
getting_started/workflow/assets/escn_exporter/img/animation_sep.jpg


BIN
getting_started/workflow/assets/escn_exporter/img/dope_sheet.jpg


BIN
getting_started/workflow/assets/escn_exporter/img/in_godot.jpg


BIN
getting_started/workflow/assets/escn_exporter/img/nla_editor.jpg


BIN
getting_started/workflow/assets/escn_exporter/img/nla_strip.jpg


BIN
getting_started/workflow/assets/escn_exporter/img/stash_action.jpg