如何禁用所有兄弟游戏对象的冲突?

时间:2017-05-11 20:57:26

标签: c# unity3d

我有一个产生气球,每秒产生一次气球。我想阻止这些气球与其他气球碰撞。我可以看到如何从父对象循环子对象,但我不知道如何遍历共享同一父对象的其他子对象。所有气球都在同一父母中产生。

目前我有这个,但它显然不起作用。我也试过transform.parent.transform,但这也没有用。它只生成一个气球,并且脚本断开"对象未设置为对象的实例"在同一条线上。

var NewBalloon = Instantiate(balloons[0], transform.position, Quaternion.Euler(new Vector3(-90, 0, 0)));
NewBalloon.transform.parent = GameObject.Find("Balloons").transform;

foreach(Transform child in transform.parent)
{
      Physics.IgnoreCollision(NewBalloon.GetComponent<Collider>(), child.GetComponent<Collider>());
}

1 个答案:

答案 0 :(得分:4)

不是我打算这样做的方式,但我发现如果你去"Edit" > "Project Settings" > "Physics"(在5.5版本上),我可以禁用气球/气球的复选框,以阻止它们相互碰撞。

编辑:这似乎是最好的方法。不需要为它添加脚本,它只是完美无缺。