约束

在物理引擎中,约束 用于模拟物体间的连接情况,如连杆、绳子、弹簧或者布娃娃等。

约束依赖 刚体组件,若节点无刚体组件,则添加约束时,引擎会自动添加刚体组件。

注意:目前的约束仅在物理引擎选择为 Bullet、PhysX 或 Cannon.js 的情况下生效。

铰链约束 HingeConstraint

通过铰链约束,将连接物体的运动约束在某一个轴上,这种约束在模拟门的合页或电机转动等情形下非常有用。

铰链约束

属性说明
AttachedBody当前关节所在节点下的刚体组件
ConnectedBody获取或设置关节连接的另一个刚体,为空值时表示链接到位于世界原点的静态刚体
EnableCollision获取或设置关节连接的两刚体之间是否开启碰撞
PivotA在自身刚体的本地空间中,约束关节的相对位置
PivotB在连接刚体的本地空间中,约束关节的相对位置
Axis在本地空间中约束关节的旋转轴

physics-hinge

铰链约束接口请参考 HingeConstraint API

点对点约束 PointToPointConstraint

点对点约束是一种简单的复合约束,可以将两个对象,或者一个对象与坐标系中一点连接。连接的对象可以在共用一个连接点的情况下,相对对方自由旋转。

点对点约束

属性说明
AttachedBody当前关节所在节点下的刚体组件
ConnectedBody获取或设置关节连接的刚体,为空值时表示链接到位于世界原点的静态刚体
EnableCollision获取或设置关节连接的两刚体之间是否开启碰撞
PivotA在自身刚体的本地空间中,约束关节的相对位置
PivotB在连接刚体的本地空间中,约束关节的相对位置

physics-p2p

点对点约束接口请参考 PointToPointConstraint API

固定约束 FixedConstraint

固定约束是一种最简单的约束,它锁定了两个刚体之间的相对位置和旋转。连接的对象不允许相对于彼此移动。

固定约束

属性说明
AttachedBody当前关节所在节点下的刚体组件
ConnectedBody获取或设置关节连接的刚体,为空值时表示链接到位于世界原点的静态刚体
EnableCollision获取或设置关节连接的两刚体之间是否开启碰撞
BreakForce获取或设置约束在断开之前可以施加的最大力
BreakTorque获取或设置约束在断开之前可以施加的最大扭矩

physics-fixed

固定约束接口请参考 FixedConstraint API