物理组件

Cocos Creator 3D 目前为用户提供了多种碰撞器组件和通用的刚体组件,以及工具类的恒力组件。

注:更多功能组件将会在后续版本持续发布,请留意版本更新公告。

碰撞器组件

碰撞器组件用于表示刚体的碰撞体形状,不同的几何形状拥有不同的属性。

注:以下属性名称的首字母在实际代码中都为小写

盒碰撞器组件(BoxColliderComponent)

盒碰撞器组件

属性解释
material碰撞器引用的物理材质(为空时引用物理系统的默认物理材质)
isTrigger是否为触发器,触发器不会产生物理反馈
center本地坐标系下形状的原点
size盒的大小,即长、宽、高

球碰撞器组件(SphereColliderComponent)

球碰撞器组件

属性解释(其它参考盒碰撞器)
radius球的半径

圆柱体碰撞器组件(CylinderColliderComponent)

圆柱体碰撞器组件

属性解释(其它参考盒碰撞器)
direction圆柱体延申方向的参考轴
height圆柱体的总高度
radius圆柱体两端圆面的半径

注:builtin暂不支持圆柱体组件

胶囊体碰撞器组件(CapsuleColliderComponent)

胶囊体碰撞器组件

属性解释(其它参考圆柱体和盒碰撞器)
cylinderHeight胶囊体中圆柱体的高度
radius胶囊体中球体的半径

注:cannon.js不支持胶囊体组件,建议使用两个球和圆柱体拼凑

网格碰撞器组件(MeshColliderComponent)

网格碰撞器组件

属性解释(其它参考盒碰撞器)
mesh网格碰撞器引用的网格资源,用于初始化网格碰撞体

注:builtin暂不支持网格碰撞器组件

注:cannon.js对网格碰撞器组件支持程度很差,只允许与球碰撞器产生检测

注:ammo.js目前只支持静态网格碰撞体(mass0或无RigidBody组件的)

刚体组件(RigidBodyComponent)

为了更便捷的模拟物理行为,Cocos Creator 3D为用户提供了刚体组件,预览图如下:

刚体组件

属性解释(上图的属性值都是默认值)
mass物体的质量(当质量为 0 时代表静态刚体,和不加刚体组件的效果一样)
linearDamping线性阻尼,用于减小物体的线性速率
angularDamping角阻尼,用于减小物体的旋转速率
isKinematic是否由用户来控制该刚体,而不受物理引擎的影响
useGravity是否受重力影响
fixedRotation碰撞时是否需要固定物体,而不产生旋转
linerFactor线性因数,可影响每个轴向的线性速度的变化
angularFactor旋转因数,可影响每个轴向的旋转速度的变化

注:builtin暂不支持刚体组件

恒力组件(ConstantForce)

这是一个工具组件,它依赖刚体组件,将会在每帧对一个刚体施加给定的力和扭矩。

恒力组件

属性解释
force在世界坐标系中对刚体施加的力
localForce在本地坐标系中对刚体施加的力
torque在世界坐标系中对刚体施加的扭矩
localTorque在本地坐标系中对刚体施加的扭矩

注:builtin暂不支持恒力组件


继续前往 物理使用 说明文档。