问题描述
我是初学者,我正在尝试制作一个简单的游戏:Pong。
我已经为球使用了具有 0 摩擦和 1 弹性的物理材料,因此我不必通过代码进行每次碰撞。
问题如下:如果球有一个低度角并击中地面(或天花板),球将开始仅水平移动并停止弹跳。为什么会发生这种情况?
这是一个问题的小 gif:
谢谢!有什么需要可以问我
解决方法
在 Edit
下的 physics 2D settings > Project Settings
> Physics2D
减少
速度阈值
设置弹性碰撞的阈值 . Unity 将相对速度低于此值的碰撞视为非弹性碰撞(即,碰撞游戏对象不会相互反弹)。
如果您的角度非常平坦,则碰撞影响的相对速度也非常小。