我在做一个游戏,你旋转地面而不是直接移动球,但是如果球滚下来,我旋转地面,大部分时间球会从对撞机中落下,我把球的刚体设为连续,地面设为连续动态,我试着把它们都设为连续,都设为连续动态,还是不行。我试着改变物体的质量,但没有效果。我试着使用网格碰撞器和箱式碰撞器。我还试着让球成为我正在旋转的碰撞器的孩子,如果这很重要的话。
我知道这可能是一个问题,如果我使用变换旋转,但我使用刚体旋转。
[SerializeField] float upSpeed;
[SerializeField] Rigidbody rb;
void Update()
{
rb.angularVelocity = new Vector3(Input.GetAxis("Vertical") * upSpeed, 0, -Input.GetAxis("Horizontal") * upSpeed);
}
谢谢!
1条答案
按热度按时间pkmbmrz71#
尝试将RigidBody组件内的球或/和地面
collisionDetectionMode
属性修改为ContinuousDynamic或Dynamic。这会使快速游戏对象的碰撞检测更加精确(在本例中,可能是地面旋转太快)。有关不同碰撞检测方法的更多信息,您可以找到更多here。希望这能帮上忙。