本文内容
动态植被概念
动态植被系统围绕以下理念运行:
什么 - 要指定出现的植被类型,您必须有预制的植被资产,如
.cgf
或.fbx
文件。如果您没有自己的植被资产,可以使用 O3DE 的植被资产,这些资产位于 “Starter Game”项目中。哪里 - 您可以创 您可以创建小片的花朵,也可以在大面积区域内填充各种植物和物体。为此,可分别使用前景图层中的局部区域集群或背景图层中的覆盖区域。建小片的花朵,也可以在大面积区域内填充各种植物和物体。为此,可分别使用前景图层中的局部区域集群或背景图层中的覆盖区域。
使用植被过滤器,您可以设置规则,指定植被生长的表面角度、高度、与物体的距离和表面类型。
植被遮挡器可以遮挡植被区域。例如,要在房屋周围形成无植被的边界,可使用比房屋底座稍大的植被遮挡物。
如何 - 将植被修改器与适当的梯度搭配,可使植被在位置、比例、旋转和与斜坡的对齐上显得随意。当您在一个区域使用多个植被资产时,梯度还可以自定义每个植被资产出现的频率。
如果 - 您可以使用表面标签发射器来标记特定类型的表面,如道路、河流、海洋和网格。动态植被系统会读取标签来识别这些表面,并根据您以包含和排除列表的形式创建的一系列规则采取行动。例如,要让睡莲出现在所有水面上,可在包含列表中添加水量表面标签。要确保睡莲永远不会出现在道路上,可将路面标签添加到排除列表中。
示例 下图显示的是河面和路面不包括草地,路面只包括卵石群。
您可以通过以下方式定制植被:
- 为植被区域指定优先级。优先级决定植被系统填充区域的顺序。
- 使用可定制的梯度(如Perlin Noise Gradient)来模仿自然界中常见的植被分组类型。
- 将自定义的植被区域保存为切片,以便在其他关卡中重复使用或与合作者共享。使用切片重载功能,对切片的单个实例进行或大或小的更改。
动态植被组件
创建新植被区域的常见工作流程首先是创建一个实体,并为其添加一个Vegetation Layer Spawner组件。然后在该实体中添加两个必备组件,这两个组件定义了区域的形状和要显示的资产。在此基础上,您可以添加可选组件,如植被过滤器和修改器。
任何进一步修改植被区域的其他组件,如渐变、遮挡和混合器,都必须包含在单独的实体中。这些独立实体可以是具有Vegetation Layer Spawner组件的实体的同级实体或子实体。
下表概括了动态植被组件的功能以及通常与之交互的组件。最常用的组件位于表格顶部。出现在一个类别中的组件,如植被过滤器,将作为该类别而不是单独命名。可选和不兼容列并不包括每个类别的所有组件,只包括与动态植被相关的组件。
附加到实体的组件 | 说明 | 所需的组件 | 可选的组件 | 不兼容的组件 |
---|---|---|---|---|
Vegetation Layer Spawner | 创建植被区域的主要组件。确定图层优先级和过滤阶段。 | |||
Gradients category (每个实体只能有一个) | 创建一个梯度,供Vegetation Distribution Filter和Vegetation Asset Weight Selector等其他组件参考。提供一个梯度,供引用组件用来分布植被或其他环境装饰物。梯度类型包括佩林噪声、白噪声、图像等。 | 该类别中的某些组件需要另一个组件。例如: | 您可以在添加Gradient 组件的同时添加某些Gradient Modifier组件。 | 某些Gradient Modifier修改器组件不兼容。为了获得更好的工作流程,请将Gradient Modifier组件添加到单独的实体中,然后引用渐变实体 ID。 |
Gradient Modifiers category (每个实体只能有一个) | 修改渐变效果。在Gradient Modifiers组件的属性中引用渐变实体 ID。 | 该类别中的某些组件需要另一个组件。例如: | None |