【发布时间】:2021-04-12 18:22:08
【问题描述】:
目前在我的脚本中,我在整个地图上随机生成 125 个僵尸,但是使用我当前的代码,它只会在包括建筑物内部在内的任何地方生成它们。我想保留随机生成,所以我无法确定确切的生成位置。有谁知道如何阻止它们在建筑物内生成?
我当前生成它们的代码(如果代码不好/混乱,我是个菜鸟,很抱歉)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ZombieRandomSpawn : MonoBehaviour
{
public GameObject ZK;
public int xPos;
public int zPos;
public int enemyCount;
// Start is called before the first frame update
void Start()
{
while (enemyCount < 125)
{
xPos = Random.Range(1, 165);
zPos = Random.Range(1, 215);
Instantiate(ZK, new Vector3(xPos, 0.3f, zPos), Quaternion.identity);
enemyCount = enemyCount + 1;
}
}
}
【问题讨论】:
-
是建筑物吗?场景中的预制件或游戏对象?如果是这样,您可能可以枚举它们,保存它们的边界框,并在生成敌人时生成新坐标(如果您生成的坐标在这些边界框内)。
标签: c# visual-studio unity3d