物理模拟

在这个博客中,我将写一个简单的2人乒乓球游戏,该游戏在Unity中实现了基本的球物理功能。

我面临的挑战是,在碰到任何碰撞表面后,使球朝相反的方向移动。 因此,为此,我使用了一个“命中因子”函数,该函数返回“((ballPos.y-racketPos.y)/ racketHeight”。

当球与球拍碰撞时,我通过标签检查它是左球拍还是右球拍,然后计算球需要移动的方向和速度。

为了计算方向,我要做的是,如果它击中了左球拍,请将向量的“ x”位置设置为1,如果它击中了右球拍,则将向量的“ x”位置设置为-1,然后归一化向量。 因此,每当球击中任一球拍时,这都会反转方向。

设置速度非常容易。 这只是将方向乘以球的速度。

使用GetAxisRaw()函数和内置的Vertical函数移动刚包含的球拍。