Up to date
This page is up to date for Godot 4.2
.
If you still find outdated information, please open an issue.
PhysicalBone3D¶
Inherits: PhysicsBody3D < CollisionObject3D < Node3D < Node < Object
A physics body used to make bones in a Skeleton3D react to physics.
Description¶
The PhysicalBone3D node is a physics body that can be used to make bones in a Skeleton3D react to physics.
Properties¶
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Methods¶
void |
_integrate_forces ( PhysicsDirectBodyState3D state ) virtual |
void |
apply_central_impulse ( Vector3 impulse ) |
void |
apply_impulse ( Vector3 impulse, Vector3 position=Vector3(0, 0, 0) ) |
get_bone_id ( ) const |
|
Enumerations¶
enum DampMode:
DampMode DAMP_MODE_COMBINE = 0
In this mode, the body's damping value is added to any value set in areas or the default value.
DampMode DAMP_MODE_REPLACE = 1
In this mode, the body's damping value replaces any value set in areas or the default value.
enum JointType:
JointType JOINT_TYPE_NONE = 0
JointType JOINT_TYPE_PIN = 1
JointType JOINT_TYPE_CONE = 2
JointType JOINT_TYPE_HINGE = 3
JointType JOINT_TYPE_SLIDER = 4
JointType JOINT_TYPE_6DOF = 5
Property Descriptions¶
float angular_damp = 0.0
Damps the body's rotation. By default, the body will use the Default Angular Damp in Project > Project Settings > Physics > 3d or any value override set by an Area3D the body is in. Depending on angular_damp_mode, you can set angular_damp to be added to or to replace the body's damping value.
See ProjectSettings.physics/3d/default_angular_damp for more details about damping.
DampMode angular_damp_mode = 0
Defines how angular_damp is applied. See DampMode for possible values.
Vector3 angular_velocity = Vector3(0, 0, 0)
The PhysicalBone3D's rotational velocity in radians per second.
Transform3D body_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)
void set_body_offset ( Transform3D value )
Transform3D get_body_offset ( )
Sets the body's transform.
float bounce = 0.0
The body's bounciness. Values range from 0
(no bounce) to 1
(full bounciness).
bool can_sleep = true
If true
, the body is deactivated when there is no movement, so it will not take part in the simulation until it is awakened by an external force.
bool custom_integrator = false
If true
, internal force integration will be disabled (like gravity or air friction) for this body. Other than collision response, the body will only move as determined by the _integrate_forces function, if defined.
float friction = 1.0
The body's friction, from 0
(frictionless) to 1
(max friction).
float gravity_scale = 1.0
This is multiplied by the global 3D gravity setting found in Project > Project Settings > Physics > 3d to produce the body's gravity. For example, a value of 1 will be normal gravity, 2 will apply double gravity, and 0.5 will apply half gravity to this object.
Transform3D joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)
void set_joint_offset ( Transform3D value )
Transform3D get_joint_offset ( )
Sets the joint's transform.
Vector3 joint_rotation = Vector3(0, 0, 0)
Sets the joint's rotation in radians.
JointType joint_type = 0
Sets the joint type. See JointType for possible values.
float linear_damp = 0.0
Damps the body's movement. By default, the body will use the Default Linear Damp in Project > Project Settings > Physics > 3d or any value override set by an Area3D the body is in. Depending on linear_damp_mode, you can set linear_damp to be added to or to replace the body's damping value.
See ProjectSettings.physics/3d/default_linear_damp for more details about damping.
DampMode linear_damp_mode = 0
Defines how linear_damp is applied. See DampMode for possible values.
Vector3 linear_velocity = Vector3(0, 0, 0)