我正在尝试在给定区域内生成某些类型的拾音器,尽管有些通常会卡在墙壁内,我该如何解决?移动物体的相关代码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 修复了它。谢谢。
2 回答
慕无忌1623718
TA贡献1744条经验 获得超4个赞
你的 if 语句中可以有一个 while 循环,所以它就像
int attempts = 0;
while(garbage[x].transform.position == /*[the range of coordinates for the wall]*/ || attempts = 0)
{
garbage[x].transform.position = new Vector3(Random.Range(-33.0f, 30.0f), 2.35f, Random.Range(30.0f, -35.0f));
attempts += 1;
}
- 2 回答
- 0 关注
- 172 浏览
添加回答
举报
0/150
提交
取消