1

过去我已经经历了 100 次。碰撞和触发统一。此页面: http ://docs.unity3d.com/Documentation/Components/class-BoxCollider.html 有一个碰撞图表,显示刚体触发器碰撞器在与空气以外的其他物体碰撞时应始终发送触发消息。

所以我的检测区域是刚体触发盒对撞机,重力关闭。然后我在可玩角色上有我的“触发器”,它们是空的游戏对象,只有一个盒子对撞机,上面有 IS TRIGGER。

然而,在测试这个时,什么都没有发生。

我在刚体上附加了以下代码:

public class HitTest : MonoBehaviour {
    void OnTriggerStay(){
        Debug.Log("Hit! Obj: "+this.gameObject.name);
    }
}

通过将另一个对象也设为刚体来解决问题,但这会以某种方式弄乱可玩角色的很多东西,我想不惜一切代价阻止这种情况。

关于我在这里做错了什么的任何想法?

在此先感谢,笑脸

4

1 回答 1

1

这是不正确的:

void OnTriggerStay() { // Look at here
Debug.Log("Hit! Obj: "+this.gameObject.name); // NOTE: This will show the name of your object
}

正确的是:

void OnTriggerStay(Collider others) { // Look at here
Debug.Log("Hit! Obj: "+others.gameObject.name); // NOTE: This will show the name of the object you collided

}

希望这可以帮助!:)

于 2013-10-14T14:41:04.373 回答