我该如何解决这个问题?

c# - 刚体在 Unity 中相互连接-LMLPHP

详细信息:从游戏 View 中可以看到, gem 从屏幕的右上角掉落。当它们快速下落并以类似的旋转相互撞击时,它们会相互碰撞。

最佳答案

那颗 gem 对我来说看起来还不错。如果碰撞速度非常快,它们也可以穿过物体。

插值和连续网格检测都提高了物理性能。

我建议您写 3 行,以在对象快速移动时提高物理性能,并在对象变慢时将其切换到正常状态。您可以每帧进行一次邻近测试以检查快速物体(物理速度变量)以了解它们接近的物体,并使快速和接近的物体的物理性能最大化。

我会像你写的一样使用,使用刚体速度是完美的,除了:

 private void Update ()
 {
     var vel = rgd.velocity;
     speed = vel.sqrMagnitude;//uses 5-20 times less processor power

     if (speed >= 4) // it's the same

Magnitude 使用平方根数学运算,这是处理器上最昂贵的运算之一。对每一帧平方根和除法的实例保持警惕是所有高级程序员为简化代码所做的事情。

如果你必须找到不使用物理的物体的速度,那么你必须从每一帧的最后一帧位置删除它们的当前位置,以找到它们的速度向量,这与使用 posA 的刚体.速度相同posB 变量来调用最后一帧......即对于没有刚体的对象。

关于c# - 刚体在 Unity 中相互连接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47851976/

10-12 04:02