【问题标题】:Unity: Make object appear or disappear randomly during game playUnity:让物体在游戏过程中随机出现或消失
【发布时间】:2018-02-09 14:15:23
【问题描述】:

我正在 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
}

【问题讨论】:

    标签: c# unity3d


    【解决方案1】:

    在 Unity 中有很多方法可以让 Object 消失。

    要消失的墙:

    public GameObject wallObject;
    

    1.停用它

    wallObject.SetActive(false);
    

    2.禁用 Wall 的 Renderer 组件,然后禁用碰撞器,以便其他 GameObjects 可以通过它

    wallObject.GetComponent<Renderer>().enabled = false;
    wallObject.GetComponent<Collider>().enabled = false;
    

    3.销毁它。

    Destroy(wallObject);
    

    您可以使用Random.Range 生成数字号码,然后使用上述方法之一隐藏该墙。

    【讨论】:

    • 谢谢,但遇到了一个问题,不知何故,它要么破坏要么保留所有墙壁,我希望它单独影响墙壁
    猜你喜欢
    • 1970-01-01
    • 2014-11-12
    • 2017-08-15
    • 1970-01-01
    • 2021-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-26
    相关资源
    最近更新 更多