Browse Source

add blender-exporter doc for mesh, skeleton and animation (#1543)

* fix rst attention box

* add exporter doc for mesh skeleton
Lu Jiacheng 7 years ago
parent
commit
6369ae5927

+ 41 - 0
getting_started/workflow/assets/escn_exporter/animation.rst

@@ -0,0 +1,41 @@
+Animation
+=========
+
+Supported Animation
+-------------------
+ - transform animation of all types of object
+ - transform animation of pose bone
+
+Action Lib
+----------
+Every action in object's nla tracks would be exported as
+a separate track and placed in AnimationPlayer.
+
+Placing of AnimationPlayer
+---------------------------
+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.
+
+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
+
+In the following case, animation data of Mesh is also exported to
+AnimationPlayer "RigAnimation"
+
+.. image:: img/animation_non_sep.jpg
+
+
+.. 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.
+
+In the following case, Mesh and Rig have their own AnimationPlayer
+
+.. image:: img/animation_sep.jpg

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/armature.jpg


+ 3 - 0
getting_started/workflow/assets/escn_exporter/index.rst

@@ -10,6 +10,9 @@ Details on exporting
    material
    physics
    lights
+   mesh
+   skeleton
+   animation
 
 
 Disabling specific objects

+ 23 - 0
getting_started/workflow/assets/escn_exporter/mesh.rst

@@ -0,0 +1,23 @@
+Mesh
+====
+
+Modifiers
+---------
+There is an exporting option :code:`Apply Modifiers` to
+control whether mesh modifiers are applied to the exported mesh. 
+
+
+Shape Key
+---------
+Exporting mesh shape key is supported, however exporting each shape key
+is almost like exporting the mesh again, so don't be surprisied
+it takes a relatively long time.
+
+.. warning::
+    A lot of modifiers are not compatible with shape keys
+    (e.g. subsurface modifier), so if you found you have
+    incorrect shape keys exported, try to disable :code:`Apply Modifiers`
+    and do the exporting again. Besides, it is worthwhile to report the
+    incompatible modifier to the `issue list
+    <https://github.com/godotengine/godot-blender-exporter/issues>`__,
+    which helps to develop the exporter to have a more precise check of modifiers.

+ 1 - 1
getting_started/workflow/assets/escn_exporter/physics.rst

@@ -37,7 +37,7 @@ There are the following caveats:
    collision mask is equal to it's collision group. Most of the time, this is
    what you want.
 
-.. important
+.. important::
 	To build compound physics shapes, parent together multiple objects with
 	rigid body enabled. The physics properties are taken from the parent-most
 	rigid body, and the rest are used as collision shapes.

+ 37 - 0
getting_started/workflow/assets/escn_exporter/skeleton.rst

@@ -0,0 +1,37 @@
+Skeleton
+========
+
+.. image:: img/armature.jpg
+
+Rest Bone
+---------
+
+Armature object in Blender is exported as a Skeleton node along with
+rest position (transform in Godot) of bones. 
+
+.. warning:: 
+    The three check boxes :code:`Inheirt Rotation`, :code:`Inheirt Scale`,
+    :code:`Local Location` (colored in red) must be ticked when building
+    armature in Blender, so that the exported bone transform would be
+    consistant between Blender and Godot
+
+Bone Weights
+------------
+
+Blender put rigged mesh vertices which has no bone weights at its original
+position, but these vertices would be placed at (0, 0, 0) in Godot, which making the mesh
+deformed. Therefore, the exporter would raise an error for any no bone weights vertex
+detected in a rigged mesh.
+
+Non-Deform Bone
+---------------
+
+Note that the non-deform bone can be configured as not exported
+by enable the :code:`Exclude Control Bones`, the deform bone
+checkbox is shown in picture.
+
+
+Bone Attachment
+---------------
+Bone can be parent of object in Blender, this relation is exported
+as a BoneAttachment node in the Godot scene.