这适用于2D游戏。
我有一个可以射击触发射弹(带有扳机对撞机)的球员和可以做同样事情的敌人。当一个玩家射弹与敌人发生碰撞时,会发生一些事情,反之亦然。然而,当玩家射弹和敌人的射弹相撞时,他们只是忽略碰撞,相互穿过,没有任何反应。他们还有一个Rigidbody2D,可以连续碰撞检测。
当这两个带触发器碰撞器的游戏对象碰到时,有没有办法让它发生呢?
以下是我为敌人射弹剧本所获得的内容:
void OnTriggerEnter2D( Collider2D other ){
if (other.gameObject.name == "Ground"){
Destroy (gameObject);
}
else if (other.gameObject.name == "Player"){
other.gameObject.GetComponent<RControlScript>().RHealth = other.gameObject.GetComponent<RControlScript>().RHealth - damage;
Instantiate(transformInto, gameObject.transform.position, gameObject.transform.rotation);
Destroy (gameObject);
}
else if(other.gameObject.name == "Shot"){
Destroy (gameObject);
}
}
&#34;拍摄&#34;作为玩家弹丸的名称是游戏对象不与敌人的弹丸相撞。
答案 0 :(得分:3)
是。
这是一个图表,告诉你什么与Unity3d中的内容相撞。
答案 1 :(得分:0)
好的,事实证明两个触发器碰撞器确实发生碰撞。我的问题是实例化的射弹是克隆,因此它的名字=&#34;射击(克隆)&#34;。不得不改变它以使事情发生。