为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
慕哥9229398 2021-07-08 14:01:56
我正在尝试在给定区域内生成某些类型的拾音器,尽管有些通常会卡在墙壁内,我该如何解决?移动物体的相关代码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;


查看完整回答
反对 回复 2021-07-17
  • 2 回答
  • 0 关注
  • 172 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信