我正在开发Unity游戏,并希望从地图上的3个或4个可能位置中随机产生最终目标(带有一些网格物体和碰撞盒的预制件)。
我知道我需要使用某种数组,并进行排列,以使预制件不会与其他资产相交。我只是无法可视化解决方案。
有人可以建议至少起步吗?
答案 0 :(得分:0)
1)在统一编辑器中,在您希望目标产生的位置创建空游戏对象。
2)在代码中,在负责产生最终目标的游戏逻辑行为中,声明GameObjects的公共数组
3)使用检查器,将空的GameObject添加到您的gamelogic单一行为的数组中
4)在代码中,使用以下代码随机生成目标并将其“附加”到世界上:
var rand = new Random();
i = rand.next(myGoalPositions.Length);
var goal = Object.Instantiate(myEndGoalPrefab, myGoalPositions[i], false );
要使他们不与任何事物发生接触……最简单的方法是建立自己的世界,以使它们不会与任何事物相交。