:github_url: hide .. meta:: :keywords: ragdoll .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. .. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/PhysicalBone2D.xml. .. _class_PhysicalBone2D: PhysicalBone2D ============== **Inherits:** :ref:`RigidBody2D` **<** :ref:`PhysicsBody2D` **<** :ref:`CollisionObject2D` **<** :ref:`Node2D` **<** :ref:`CanvasItem` **<** :ref:`Node` **<** :ref:`Object` A :ref:`RigidBody2D`-derived node used to make :ref:`Bone2D`\ s in a :ref:`Skeleton2D` react to physics. .. rst-class:: classref-introduction-group Description ----------- The **PhysicalBone2D** node is a :ref:`RigidBody2D`-based node that can be used to make :ref:`Bone2D`\ s in a :ref:`Skeleton2D` react to physics. \ **Note:** To make the :ref:`Bone2D`\ s visually follow the **PhysicalBone2D** node, use a :ref:`SkeletonModification2DPhysicalBones` modification on the :ref:`Skeleton2D` parent. \ **Note:** The **PhysicalBone2D** node does not automatically create a :ref:`Joint2D` node to keep **PhysicalBone2D** nodes together. They must be created manually. For most cases, you want to use a :ref:`PinJoint2D` node. The **PhysicalBone2D** node will automatically configure the :ref:`Joint2D` node once it's been added as a child node. .. rst-class:: classref-reftable-group Properties ---------- .. table:: :widths: auto +---------------------------------+-----------------------------------------------------------------------------------------------+------------------+ | :ref:`bool` | :ref:`auto_configure_joint` | ``true`` | +---------------------------------+-----------------------------------------------------------------------------------------------+------------------+ | :ref:`int` | :ref:`bone2d_index` | ``-1`` | +---------------------------------+-----------------------------------------------------------------------------------------------+------------------+ | :ref:`NodePath` | :ref:`bone2d_nodepath` | ``NodePath("")`` | +---------------------------------+-----------------------------------------------------------------------------------------------+------------------+ | :ref:`bool` | :ref:`follow_bone_when_simulating` | ``false`` | +---------------------------------+-----------------------------------------------------------------------------------------------+------------------+ | :ref:`bool` | :ref:`simulate_physics` | ``false`` | +---------------------------------+-----------------------------------------------------------------------------------------------+------------------+ .. rst-class:: classref-reftable-group Methods ------- .. table:: :widths: auto +-------------------------------+-----------------------------------------------------------------------------------------------+ | :ref:`Joint2D` | :ref:`get_joint`\ (\ ) |const| | +-------------------------------+-----------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_simulating_physics`\ (\ ) |const| | +-------------------------------+-----------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Property Descriptions --------------------- .. _class_PhysicalBone2D_property_auto_configure_joint: .. rst-class:: classref-property :ref:`bool` **auto_configure_joint** = ``true`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_auto_configure_joint**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **get_auto_configure_joint**\ (\ ) If ``true``, the **PhysicalBone2D** will automatically configure the first :ref:`Joint2D` child node. The automatic configuration is limited to setting up the node properties and positioning the :ref:`Joint2D`. .. rst-class:: classref-item-separator ---- .. _class_PhysicalBone2D_property_bone2d_index: .. rst-class:: classref-property :ref:`int` **bone2d_index** = ``-1`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_bone2d_index**\ (\ value\: :ref:`int`\ ) - :ref:`int` **get_bone2d_index**\ (\ ) The index of the :ref:`Bone2D` that this **PhysicalBone2D** should simulate. .. rst-class:: classref-item-separator ---- .. _class_PhysicalBone2D_property_bone2d_nodepath: .. rst-class:: classref-property :ref:`NodePath` **bone2d_nodepath** = ``NodePath("")`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_bone2d_nodepath**\ (\ value\: :ref:`NodePath`\ ) - :ref:`NodePath` **get_bone2d_nodepath**\ (\ ) The :ref:`NodePath` to the :ref:`Bone2D` that this **PhysicalBone2D** should simulate. .. rst-class:: classref-item-separator ---- .. _class_PhysicalBone2D_property_follow_bone_when_simulating: .. rst-class:: classref-property :ref:`bool` **follow_bone_when_simulating** = ``false`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_follow_bone_when_simulating**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **get_follow_bone_when_simulating**\ (\ ) If ``true``, the **PhysicalBone2D** will keep the transform of the bone it is bound to when simulating physics. .. rst-class:: classref-item-separator ---- .. _class_PhysicalBone2D_property_simulate_physics: .. rst-class:: classref-property :ref:`bool` **simulate_physics** = ``false`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_simulate_physics**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **get_simulate_physics**\ (\ ) If ``true``, the **PhysicalBone2D** will start simulating using physics. If ``false``, the **PhysicalBone2D** will follow the transform of the :ref:`Bone2D` node. \ **Note:** To have the :ref:`Bone2D`\ s visually follow the **PhysicalBone2D**, use a :ref:`SkeletonModification2DPhysicalBones` modification on the :ref:`Skeleton2D` node with the :ref:`Bone2D` nodes. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Method Descriptions ------------------- .. _class_PhysicalBone2D_method_get_joint: .. rst-class:: classref-method :ref:`Joint2D` **get_joint**\ (\ ) |const| :ref:`🔗` Returns the first :ref:`Joint2D` child node, if one exists. This is mainly a helper function to make it easier to get the :ref:`Joint2D` that the **PhysicalBone2D** is autoconfiguring. .. rst-class:: classref-item-separator ---- .. _class_PhysicalBone2D_method_is_simulating_physics: .. rst-class:: classref-method :ref:`bool` **is_simulating_physics**\ (\ ) |const| :ref:`🔗` Returns a boolean that indicates whether the **PhysicalBone2D** is running and simulating using the Godot 2D physics engine. When ``true``, the PhysicalBone2D node is using physics. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)` .. |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.)` .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)` .. |void| replace:: :abbr:`void (No return value.)`