3D 物理简介

Cocos Creator 目前支持轻量的碰撞检测系统 builtin 和具有物理模拟的物理引擎 cannon.js,以及功能完善强大的 bulletasm.js/wasm 版本(ammo.js),并为开发者提供了高效统一的组件化工作流程和便捷的使用方法。

物理世界和元素

物理世界中的元素可以分为一个个的 刚体,在 Cocos Creator 中加入物理元素可以通过为游戏对象添加碰撞器(Collider)或者刚体(RigidBody)组件,物理系统将为这些元素进行物理计算,使其表现出真实世界下的行为。

:此处的“刚体”不是指刚体组件,刚体组件用于控制刚体物理行为相关的属性。

添加物理元素

在世界中添加一个物理元素可以分为以下步骤:

  1. 新建一个形状 Cube
  2. 在右侧 属性检查器 面板下方点击 添加组件 按钮;
  3. Physics 目录下选择 BoxCollider,并调整参数;
  4. 为了使它具有物理行为,接着添加一个 RigidBody 组件。

这样,便有了一个 既有碰撞器又有物理行为 的一个物理元素。

完善物理世界

接着,完善物理世界,可以为世界添加一个地面,仿照 1,2,3 步骤,可以再添加一个 只有碰撞器Plane

然后,再调整摄像机的角度(选中摄像机,执行 Ctrl + Shift + F 可以对齐到屏幕);

最后,点击运行按钮,便可以看到物理元素在场景世界上的变化,最后的场景如下图所示:

物理世界

物理元素的组成

在 Cocos Creator 中,一个物理元素可以由以下几种方式组成:

  • 一个刚体组件
  • 一个或多个碰撞器组件
  • 一个刚体加一个或多个碰撞器组件

更详细的模块

Cocos Creator 的物理系统的更多内容将通过以下模块来进行更详细的介绍:

模块描述
物理选项介绍了 Cocos Creator 中可选的底层物理引擎选项
物理系统介绍了物理系统,以及物理系统的一系列属性和接口
物理组件介绍了一些物理组件以及面板上的一系列属性
物理使用进一步介绍了物理相关的使用、事件、分组掩码等