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 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.
 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