Unity:如何检查胶囊是否掉落?

时间:2018-11-05 19:02:12

标签: c# unity3d

我的游戏中有10个胶囊。

我想检查这些胶囊是否像游戏开始时那样站立,或者是否摔倒(躺在地上)。

我需要的是:

  • 检查transform.up矢量与正常Vector3.up是否相差45°

但是我不知道该怎么做?!

1 个答案:

答案 0 :(得分:1)

使用Vector3.Angle(gameObject.transform.up, Vector3.up)

Vector3.Angle(gameObject.transform.up, Vector3.up)的输出与一个极限进行比较,看看角度是否超过(或满足?)该极限。

GameObject gameObject; // given
float angleLimit;      // given - measured in degrees
float upAngle = Vector3.Angle(gameObject.transform.up, Vector3.up);
if (upAngle >= angleLimit) {
    // gameObject is not upright
}