我想检查我的船是否相撞而不是其他物体。 所以这是我附加到GameObject的脚本,GameObject有盒子对撞机和Rigidbody。盒子对撞机:触发器设置为开启。他的体型是500 600 500. Rigidbody我没有改变任何东西而且使用了Gravity。
在运行游戏时,我有许多克隆的游戏对象,每一个都标记为“Sphere”但在脚本中,当我检查标签名称时,对撞机是“未标记”。
我要做的是确保碰撞的物体是克隆的太空船。
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标记为“未标记”。
屏幕截图显示克隆的对象太空船,标记为“Sphere”
此屏幕截图显示了带有框架对撞机和刚体的游戏对象
答案 0 :(得分:0)
从我可以收集到的,
你的CrashLandedShip对象没有碰撞器,添加碰撞器应该可以工作。
另请注意,要使触发器起作用,其中一个对象(地形或船只)必须是非触发器(2个触发器不会导致碰撞或触发事件)
所以试试这个:在您的CrashLandedShip_UpsideDown
预制件上添加一个球体对撞机并确保它们
其余代码看起来很好。