【问题标题】:Generating flat landmasses with bounds生成有边界的平坦陆地
【发布时间】:2018-01-02 04:05:03
【问题描述】:

我想知道如何随机选择组中的gameObjects,以便它们形成陆地。

由于我已经在层次结构中布置了它们,我真正需要做的就是弄清楚如何在形状像陆地的组中随机选择这些gameObjects,因为没有必要手动创建多个不同的地图。

恰好有 2500 个 gameObjects 是一个名为 Ground 的 gameObject 的子代。

我真的不知道这个问题是否过于模糊。如果是这样,请告诉我,我很乐意澄清。

【问题讨论】:

    标签: c# unity3d random


    【解决方案1】:

    据我所知 - 您有 2500 个对象作为一个父对象的子对象,并且想从中随机选择 n 个对象?

    1. 声明一个大小为 n 的 Gameobjects 数组和整数数组
    2. 生成n个随机数,但数量不超过2500,并通过循环将它们保存在整数数组中
    3. 对于孩子,可以使用“Child1 或 _1Child”等任何您喜欢的命名约定,但在结尾或开头的某个整数与随机生成的数字匹配。
    4. 使用类似Find() or FindGameObjectWithTag() 的方式查找父对象
    5. 使用parent.transform.Find("Child"+randomly_generated_values); 之类的循环在父对象变换中查找子对象

    【讨论】:

    • 我确实想从它们中随机选择,但我也希望选择它们以便它们形成陆地。这可能吗?如果是这样,这将如何运作?
    • 创建陆地的父对象或仅将编号分配给陆地对象。使用不同的赞助人进行命名。
    猜你喜欢
    • 1970-01-01
    • 2021-09-12
    • 1970-01-01
    • 2010-12-26
    • 2014-05-28
    • 1970-01-01
    • 1970-01-01
    • 2016-07-06
    • 1970-01-01
    相关资源
    最近更新 更多