Unity:在游戏过程中让对象随机出现或消失

时间:2018-02-09 14:15:24

标签: c# unity3d

我在Unity中创建了一个3D第一人称迷宫游戏。游戏的目标是在时间到来之前到达迷宫的另一边。为了让游戏变得有趣,玩家开始每一轮迷宫地图随机生成墙壁,因此每个迷宫都是独一无二的,因此玩家无法记住路径。我已经决定要做的是创建这样的墙网格......

(想象一下,这些线是墙,每个线段都是一个独立的墙对象)

enter image description here

当玩家开始时,每个墙段都有可能消失,所以想象这个网格会变成这样的东西......

enter image description here

我该怎么做?我将使用C#。基本上,如果选择"消失"我希望墙变成隐形并且可以通过。算法

game starts
probability that wall will disappear = 1/3;
wall disappears = true;
if(true){
    wall becomes invisible and passable
}
 else{
    wall stays there
}

1 个答案:

答案 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生成号码,然后使用上述方法之一隐藏该墙。