我有一个对象Enemy和另一个Wall
敌方有CapsuleCollider,墙有BoxCollider
这堵墙阻止玩家穿过它。但我希望敌人能穿过墙。
我尝试的是设置一个带有我希望敌人通过的所有墙的array,然后忽略敌人物体上的碰撞:
for (var i = 0; i < wand.Length; i++)
{
Physics.IgnoreCollision(wand[i].GetComponent<Collider>(), GetComponent<Collider>());
}但是,当他们试图穿过墙时,他们仍然会被堵在墙上。
我不能将敌人的对撞机设置为触发,因为我需要碰撞来防止它们穿过其他物体。
我还尝试了这个网站:https://forum.unity.com/threads/ignore-collisions-by-tag-solved.60387/
function OnCollisionEnter (collision : Collision) {
if (collision.gameObject.tag == "Wall") {
Physics.IgnoreCollision(collision.collider, collider);
}
}但它也不起作用。
有人知道怎么解决这个问题吗?
发布于 2018-07-02 00:53:32
将它们放在不同的层中,然后设置它们,使它们不会相互碰撞。
将敌人
要编辑的
之间的冲突
https://stackoverflow.com/questions/51123353
复制相似问题