This reference page is linked to from the following overview topics: List of Python Fbx classes.
#include <fbxskin.h>
Skin deformer class.
A skin deformer contains clusters (FbxCluster). Each cluster acts on a subset of the geometry's control points, with different weights. For example, a mesh of humanoid shape can have a skin attached, that describes the way the humanoid mesh is deformed by bones. When the bones are animated, the clusters act on the geometry to animate it too.
The corresponding deformer types are FbxDeformer::eSkin.
Public Types |
|
| enum | EType { eRigid, eLinear, eDualQuaternion, eBlend } |
| Skinning type. More... |
|
Public Member Functions |
|
| void | SetDeformAccuracy (double pDeformAccuracy) |
| Set deformation accuracy. |
|
| double | GetDeformAccuracy () const |
| Get deformation accuracy. |
|
| bool | SetGeometry (FbxGeometry *pGeometry) |
| Set the geometry affected by this skin
deformer. |
|
| FbxGeometry * | GetGeometry () |
| Get the geometry affected by this skin
deformer. |
|
| bool | AddCluster (FbxCluster *pCluster) |
| Add a cluster. |
|
| FbxCluster * | RemoveCluster (FbxCluster *pCluster) |
| Remove cluster at given index. |
|
| int | GetClusterCount () const |
| Get the number of clusters. |
|
| FbxCluster * | GetCluster (int pIndex) |
| Get cluster at given index. |
|
| const FbxCluster * | GetCluster (int pIndex) const |
| Get cluster at given index. |
|
| EDeformerType | GetDeformerType () const |
| Get the type of the deformer. |
|
| void | SetSkinningType (EType pType) |
| Set the skinning type. |
|
| EType | GetSkinningType () const |
| Get the skinning type. |
|
Control Points |
|
|
A skin has an array of indices to control points and associated blend weights. The indices refer to the control points in the instance of class FbxGeometry. The blend weights are the influence of the different skinning type over the deformation effect of the indexed control points. |
|
| void | AddControlPointIndex (int pIndex, double pBlendWeight=0) |
| Add an element in both arrays of control
point indices and blendWeights. |
|
| int | GetControlPointIndicesCount () const |
| Get the length of the arrays of control
point indices and blend weights. |
|
| int * | GetControlPointIndices () const |
| Get the array of control point indices.
|
|
| double * | GetControlPointBlendWeights () const |
| Get the array of control point blend
weights. |
|
| void | SetControlPointIWCount (int pCount) |
| Set the array size for the three arrays: the
array of control point indices, the array of weights and the array
of blend weights. |
|
| enum EType |
Skinning type.
The skinning type decides which method will be used to do the skinning.
Definition at line 106 of file fbxskin.h.
{
eRigid,
eLinear,
eDualQuaternion,
eBlend
};
| void SetDeformAccuracy | ( | double | pDeformAccuracy | ) |
Set deformation accuracy.
| pDeformAccuracy | value for deformation accuracy. |
| double GetDeformAccuracy | ( | ) | const |
| bool SetGeometry | ( | FbxGeometry * | pGeometry | ) |
Set the geometry affected by this skin deformer.
| pGeometry | Pointer to the geometry object to set. |
true on success, false
otherwise.| FbxGeometry* GetGeometry | ( | ) |
Get the geometry affected by this skin deformer.
| bool AddCluster | ( | FbxCluster * | pCluster | ) |
Add a cluster.
| pCluster | Pointer to the cluster object to add. |
true on success, false
otherwise.| FbxCluster* RemoveCluster | ( | FbxCluster * | pCluster | ) |
Remove cluster at given index.
| pCluster | Pointer to the cluster to remove from this skin deformer. |
NULL if pCluster is not
owned by this skin deformer.| int GetClusterCount | ( | ) | const |
Get the number of clusters.
| FbxCluster* GetCluster | ( | int | pIndex | ) |
Get cluster at given index.
| pIndex | Index of cluster. |
NULL if index is out of
range.| const FbxCluster* GetCluster | ( | int | pIndex | ) | const |
Get cluster at given index.
| pIndex | Index of cluster. |
NULL if index is out of
range.| EDeformerType GetDeformerType | ( | ) | const [inline, virtual] |
Get the type of the deformer.
Reimplemented from FbxDeformer.
Definition at line 97 of file fbxskin.h.
{return eSkin; };
| void SetSkinningType | ( | EType | pType | ) |
| EType GetSkinningType | ( | ) | const |
| void AddControlPointIndex | ( | int | pIndex, |
| double | pBlendWeight =
0 |
||
| ) |
Add an element in both arrays of control point indices and blendWeights.
| pIndex | The index of the control point. |
| pBlendWeight | The blend weight for this control point. The value should between 0 and 1. Any value that is less than 0 will be set to 0, any value that is greater than 1 will be set to 1. 0 means completely linear skinning, 1 means completely dual quaternion skinning, a value between 0 and 1 means the weighted blending of the above two skinning methods. |
| int GetControlPointIndicesCount | ( | ) | const |
Get the length of the arrays of control point indices and blend weights.
| int* GetControlPointIndices | ( | ) | const |
Get the array of control point indices.
NULL if no control point indices have been added or
the array has been reset.| double* GetControlPointBlendWeights | ( | ) | const |
Get the array of control point blend weights.
NULL if no control point indices have been added or
the array has been reset.| void SetControlPointIWCount | ( | int | pCount | ) |
Set the array size for the three arrays: the array of control point indices, the array of weights and the array of blend weights.
| pCount | The new count. |