Files
godot-docs/classes/class_skeletonmodification3d.rst
2022-02-01 16:35:13 +01:00

141 lines
9.5 KiB
ReStructuredText

: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/<name>/doc_classes.
.. _class_SkeletonModification3D:
SkeletonModification3D
======================
**Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
**Inherited By:** :ref:`SkeletonModification3DCCDIK<class_SkeletonModification3DCCDIK>`, :ref:`SkeletonModification3DFABRIK<class_SkeletonModification3DFABRIK>`, :ref:`SkeletonModification3DJiggle<class_SkeletonModification3DJiggle>`, :ref:`SkeletonModification3DLookAt<class_SkeletonModification3DLookAt>`, :ref:`SkeletonModification3DStackHolder<class_SkeletonModification3DStackHolder>`, :ref:`SkeletonModification3DTwoBoneIK<class_SkeletonModification3DTwoBoneIK>`
A resource that operates on bones in a :ref:`Skeleton3D<class_Skeleton3D>`.
Description
-----------
This resource provides an interface that can be expanded so code that operates on bones in a :ref:`Skeleton3D<class_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<class_bool>` | :ref:`enabled<class_SkeletonModification3D_property_enabled>` | ``true`` |
+-------------------------+-----------------------------------------------------------------------------+----------+
| :ref:`int<class_int>` | :ref:`execution_mode<class_SkeletonModification3D_property_execution_mode>` | ``0`` |
+-------------------------+-----------------------------------------------------------------------------+----------+
Methods
-------
+-----------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`_execute<class_SkeletonModification3D_method__execute>` **(** :ref:`float<class_float>` delta **)** |virtual| |
+-----------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`_setup_modification<class_SkeletonModification3D_method__setup_modification>` **(** :ref:`SkeletonModificationStack3D<class_SkeletonModificationStack3D>` modification_stack **)** |virtual| |
+-----------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`clamp_angle<class_SkeletonModification3D_method_clamp_angle>` **(** :ref:`float<class_float>` angle, :ref:`float<class_float>` min, :ref:`float<class_float>` max, :ref:`bool<class_bool>` invert **)** |
+-----------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`get_is_setup<class_SkeletonModification3D_method_get_is_setup>` **(** **)** |const| |
+-----------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`SkeletonModificationStack3D<class_SkeletonModificationStack3D>` | :ref:`get_modification_stack<class_SkeletonModification3D_method_get_modification_stack>` **(** **)** |
+-----------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_is_setup<class_SkeletonModification3D_method_set_is_setup>` **(** :ref:`bool<class_bool>` is_setup **)** |
+-----------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
Property Descriptions
---------------------
.. _class_SkeletonModification3D_property_enabled:
- :ref:`bool<class_bool>` **enabled**
+-----------+--------------------+
| *Default* | ``true`` |
+-----------+--------------------+
| *Setter* | set_enabled(value) |
+-----------+--------------------+
| *Getter* | get_enabled() |
+-----------+--------------------+
When true, the modification's :ref:`_execute<class_SkeletonModification3D_method__execute>` function will be called by the :ref:`SkeletonModificationStack3D<class_SkeletonModificationStack3D>`.
----
.. _class_SkeletonModification3D_property_execution_mode:
- :ref:`int<class_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<class_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<class_SkeletonModificationStack3D>` modification_stack **)** |virtual|
Sets up the modification so it can be executed. This function should be called automatically by the :ref:`SkeletonModificationStack3D<class_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<class_float>` **clamp_angle** **(** :ref:`float<class_float>` angle, :ref:`float<class_float>` min, :ref:`float<class_float>` max, :ref:`bool<class_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<class_bool>` **get_is_setup** **(** **)** |const|
Returns whether this modification has been successfully setup or not.
----
.. _class_SkeletonModification3D_method_get_modification_stack:
- :ref:`SkeletonModificationStack3D<class_SkeletonModificationStack3D>` **get_modification_stack** **(** **)**
Returns the :ref:`SkeletonModificationStack3D<class_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<class_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<class_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.)`