C# 统一:如何检查胶囊是否掉落?

C# 统一:如何检查胶囊是否掉落?,c#,unity3d,C#,Unity3d,我的游戏里有10粒胶囊 我想检查这些胶囊是否像游戏开始时那样站着,或者它们是否倒下(躺在地上) 我需要的是: 检查transform.up向量是否与法线向量3.up不同45° 但我不知道怎么做 使用Vector3.Angle(gameObject.transform.up,Vector3.up) 将Vector3.Angle(gameObject.transform.up,Vector3.up)的输出与限制进行比较,查看角度是否超过(或满足?)该限制 GameObject gameObjec

我的游戏里有10粒胶囊

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

我需要的是:

  • 检查transform.up向量是否与法线向量3.up不同45°
但我不知道怎么做

使用
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
}

“或者如果他们倒下了(躺在地上)。”倒下和倒下不是一回事……是哪一个?的确。我想他们的意思是“摔倒”是的,对不起,我的意思是摔倒,英语不是我的母语,对不起!!见Rzihm的答案