:github_url: hide .. Generated automatically by doc/tools/make_rst.py in Godot's source tree. .. DO NOT EDIT THIS FILE, but the SkeletonModification3D.xml source instead. .. The source is found in doc/classes or modules//doc_classes. .. _class_SkeletonModification3D: SkeletonModification3D ====================== **Inherits:** :ref:`Resource` **<** :ref:`RefCounted` **<** :ref:`Object` **Inherited By:** :ref:`SkeletonModification3DCCDIK`, :ref:`SkeletonModification3DFABRIK`, :ref:`SkeletonModification3DJiggle`, :ref:`SkeletonModification3DLookAt`, :ref:`SkeletonModification3DStackHolder`, :ref:`SkeletonModification3DTwoBoneIK` A resource that operates on bones in a :ref:`Skeleton3D`. Description ----------- This resource provides an interface that can be expanded so code that operates on bones in a :ref:`Skeleton3D` can be mixed and matched together to create complex interactions. This is used to provide Godot with a flexible and powerful Inverse Kinematics solution that can be adapted for many different uses. Properties ---------- +-------------------------+-----------------------------------------------------------------------------+----------+ | :ref:`bool` | :ref:`enabled` | ``true`` | +-------------------------+-----------------------------------------------------------------------------+----------+ | :ref:`int` | :ref:`execution_mode` | ``0`` | +-------------------------+-----------------------------------------------------------------------------+----------+ Methods ------- +-----------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_execute` **(** :ref:`float` delta **)** |virtual| | +-----------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_setup_modification` **(** :ref:`SkeletonModificationStack3D` modification_stack **)** |virtual| | +-----------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`clamp_angle` **(** :ref:`float` angle, :ref:`float` min, :ref:`float` max, :ref:`bool` invert **)** | +-----------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`get_is_setup` **(** **)** |const| | +-----------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`SkeletonModificationStack3D` | :ref:`get_modification_stack` **(** **)** | +-----------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_is_setup` **(** :ref:`bool` is_setup **)** | +-----------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Property Descriptions --------------------- .. _class_SkeletonModification3D_property_enabled: - :ref:`bool` **enabled** +-----------+--------------------+ | *Default* | ``true`` | +-----------+--------------------+ | *Setter* | set_enabled(value) | +-----------+--------------------+ | *Getter* | get_enabled() | +-----------+--------------------+ When true, the modification's :ref:`_execute` function will be called by the :ref:`SkeletonModificationStack3D`. ---- .. _class_SkeletonModification3D_property_execution_mode: - :ref:`int` **execution_mode** +-----------+---------------------------+ | *Default* | ``0`` | +-----------+---------------------------+ | *Setter* | set_execution_mode(value) | +-----------+---------------------------+ | *Getter* | get_execution_mode() | +-----------+---------------------------+ The execution mode for the modification. This tells the modification stack when to execute the modification. Some modifications have settings that are only available in certain execution modes. Method Descriptions ------------------- .. _class_SkeletonModification3D_method__execute: - void **_execute** **(** :ref:`float` delta **)** |virtual| Executes the given modification. This is where the modification performs whatever function it is designed to do. ---- .. _class_SkeletonModification3D_method__setup_modification: - void **_setup_modification** **(** :ref:`SkeletonModificationStack3D` modification_stack **)** |virtual| Sets up the modification so it can be executed. This function should be called automatically by the :ref:`SkeletonModificationStack3D` containing this modification. If you need to initialize a modification before use, this is the place to do it! ---- .. _class_SkeletonModification3D_method_clamp_angle: - :ref:`float` **clamp_angle** **(** :ref:`float` angle, :ref:`float` min, :ref:`float` max, :ref:`bool` invert **)** Takes a angle and clamps it so it is within the passed-in ``min`` and ``max`` range. ``invert`` will inversely clamp the angle, clamping it to the range outside of the given bounds. ---- .. _class_SkeletonModification3D_method_get_is_setup: - :ref:`bool` **get_is_setup** **(** **)** |const| Returns whether this modification has been successfully setup or not. ---- .. _class_SkeletonModification3D_method_get_modification_stack: - :ref:`SkeletonModificationStack3D` **get_modification_stack** **(** **)** Returns the :ref:`SkeletonModificationStack3D` that this modification is bound to. Through the modification stack, you can access the Skeleton3D the modification is operating on. ---- .. _class_SkeletonModification3D_method_set_is_setup: - void **set_is_setup** **(** :ref:`bool` is_setup **)** Manually allows you to set the setup state of the modification. This function should only rarely be used, as the :ref:`SkeletonModificationStack3D` the modification is bound to should handle setting the modification up. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)` .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)` .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`