PhysicsDirectBodyState
继承
简要描述
直接访问PhysicsServer中的物理实体对象。
描述
可直接访问PhysicsServer中的物理实体,从而可以安全地更改物理属性。
成员
类型 | 属性名 | 默认值 |
---|---|---|
Vector3 | angular_velocity | |
Vector3 | center_of_mass | |
Vector3 | inverse_inertia | |
float | inverse_mass | |
Vector3 | linear_velocity | |
Basis | principal_inertia_axes | |
bool | sleeping | |
float | step | |
float | total_angular_damp | |
Vector3 | total_gravity | |
float | total_linear_damp | |
Transform | transform |
方法
返回值类型 | 方法名称 |
---|---|
void | add_central_force(force: Vector3) |
void | add_force(force: Vector3, position: Vector3) |
void | add_torque(torque: Vector3) |
void | apply_central_impulse(j: Vector3) |
void | apply_impulse(position: Vector3, j: Vector3) |
void | apply_torque_impulse(j: Vector3) |
RID | get_contact_collider(contact_idx: int) const |
int | get_contact_collider_id(contact_idx: int) const |
Object | get_contact_collider_object(contact_idx: int) const |
Vector3 | get_contact_collider_position(contact_idx: int) const |
int | get_contact_collider_shape(contact_idx: int) const |
Vector3 | get_contact_collider_velocity_at_position(contact_idx: int) const |
int | get_contact_count() const |
float | get_contact_impulse(contact_idx: int) const |
Vector3 | get_contact_local_normal(contact_idx: int) const |
Vector3 | get_contact_local_position(contact_idx: int) const |
int | get_contact_local_shape(contact_idx: int) const |
PhysicsDirectSpaceState | get_space_state() |
void | integrate_forces() |
常量
成员说明
- Vector3 angular_velocity
setter | set_angular_velocity(value) |
---|---|
getter | get_angular_velocity |
- Vector3 center_of_mass
getter | get_center_of_mass |
---|
- Vector3 inverse_inertia
getter | get_inverse_inertia |
---|
- float inverse_mass
getter | get_inverse_mass |
---|
- Vector3 linear_velocity
setter | set_linear_velocity(value) |
---|---|
getter | get_linear_velocity |
- Basis principal_inertia_axes
getter | get_principal_inertia_axes |
---|
- bool sleeping
setter | set_sleep_state(value) |
---|---|
getter | is_sleeping |
- float step
getter | get_step |
---|
- float total_angular_damp
getter | get_total_angular_damp |
---|
- Vector3 total_gravity
getter | get_total_gravity |
---|
- float total_linear_damp
getter | get_total_linear_damp |
---|
- Transform transform
setter | set_transform(value) |
---|---|
getter | get_transform |
方法说明
- add_central_force add_central_force(force: Vector3)
在不影响旋转的情况下增加恒定的方向力。
这等效于 add_force(force,Vector3(0,0,0))
。
- add_force add_force(force: Vector3, position: Vector3)
向实体添加定位力。力和实体源的偏移都在全局坐标下
- add_torque add_torque(torque: Vector3)
在不影响位置的情况下增加恒定的旋转力。
- apply_central_impulse apply_central_impulse(j: Vector3)
应用单个方向性脉冲而不会影响旋转。
这等效于apply_impulse(Vector3(0,0,0), impulse)
。
- apply_impulse apply_impulse(position: Vector3, j: Vector3)
向身体施加定位脉冲。一个脉冲是时间独立的,如果每帧应用脉冲的话,那么这个脉冲是依赖于帧率的,由于这个原因所以帧脉冲只应该应用于模拟一次性的冲击,位置使用了全局坐标系下的旋转,但是被定为到了对象的源中心上
- apply_torque_impulse apply_torque_impulse(j: Vector3)
施加扭矩脉冲(这将受到体重和形状的影响)。这会让实体绕传入的向量j
旋转
- get_contact_collider get_contact_collider(contact_idx: int) const
返回碰撞体的RID。
- get_contact_collider_id get_contact_collider_id(contact_idx: int) const
返回碰撞体的对象ID。
- get_contact_collider_object get_contact_collider_object(contact_idx: int) const
返回碰撞对象。
- get_contact_collider_position get_contact_collider_position(contact_idx: int) const
返回碰撞体中的接触位置。
- get_contact_collider_shape get_contact_collider_shape(contact_idx: int) const
返回碰撞体的形状索引。
- get_contact_collider_velocity_at_position get_contact_collider_velocity_at_position(contact_idx: int) const
返回碰撞体接触点处的线速度矢量。
- get_contact_count get_contact_count() const
返回此实体与其他实体的联系数。
Note:默认情况下,除非将正文配置为监视联系人,否则它返回0。
- get_contact_impulse get_contact_impulse(contact_idx: int) const
由联系产生的脉冲。只为BulletPhyscs进行了实现
- get_contact_local_normal get_contact_local_normal(contact_idx: int) const
返回接触点的局部法线。
- get_contact_local_position get_contact_local_position(contact_idx: int) const
返回接触点的本地位置。
- get_contact_local_shape get_contact_local_shape(contact_idx: int) const
返回碰撞的局部形状索引。
- get_space_state get_space_state()
返回空间的当前状态,对查询很有用。
- integrate_forces integrate_forces()
调用内置的强制集成代码。