我在Unity中创建了一个3D第一人称迷宫游戏。游戏的目标是在时间到来之前到达迷宫的另一边。为了让游戏变得有趣,玩家开始每一轮迷宫地图随机生成墙壁,因此每个迷宫都是独一无二的,因此玩家无法记住路径。我已经决定要做的是创建这样的墙网格......
(想象一下,这些线是墙,每个线段都是一个独立的墙对象)
当玩家开始时,每个墙段都有可能消失,所以想象这个网格会变成这样的东西......
我该怎么做?我将使用C#。基本上,如果选择"消失"我希望墙变成隐形并且可以通过。算法
game starts
probability that wall will disappear = 1/3;
wall disappears = true;
if(true){
wall becomes invisible and passable
}
else{
wall stays there
}
答案 0 :(得分:3)
有很多方法可以让Unity在Unity中消失。
使墙消失:
public GameObject wallObject;
1 .Deactive it
wallObject.SetActive(false);
2 。禁用墙的渲染器组件然后对撞机,以便其他游戏对象可以通过它
wallObject.GetComponent<Renderer>().enabled = false;
wallObject.GetComponent<Collider>().enabled = false;
3 。销毁它。
Destroy(wallObject);
您可以使用Random.Range
生成号码,然后使用上述方法之一隐藏该墙。