Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

SplineIK3D

Hereda: ChainIK3D < IKModifier3D < SkeletonModifier3D < Node3D < Node < Object

A SkeletonModifier3D for aligning bones along a Path3D.

Descripción

A SkeletonModifier3D for aligning bones along a Path3D. The smoothness of the fitting depends on the Curve3D.bake_interval.

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.get_point_tilt().

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

Propiedades

int

setting_count

0

Métodos

NodePath

get_path_3d(index: int) const

int

get_tilt_fade_in(index: int) const

int

get_tilt_fade_out(index: int) const

bool

is_tilt_enabled(index: int) const

void

set_path_3d(index: int, path_3d: NodePath)

void

set_tilt_enabled(index: int, enabled: bool)

void

set_tilt_fade_in(index: int, size: int)

void

set_tilt_fade_out(index: int, size: int)


Descripciones de Propiedades

int setting_count = 0 🔗

  • void set_setting_count(value: int)

  • int get_setting_count()

El número de configuraciones.


Descripciones de Métodos

NodePath get_path_3d(index: int) const 🔗

Devuelve la ruta de nodo de la Path3D que describe la trayectoria.


int get_tilt_fade_in(index: int) const 🔗

Devuelve el método de interpolación de inclinación usado entre el hueso raíz y el punto de inicio de la Curve3D cuando están separados. Véase también set_tilt_fade_in().


int get_tilt_fade_out(index: int) const 🔗

Devuelve el método de interpolación de inclinación usado entre el hueso final y el punto final de la Curve3D cuando están separados. Véase también set_tilt_fade_out().


bool is_tilt_enabled(index: int) const 🔗

Devuelve si la propiedad de inclinación de la Curve3D afecta la torsión del hueso.


void set_path_3d(index: int, path_3d: NodePath) 🔗

Establece la ruta de nodo de la Path3D que describe la trayectoria.


void set_tilt_enabled(index: int, enabled: bool) 🔗

Establece si la propiedad de inclinación de la Curve3D debe afectar la torsión del hueso.


void set_tilt_fade_in(index: int, size: int) 🔗

Si size es mayor que 0, la inclinación se interpola entre size huesos iniciales desde el punto inicial de la Curve3D cuando están separados.

Si size es igual a 0, las inclinaciones entre la cabeza del hueso raíz y el punto inicial de la Curve3D se unifican con la inclinación del punto inicial de la Curve3D.

Si size es menor que 0, las inclinaciones entre el hueso raíz y el punto inicial de la Curve3D son 0.0.


void set_tilt_fade_out(index: int, size: int) 🔗

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.