Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
PhysicalBone3D¶
Inherits: PhysicsBody3D < CollisionObject3D < Node3D < Node < Object
A physics body used to make bones in a Skeleton3D react to physics.
描述¶
The PhysicalBone3D node is a physics body that can be used to make bones in a Skeleton3D react to physics.
属性¶
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
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
void set_linear_damp_mode ( DampMode value