最近想做一个类似于打砖块的小游戏,第一个要实现的就是一个完全弹性碰撞的球体,也就是球体一直保持初速度运动。
步骤如下:
- 在asset中创建一个physic material
- 将physic material设置如下图
friction就是摩擦力的意思,因为能量守恒,在摩擦的情况下动能会有损耗(碰撞也是有摩擦的),速度也就会下降,所以要全部设为零。bounciness是弹性系数,最大为1,也就是碰撞本身无损耗。
- 最后把这个材质拖到小球上
值得注意的一点是unity中并不是所有简单形状都有对应的collider的,比如圆柱体就没有,当创建圆柱体时其默认碰撞器是胶囊状的,在需要精确的碰撞结果时就会有问题
在需要精确的碰撞结果时需要把碰撞器改成mesh collider。