📅  最后修改于: 2023-12-03 15:05:45.089000             🧑  作者: Mango
在游戏开发中,随机位置生成是非常常见的场景,比如在角色死亡时,生成随机掉落物品等。在Unity中,我们可以基于游戏对象的位置,生成随机偏移位置。
GameObject objectToSpawn = GameObject.Find("ObjectName"); // 替换ObjectName为你要生成位置的游戏对象名字
Vector3 spawnPosition = objectToSpawn.transform.position; //获取游戏对象的位置信息
Quaternion spawnRotation = objectToSpawn.transform.rotation; // 获取游戏对象的旋转信息
Vector2 randomOffset = new Vector2(Random.Range(-2, 2), Random.Range(-2, 2)); // 替换范围为你期望的偏移位置范围
Vector3 spawnPositionWithOffset = spawnPosition + new Vector3(randomOffset.x, 0, randomOffset.y); // 将偏移位置应用到X,Z轴上
GameObject newObject = Instantiate(objectToSpawn, spawnPositionWithOffset, spawnRotation); // 基于偏移后的位置信息,生成新的游戏对象
通过以上几个步骤,我们可以很容易地基于Unity中的游戏对象生成随机偏移位置。需要注意的是,生成偏移位置的范围需要根据实际情况进行调整,以保证生成的位置在合理范围内。