PhysicalBone3D
继承: PhysicsBody3D < CollisionObject3D < Node3D < Node < Object
用于让 Skeleton3D 中的骨骼对物理作出反应的物理体。
描述
PhysicalBone3D 节点是一种能够让 Skeleton3D 中的骨骼对物理作出反应的物理体。
属性
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
|
方法
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 | |
枚举
enum DampMode:
DampMode DAMP_MODE_COMBINE = 0
在这种模式下,物体的阻尼值将被加到区域中设置的任何值或默认值。
DampMode DAMP_MODE_REPLACE = 1
在这种模式下,物体的阻尼值将替换掉区域中设置的任何值或默认值。
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
属性说明
float angular_damp = 0.0
阻碍物体的旋转。默认情况下,物体将使用 项目 > 项目设置 > 物理 > 3d 中的默认角度阻尼,或物体所在的 Area3D 中设置的任何覆盖值。取决于 angular_damp_mode,可以设置 angular_damp 以增加或替换物体的阻尼值。
有关阻尼的更多详细信息,请参阅 ProjectSettings.physics/3d/default_angular_damp。
DampMode angular_damp_mode = 0
定义如何应用 angular_damp。可能的取值见 DampMode。
Vector3 angular_velocity = Vector3(0, 0, 0)
该 PhysicalBone3D 的旋转速度,以每秒弧度为单位。
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 ( )
设置该物体的变换。
float bounce = 0.0
实体的弹性。值的范围从 0
(无反弹)到 1
(完全反弹)。
bool can_sleep = true
如果为 true
,则会在不移动时停用该物体,所以它在被外力唤醒前不会参与模拟。
bool custom_integrator = false
如果为 true
,则该物体的内力积分将被禁用(如重力或空气摩擦)。除了碰撞响应之外,物体将仅根据 _integrate_forces 函数确定的方式移动(如果已定义)。
float friction = 1.0
该物体的摩擦,从 0
(无摩擦)到 1
(最大摩擦)。
float gravity_scale = 1.0
与设置 > 项目设置 > 物理 > 3D 中的全局 3D 重力设置相乘,得到该物体的重力。例如,取值为 1 就是正常重力,2 就是双倍重力,0.5 会让应用到这个对象的重力减半。
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 ( )
设置该关节的变换。
Vector3 joint_rotation = Vector3(0, 0, 0)
设置该关节的旋转,单位为弧度。
JointType joint_type = 0
设置关节的类型。可能的值见 JointType。
float linear_damp = 0.0
阻碍物体的运动。默认情况下,物体将使用 项目 > 项目设置 > 物理 > 3d 中的默认线性阻尼,或物体所在的 Area3D 中设置的任何覆盖值。取决于 linear_damp_mode,可以设置 linear_damp 以增加或替换物体的阻尼值。
有关阻尼的更多详细信息,请参阅 ProjectSettings.physics/3d/default_linear_damp。
DampMode linear_damp_mode = 0
定义如何应用 linear_damp。有关可能的值,请参阅 DampMode。
Vector3 linear_velocity = Vector3(0, 0, 0)
物体的线速度,单位为单位每秒。可以偶尔使用,但是不要每一帧都设置它,因为物理可能在另一个线程中运行,并且以不同的间隔。使用 _integrate_forces 作为你的进程循环,以精确控制物体状态。
float mass = 1.0
实体的质量。
方法说明
void _integrate_forces ( PhysicsDirectBodyState3D state ) virtual
在物理处理过程中被调用,允许你读取并安全地修改对象的模拟状态。默认情况下,它会和通常的物理行为一起生效,但是你可以通过 custom_integrator 属性禁用默认行为,为物体施加完全自定义的合力。
void apply_central_impulse ( Vector3 impulse )
目前没有这个方法的描述。请帮我们贡献一个!
void apply_impulse ( Vector3 impulse, Vector3 position=Vector3(0, 0, 0) )
目前没有这个方法的描述。请帮我们贡献一个!
int get_bone_id ( ) const
目前没有这个方法的描述。请帮我们贡献一个!
bool get_simulate_physics ( )
目前没有这个方法的描述。请帮我们贡献一个!
bool is_simulating_physics ( )
目前没有这个方法的描述。请帮我们贡献一个!
© 版权所有 2014-present Juan Linietsky, Ariel Manzur and the Godot community (CC BY 3.0). Revision b1c660f7
.
Built with Sphinx using a theme provided by Read the Docs.