跳到主要内容

PhysicsDirectBodyState

继承

Object

简要描述

直接访问PhysicsServer中的物理实体对象。

描述

可直接访问PhysicsServer中的物理实体,从而可以安全地更改物理属性。

成员

类型属性名默认值
Vector3angular_velocity
Vector3center_of_mass
Vector3inverse_inertia
floatinverse_mass
Vector3linear_velocity
Basisprincipal_inertia_axes
boolsleeping
floatstep
floattotal_angular_damp
Vector3total_gravity
floattotal_linear_damp
Transformtransform

方法

返回值类型方法名称
voidadd_central_force(force: Vector3)
voidadd_force(force: Vector3, position: Vector3)
voidadd_torque(torque: Vector3)
voidapply_central_impulse(j: Vector3)
voidapply_impulse(position: Vector3, j: Vector3)
voidapply_torque_impulse(j: Vector3)
RIDget_contact_collider(contact_idx: int) const
intget_contact_collider_id(contact_idx: int) const
Objectget_contact_collider_object(contact_idx: int) const
Vector3get_contact_collider_position(contact_idx: int) const
intget_contact_collider_shape(contact_idx: int) const
Vector3get_contact_collider_velocity_at_position(contact_idx: int) const
intget_contact_count() const
floatget_contact_impulse(contact_idx: int) const
Vector3get_contact_local_normal(contact_idx: int) const
Vector3get_contact_local_position(contact_idx: int) const
intget_contact_local_shape(contact_idx: int) const
PhysicsDirectSpaceStateget_space_state()
voidintegrate_forces()

常量

成员说明

  • Vector3 angular_velocity
setterset_angular_velocity(value)
getterget_angular_velocity
  • Vector3 center_of_mass
getterget_center_of_mass
  • Vector3 inverse_inertia
getterget_inverse_inertia
  • float inverse_mass
getterget_inverse_mass
  • Vector3 linear_velocity
setterset_linear_velocity(value)
getterget_linear_velocity
  • Basis principal_inertia_axes
getterget_principal_inertia_axes
  • bool sleeping
setterset_sleep_state(value)
getteris_sleeping
  • float step
getterget_step
  • float total_angular_damp
getterget_total_angular_damp
  • Vector3 total_gravity
getterget_total_gravity
  • float total_linear_damp
getterget_total_linear_damp
  • Transform transform
setterset_transform(value)
getterget_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()

调用内置的强制集成代码。