前言
常用的有碰撞器、触发器、碰撞矩阵和碰撞事件回调
Creator的物理后端包含
- builtin
只具有碰撞检测的功能,相对于其他物理后端没有复杂的物理模拟计算,不具备物理特性,
物理特性主要指物理效果,比如两个物体碰撞发生反弹,反弹行为就是物理效果,物体移动具有惯性,惯性也是物理效果
- cannon
开源物理引擎 体积小 - ammo
- PhysX
3D物理引擎 体积大
碰撞器与触发器
首先创建一个立方体,然后添加盒子碰撞组件
主要说说isTrigger这个属性,这个属性为true的时候,代表的是触发器模式,否则是碰撞器模式
- 触发器模式
在发生碰撞时不会产生碰撞效果,所以触发器只适用于碰撞检测 - 碰撞器模式
会产生碰撞效果,所以碰撞器既可以进行碰撞检测,又可以产生物理效果
碰撞器与触发器对应的事件
触发事件可以由触发器和另一个触发器或者碰撞器产生,而碰撞事件则需要有两个碰撞器产生,并且至少有一个是动力学的刚体
动力学刚体
如果物体需要有物理行为就需要添加刚体组件
添加刚体组件
上图中刚体组件有个类型的属性
- dynamic
就是动力学刚体,它可以收到力的做用,并通过物理规律来运动物体 - static
静态刚体,可以用于描述一个质量很大的物体,比如建筑物等,一个只添加碰撞组件并且选择的是碰撞器类型的物体也可以当作是一个静态刚体 - kinematic
运动学刚体,可以用于表达像电梯这类平稳运动的物体,它的移动可以通过节点的变换属性来控制,和动力学不同的是,动力学必须通过力来控制
物理之间碰撞需要设置碰撞分组