猿问

随机移动物体而不将其置于墙内 - Unity 5

我正在尝试在给定区域内生成某些类型的拾音器,尽管有些通常会卡在墙壁内,我该如何解决?


移动物体的相关代码


for (int x = 0; x < garbage.Length; x++) 

{

    if (x < 5)

    {

        garbage[x].transform.position = new Vector3(Random.Range(-33.0f, 30.0f), 2.35f, Random.Range(30.0f, -35.0f)); 

    }

}

使用 Physics.OverlapSphere 修复了它。谢谢。


慕哥9229398
浏览 173回答 2
2回答

慕无忌1623718

你的 if 语句中可以有一个 while 循环,所以它就像int attempts = 0;while(garbage[x].transform.position == /*[the range of coordinates for the wall]*/ || attempts = 0){&nbsp; &nbsp; garbage[x].transform.position = new Vector3(Random.Range(-33.0f, 30.0f), 2.35f, Random.Range(30.0f, -35.0f));&nbsp; &nbsp; attempts += 1;}&nbsp;
随时随地看视频慕课网APP
我要回答