统一物体如此之快它穿过固体物质
unity object so fast it goes through solid matter
我模拟了一个有自己驱动器的秋千。该驱动器由外壳和内部的配重组成。重物通过电磁场加速,从而高速撞击外壳壁,从而使秋千运动。
我对统一还很陌生,但我认为我做的一切都是正确的。按下按钮,重量加速,撞击外壳,秋千开始移动。它工作得很好,直到我开始增加加速重量的力(重量很小,所以需要很大的速度来移动秋千)。现在重量飞出了外壳。我检查了所有的碰撞箱。它们是正确的,我什至让它们重叠以确保这不是错误。我不知道如何解决这个问题,如果有任何帮助,我将不胜感激。
这是加速重量的代码,以备不时之需:
if (rightPressed)
{
GetComponent<Rigidbody>().AddForce(transform.right * forceSlider.value, ForceMode.Impulse);
rightPressed = false;
}
else if (leftPressed)
{
leftPressed = false;
GetComponent<Rigidbody>().AddForce(transform.right * -forceSlider.value, ForceMode.Impulse);
}
对于快速移动的物体,请务必设置 Rigidbody.collisionDetectionMode
to CollisionDetectionMode.ContinuousDynamic
我模拟了一个有自己驱动器的秋千。该驱动器由外壳和内部的配重组成。重物通过电磁场加速,从而高速撞击外壳壁,从而使秋千运动。 我对统一还很陌生,但我认为我做的一切都是正确的。按下按钮,重量加速,撞击外壳,秋千开始移动。它工作得很好,直到我开始增加加速重量的力(重量很小,所以需要很大的速度来移动秋千)。现在重量飞出了外壳。我检查了所有的碰撞箱。它们是正确的,我什至让它们重叠以确保这不是错误。我不知道如何解决这个问题,如果有任何帮助,我将不胜感激。 这是加速重量的代码,以备不时之需:
if (rightPressed)
{
GetComponent<Rigidbody>().AddForce(transform.right * forceSlider.value, ForceMode.Impulse);
rightPressed = false;
}
else if (leftPressed)
{
leftPressed = false;
GetComponent<Rigidbody>().AddForce(transform.right * -forceSlider.value, ForceMode.Impulse);
}
对于快速移动的物体,请务必设置 Rigidbody.collisionDetectionMode
to CollisionDetectionMode.ContinuousDynamic