关于碰撞器
所谓碰撞器就是碰撞检测器,它用来表示物体的体积或形状,刚体会利用体积进行碰撞计算来模拟真实的碰撞效果,从而产生力的作用。
3D碰撞器有多个种类,分别为盒状、球状、胶囊、网格、车轮和地形六种类型。盒状、球状和胶囊这三种类型在平常的使用中准确性较低,但性能更高,而网格、轮胎和地形这三种类型在使用时准确性较高,但性能更低,所以我们通常会选择性能高的前三种来解决问题。
添加时他们的英文名分别是:Box Collider(盒状碰撞器)、Sphere Collider(球状碰撞器)、Capsult Collider(胶囊碰撞器)、Mesh Collider(网格碰撞器)、Wheel Collider(车轮碰撞器)和Terrain Collider(地形碰撞器)。
Box Collider(盒状碰撞器)
盒装碰撞体默认是矩形长方体,大多用于木板或箱子等物品。
Collider(球状碰撞器)
碰撞体可以通过 Radius 属性调整大小,但不能沿三个轴独立缩放。除了用于网球等球形物体外,该碰撞器还适用于坠落的巨石和其他需要滚动和翻滚的物体。
Capsult Collider(胶囊碰撞器)
我们可以相互独立的调整胶囊对撞机的半径和高度。它通常用于字符控制器中,也可以与其他碰撞体组合以获得不同寻常的形状。值得一提的是多个物体(即组合物体)同时参与碰撞时,会使用刚体对象的子对象碰撞器信息来参与碰撞检测。
Mesh Collider(网格碰撞器)
网格碰撞体的本质就是引用网格来计算碰撞,通常用于某些角色或者场景物体等精细的碰撞。
Wheel Collider(车轮碰撞器)
该碰撞器大多用以实现车辆模拟,它可以模拟车辆的前进后退,刹车,转向,打滑等情况。
Terrain Collider(地形碰撞器)
该属性通常用于改善地形和球体之间的相互作用。
我们在使用这六种碰撞器时会发现,他们都有几个共同的参数,分别是Is Trigger、Material和Center这三个参数。
Is Trigger:是否是触发器,系统默认情况下为非勾选状态。勾选该选项后,该碰撞体将用于触发事件,并被物理引擎忽略。该选项主要用于没有物理效果的碰撞检测。
Material:物理材质选择框,它决定了碰撞器和其他对象碰撞时的交互方式。
Center:用于显示碰撞体在对象局部空间中的中间点位置。
关于物理材质
物理材质的创建方法非常简单,在项目列表的空白处右击选择Physic Material即可创建。此时我们就可以将自己设置好的材质拖到碰撞体的Materal中进行关联,当碰撞体进行碰撞或移动时,就会采用材质上设置的参数进行计算。
物理材质默认情况下是这样的:
动态摩擦力
正在移动时使用的摩擦力。通常为0到1之间的值。值为0的时候就会像冰一样,值为1的时候将会使对象迅速静止,除非用很大的力或重力推动对象。
静态摩擦力
当对象静止在表面上时使用的摩擦力。通常为0到1之间的值。值为0的时候就会像冰一样,值为1的时候将会使对象很难移动。
弹力
即表面的弹性。值为0时将不会反弹,值为1时将在反弹时不产生任何能量损失,预计会有一些近似值,但可能只会给模拟增加少量能量。
摩擦组合
即两个碰撞对象的摩擦力的组合方式。有四个选项,分别为平均、最小、乘法和最大。
反弹合并
即两个碰撞对象的弹性的组合方式。有四个选项,分别为平均、最小、乘法和最大。