3D 物理简介
Cocos Creator 目前支持轻量的碰撞检测系统 builtin 和具有物理模拟的物理引擎 cannon.js,以及功能完善强大的 bullet 的 asm.js/wasm 版本(ammo.js),并为开发者提供了高效统一的组件化工作流程和便捷的使用方法。
物理世界和元素
物理世界中的元素可以分为一个个的 刚体,在 Cocos Creator 中加入物理元素可以通过为游戏对象添加碰撞器(Collider
)或者刚体(RigidBody
)组件,物理系统将为这些元素进行物理计算,使其表现出真实世界下的行为。
注:此处的“刚体”不是指刚体组件,刚体组件用于控制刚体物理行为相关的属性。
添加物理元素
在世界中添加一个物理元素可以分为以下步骤:
- 新建一个形状 Cube;
- 在右侧 属性检查器 面板下方点击 添加组件 按钮;
- 在 Physics 目录下选择 BoxCollider,并调整参数;
- 为了使它具有物理行为,接着添加一个 RigidBody 组件。
这样,便有了一个 既有碰撞器又有物理行为 的一个物理元素。
完善物理世界
接着,完善物理世界,可以为世界添加一个地面,仿照 1,2,3 步骤,可以再添加一个 只有碰撞器 的 Plane;
然后,再调整摄像机的角度(选中摄像机,执行 Ctrl + Shift + F 可以对齐到屏幕);
最后,点击运行按钮,便可以看到物理元素在场景世界上的变化,最后的场景如下图所示:
物理元素的组成
在 Cocos Creator 中,一个物理元素可以由以下几种方式组成:
- 一个刚体组件
- 一个或多个碰撞器组件
- 一个刚体加一个或多个碰撞器组件
更详细的模块
Cocos Creator 的物理系统的更多内容将通过以下模块来进行更详细的介绍:
模块 | 描述 |
---|---|
物理选项 | 介绍了 Cocos Creator 中可选的底层物理引擎选项 |
物理系统 | 介绍了物理系统,以及物理系统的一系列属性和接口 |
物理组件 | 介绍了一些物理组件以及面板上的一系列属性 |
物理使用 | 进一步介绍了物理相关的使用、事件、分组掩码等 |