Files
godot-docs/classes/class_joint3d.rst
2021-11-15 12:28:38 +01:00

112 lines
4.8 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 Joint3D.xml source instead.
.. The source is found in doc/classes or modules/<name>/doc_classes.
.. _class_Joint3D:
Joint3D
=======
**Inherits:** :ref:`Node3D<class_Node3D>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
**Inherited By:** :ref:`ConeTwistJoint3D<class_ConeTwistJoint3D>`, :ref:`Generic6DOFJoint3D<class_Generic6DOFJoint3D>`, :ref:`HingeJoint3D<class_HingeJoint3D>`, :ref:`PinJoint3D<class_PinJoint3D>`, :ref:`SliderJoint3D<class_SliderJoint3D>`
Base class for all 3D joints.
Description
-----------
Joints are used to bind together two physics bodies. They have a solver priority and can define if the bodies of the two attached nodes should be able to collide with each other. See also :ref:`Generic6DOFJoint3D<class_Generic6DOFJoint3D>`.
Tutorials
---------
- `3D Truck Town Demo <https://godotengine.org/asset-library/asset/524>`__
Properties
----------
+---------------------------------+--------------------------------------------------------------------------------+------------------+
| :ref:`bool<class_bool>` | :ref:`collision/exclude_nodes<class_Joint3D_property_collision/exclude_nodes>` | ``true`` |
+---------------------------------+--------------------------------------------------------------------------------+------------------+
| :ref:`NodePath<class_NodePath>` | :ref:`nodes/node_a<class_Joint3D_property_nodes/node_a>` | ``NodePath("")`` |
+---------------------------------+--------------------------------------------------------------------------------+------------------+
| :ref:`NodePath<class_NodePath>` | :ref:`nodes/node_b<class_Joint3D_property_nodes/node_b>` | ``NodePath("")`` |
+---------------------------------+--------------------------------------------------------------------------------+------------------+
| :ref:`int<class_int>` | :ref:`solver/priority<class_Joint3D_property_solver/priority>` | ``1`` |
+---------------------------------+--------------------------------------------------------------------------------+------------------+
Property Descriptions
---------------------
.. _class_Joint3D_property_collision/exclude_nodes:
- :ref:`bool<class_bool>` **collision/exclude_nodes**
+-----------+-----------------------------------------+
| *Default* | ``true`` |
+-----------+-----------------------------------------+
| *Setter* | set_exclude_nodes_from_collision(value) |
+-----------+-----------------------------------------+
| *Getter* | get_exclude_nodes_from_collision() |
+-----------+-----------------------------------------+
If ``true``, the two bodies of the nodes are not able to collide with each other.
----
.. _class_Joint3D_property_nodes/node_a:
- :ref:`NodePath<class_NodePath>` **nodes/node_a**
+-----------+-------------------+
| *Default* | ``NodePath("")`` |
+-----------+-------------------+
| *Setter* | set_node_a(value) |
+-----------+-------------------+
| *Getter* | get_node_a() |
+-----------+-------------------+
The node attached to the first side (A) of the joint.
----
.. _class_Joint3D_property_nodes/node_b:
- :ref:`NodePath<class_NodePath>` **nodes/node_b**
+-----------+-------------------+
| *Default* | ``NodePath("")`` |
+-----------+-------------------+
| *Setter* | set_node_b(value) |
+-----------+-------------------+
| *Getter* | get_node_b() |
+-----------+-------------------+
The node attached to the second side (B) of the joint.
----
.. _class_Joint3D_property_solver/priority:
- :ref:`int<class_int>` **solver/priority**
+-----------+----------------------------+
| *Default* | ``1`` |
+-----------+----------------------------+
| *Setter* | set_solver_priority(value) |
+-----------+----------------------------+
| *Getter* | get_solver_priority() |
+-----------+----------------------------+
The priority used to define which solver is executed first for multiple joints. The lower the value, the higher the priority.
.. |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.)`