SplineIK3D
A SkeletonModifier3D for aligning bones along a Path3D.
A SkeletonModifier3D for aligning bones along a Path3D.
A SkeletonModifier3D for aligning bones along a Path3D. The smoothness of the fitting depends on the Curve3D.BakeInterval.
If you want the Path3D to attach to a specific bone, it is recommended to place a ModifierBoneTarget3D before the SplineIK3D in the SkeletonModifier3D list (children of the Skeleton3D), and then place a Path3D as the ModifierBoneTarget3D's child.
Bone twist is determined based on the Curve3D.GetPointTilt.
If the root bone joint and the start point of the Curve3D are separated, it assumes that there is a linear line segment between them. This means that the vector pointing toward the start point of the Curve3D takes precedence over the shortest intersection point along the Curve3D.
If the end bone joint exceeds the path length, it is bent as close as possible to the end point of the Curve3D.
Note: All the methods in this class take an index parameter. This parameter specifies which setting list entry to return if the IK has multiple entries (e.g. settings/<index>/root_bone_name).
Declarations checked against C# SDK 1.0.0. Expand a name to see declarations and documentation.
Constructors1
SplineIK3DConstructor
public SplineIK3D();Properties1
SettingCountProperty
public int SettingCount { get; set; }The number of settings.
Methods8
GetPath3DEntityPath
public EntityPath GetPath3D(int index);Returns the node path of the Path3D which is describing the path.
| Name | Type | Default |
|---|---|---|
index | int | — |
EntityPathGetTiltFadeInint
public int GetTiltFadeIn(int index);Returns the tilt interpolation method used between the root bone and the start point of the Curve3D when they are apart. See also SplineIK3D.SetTiltFadeIn.
| Name | Type | Default |
|---|---|---|
index | int | — |
intGetTiltFadeOutint
public int GetTiltFadeOut(int index);Returns the tilt interpolation method used between the end bone and the end point of the Curve3D when they are apart. See also SplineIK3D.SetTiltFadeOut.
| Name | Type | Default |
|---|---|---|
index | int | — |
intIsTiltEnabledbool
public bool IsTiltEnabled(int index);Returns if the tilt property of the Curve3D affects the bone twist.
| Name | Type | Default |
|---|---|---|
index | int | — |
boolSetPath3Dvoid
public void SetPath3D(int index, EntityPath path3D);Sets the node path of the Path3D which is describing the path.
| Name | Type | Default |
|---|---|---|
index | int | — |
path3D | EntityPath | — |
SetTiltEnabledvoid
public void SetTiltEnabled(int index, bool enabled);Sets if the tilt property of the Curve3D should affect the bone twist.
| Name | Type | Default |
|---|---|---|
index | int | — |
enabled | bool | — |
SetTiltFadeInvoid
public void SetTiltFadeIn(int index, int size);If size is greater than 0, the tilt is interpolated between size start bones from the start point of the Curve3D when they are apart.
If size is equal 0, the tilts between the root bone head and the start point of the Curve3D are unified with a tilt of the start point of the Curve3D.
If size is less than 0, the tilts between the root bone and the start point of the Curve3D are 0.0.
| Name | Type | Default |
|---|---|---|
index | int | — |
size | int | — |
SetTiltFadeOutvoid
public void SetTiltFadeOut(int index, int size);If size is greater than 0, the tilt is interpolated between size end bones from the end point of the Curve3D when they are apart.
If size is equal 0, the tilts between the end bone tail and the end point of the Curve3D are unified with a tilt of the end point of the Curve3D.
If size is less than 0, the tilts between the end bone and the end point of the Curve3D are 0.0.
| Name | Type | Default |
|---|---|---|
index | int | — |
size | int | — |