This shows you the differences between two versions of the page.
modeleditor:skeleton [2014-05-08 17:48] 127.0.0.1 external edit |
modeleditor:skeleton [2016-06-21 11:34] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Skeleton ====== | ||
- | |||
- | The skeleton forms the basis of a model. | ||
- | Technically, it is built from a hierarchy of "coordinate systems": | ||
- | Starting at the root, each coordinate system is defined in the coordinate system of its parent. | ||
- | Model artists use these coordinate systems to fix the points (weights and vertices) that eventually form the meshes of the model. | ||
- | |||
- | {{ http://www.cafu.de/images/phocagallery/cawe-model-editor/model-editor-6.png?252}} | ||
- | If we compare the skeleton of a model to the skeleton of the human body, the "coordinate systems" closely correspond to "joints": the coordinate origin is in the center of the joint, and the coordinate axes correspond to the bones that extend from the joint. | ||
- | In this analogy, a "bone" is the line segment between a coordinate origin and the coordinate origin of its parent system. | ||
- | |||
- | You can inspect the skeleton in 3D view in the [[:modeleditor:scenesetup]]: | ||
- | * set **Show Mesh** to "no" | ||
- | * set **Show Skeleton** to "yes" | ||
- | |||
- | |||
- | ===== The joints hierarchy ===== | ||
- | |||
- | {{ :modeleditor:joints-hierarchy.png?|}} | ||
- | The **Skeleton / Joints Hierarchy** pane shows all the joints in the skeleton, hierarchically arranged. Items in the hierarchy tree can be expanded or collapsed with the nearby symbols. | ||
- | |||
- | A single click on a joint selects it, a double click opens the **Joint Inspector** pane as well. | ||
- | |||
- | Pressing the **F2** key or a single-click on an already selected joint allows you to rename the joint in place. | ||
- | <clear> | ||
- | |||
- | |||
- | ==== Context menu ==== | ||
- | |||
- | {{ :modeleditor:joints-hierarchy-context-menu.png?|}} | ||
- | An RMB click in the **Skeleton / Joints Hierarchy** pane opens the context menu: | ||
- | * **Inspect/Edit** opens the **Joint Inspector** pane, | ||
- | * **Rename** allows to rename the joint, | ||
- | * **Expand all** expands all items in the joints hierarchy tree. | ||
- | <clear> | ||
- | |||
- | |||
- | ===== The joint inspector ===== | ||
- | |||
- | {{ :modeleditor:joint-inspector.png?|}} | ||
- | The **Joint Inspector** pane shows the details of the currently selected joint. | ||
- | |||
- | ==== General ==== | ||
- | |||
- | The General section shows the name of the joint (it's another option to rename it), | ||
- | and the index number of the parent joint. | ||
- | |||
- | The parent index number is a technical detail that cannot be changed. | ||
- | You need it only if you [[:modeleditor:modelfiles#cmdl_model_files|edit the model file]] in a text editor or work with the Cafu [[http://docs.cafu.de/c++/classCafuModelT.html|model C++ data structures]]. | ||
- | |||
- | ==== Bind pose ==== | ||
- | |||
- | This section shows the position, orientation and scale of the joint (i.e., the coordinate system). | ||
- | |||
- | Note that the details presented here only affect the //bind pose// of the model. The //bind pose// is the default pose of the model: it is used whenever no animation sequences are loaded or none are actively used. | ||
- | |||
- | That is, the **Joint Inspector** is great for manipulating __the individual bones of static models__. | ||
- | |||
- | It is however useless for animated models, because technically, each animation sequence brings its own set of (animated) joints that cannot be manipulated individually. If you want to do that, refer to [[:modeleditor:transform]] instead. | ||
- | |||
- | The currently selected joint of the bind pose is described by these parameters: | ||
- | |||
- | * **Pos** defines the position of the coordinate origin relative to the parent system. | ||
- | * **Qtr** defines the first three values of the quaternion that describes the orientation of the coordinate system. You should //not// attempt to manipulate these values if you don't know what quaternions are and why it only shows three instead of four values. | ||
- | * **Scale** expresses the scale (or relative length) of the three coordinate axes. | ||
- | <clear> | ||