C# 我如何使用OnTriggerExit功能,并检查我的船是否发生碰撞?
我想检查我的船是否相撞,而不是其他物体。 这是我附加到游戏对象上的脚本,游戏对象有长方体碰撞器和刚体。长方体碰撞器:触发器设置为“开”。他的尺码是500。我没有改变任何东西,使用重力的刚体打开了 运行游戏时,我有许多克隆的游戏对象,每个都标记为“球体”,但在脚本中,当我检查标记名时,碰撞器是“未标记的” 我要做的是确保碰撞的物体是一艘克隆的宇宙飞船C# 我如何使用OnTriggerExit功能,并检查我的船是否发生碰撞?,c#,unity3d,C#,Unity3d,我想检查我的船是否相撞,而不是其他物体。 这是我附加到游戏对象上的脚本,游戏对象有长方体碰撞器和刚体。长方体碰撞器:触发器设置为“开”。他的尺码是500。我没有改变任何东西,使用重力的刚体打开了 运行游戏时,我有许多克隆的游戏对象,每个都标记为“球体”,但在脚本中,当我检查标记名时,碰撞器是“未标记的” 我要做的是确保碰撞的物体是一艘克隆的宇宙飞船 using UnityEngine; using System.Collections; public class InvisibleWalls
using UnityEngine;
using System.Collections;
public class InvisibleWalls : MonoBehaviour {
public float smooth = 1f;
private Vector3 targetAngles;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
void OnTriggerExit(Collider other)
{
if (other.tag == "Sphere")
{
targetAngles = other.transform.eulerAngles + 180f * Vector3.up;
other.transform.eulerAngles = Vector3.Lerp (other.transform.eulerAngles, targetAngles, smooth * Time.deltaTime);
}
}
}
这是我试图检查并确认船舶碰撞的部分:
if (other.tag == "Sphere")
但是当使用断点时,当pbject发生碰撞时,它确实会停在这一行上,而另一个.tag标记则是“未标记的”
显示标记为“球体”的克隆宇宙飞船对象的屏幕截图
这张屏幕截图显示了游戏对象和长方体碰撞器以及刚体
根据我所能收集到的信息 如果CrashlandShip对象没有碰撞器,添加碰撞器应该可以工作 还要注意,要使触发器工作,其中一个对象(地形或船舶)必须是非触发器(2个触发器不会导致碰撞或触发器事件) 所以试试这个:在你的
crashlandeship\u UpsideDown
预置中添加一个球体碰撞器,并确保它们不是用IsTrigger设置的
代码的其余部分看起来不错。好了,现在可以使用OnTriggerExit中标记为“Sphere”的另一个变量了。但是它进入了IF,在里面画了两条线,但是船永远不会后退,它们一直向前,直到它们离开。你的问题是关于对撞机,而不是物体的运动,你介意问一个关于stackoverflow的新问题吗,以避免这个问题的未来观众感到困惑?创建了新问题: