Up to date

This page is up to date for Godot 4.3. If you still find outdated information, please open an issue.

Joint3D

Inherits: Node3D < Node < Object

Inherited By: ConeTwistJoint3D, Generic6DOFJoint3D, HingeJoint3D, PinJoint3D, SliderJoint3D

Abstract base class for all 3D physics joints.

Description

Abstract base class for all joints in 3D physics. 3D joints bind together two physics bodies (node_a and node_b) and apply a constraint. If only one body is defined, it is attached to a fixed StaticBody3D without collision shapes.

Tutorials

Properties

DisableMode

disable_mode

0

bool

exclude_nodes_from_collision

true

NodePath

node_a

NodePath("")

NodePath

node_b

NodePath("")

int

solver_priority

1

Methods

RID

get_rid() const


Enumerations

enum DisableMode: 🔗

DisableMode DISABLE_MODE_REMOVE = 0

When Node.process_mode is set to Node.PROCESS_MODE_DISABLED, remove from the physics simulation to stop all physics interactions with this Joint3D.

Automatically re-added to the physics simulation when the Node is processed again with initial transforms for bodies.

DisableMode DISABLE_MODE_KEEP_ACTIVE = 1

When Node.process_mode is set to Node.PROCESS_MODE_DISABLED, do not affect the physics simulation.


Property Descriptions

DisableMode disable_mode = 0 🔗

Defines the behavior in physics when Node.process_mode is set to Node.PROCESS_MODE_DISABLED. See DisableMode for more details about the different modes.


bool exclude_nodes_from_collision = true 🔗

  • void set_exclude_nodes_from_collision(value: bool)

  • bool get_exclude_nodes_from_collision()

If true, the two bodies bound together do not collide with each other.


NodePath node_a = NodePath("") 🔗

Path to the first node (A) attached to the joint. The node must inherit PhysicsBody3D.

If left empty and node_b is set, the body is attached to a fixed StaticBody3D without collision shapes.


NodePath node_b = NodePath("") 🔗

Path to the second node (B) attached to the joint. The node must inherit PhysicsBody3D.

If left empty and node_a is set, the body is attached to a fixed StaticBody3D without collision shapes.


int solver_priority = 1 🔗

  • void set_solver_priority(value: int)

  • int get_solver_priority()

The priority used to define which solver is executed first for multiple joints. The lower the value, the higher the priority.


Method Descriptions

RID get_rid() const 🔗

Returns the joint's internal RID from the PhysicsServer3D.