景观表达式

本页面的内容:

LandscapeLayerBlend(景观层混合)

LandscapeLayerBlend 节点可将多个纹理和材质网络混合在一起,以便作为地形图层使用。LandscapeLayerBlend 使用阵列存储地形图层的相关信息。点击“0 elements”旁的加号图标即可为此阵列添加图层。

Landscape_Add_To_Array.png

LandscapeLayerBlend 节点添加多个图层后,得到的效果如下图所示。

LandscapeLayerBlend Node

可在 材质编辑器 Details 面板中设置 LandscapeLayerBlend 节点的属性。

数字 属性 描述
1: Layers 节点包含的图层列表。点击加号图标即可添加图层 (Plus Sign)。
2: Layer Name 为图层赋予的单独命名。Layer Name 对应地形工具窗口中 绘制模式 使用的图层名。
3: Blend Type LB_AlphaBlendLB_HeightBlend、或 LB_WeightBlend。本页后部有详细说明。
4: Preview Weight 作为图层的权重值,用于预览材质编辑器中的混合。
5: Const Layer Input 如不使用纹理,该属性可提供作为颜色使用的数字值。主要用于图层出现问题时的调试。
6: Const Height Input 如不使用纹理,该属性可提供作为高度的数字值。
7: Additional Layers 图层重叠时额外图层的外观。

Landscape_LayerBlend_Node.png

下表详细说明 Layer Blend 节点 的输入和输出。

数字 项目 描述
1: Layer LayerName 每个图层均为添加输入,以便图层混合。图层被加入 Details 面板前,这些输入均不可用。
2: Height LayerName 在此提供用于混合的高度图。请注意:该输入只在 Blend Type 属性设为 LB_HeightBlend 的图层上可见。
3: Unlabeled Output 图层混合的结果。

使用图层混合模式的特定组合时,地形上图层交界处可能出现黑块。为多个地形图层使用 LB_HeightBlend 模式时该问题尤为普遍。LB_HeightBlend 为使用特定高度值的图层调制混合因子和权重。在一个区域上绘制多个设为 LB_HeightBlend 的图层时,在特定区域进行绘制的全部图层可能同时获得为 0 的高度值,因此每个图层所需的混合因子为 0。因不存在隐式或显式的排序,结果将为黑块(因为没有图层为该区域贡献内容)。进行法线贴图的混合时情况会更糟糕,因其将产生(0,0,0)的无效法线值,并引起灯光的渲染问题。此问题的解决方法是为其中一个图层使用 LB_AlphaBlend,如下例所示。 LB_HeightBlend Problem

在左图中,所有的图层均为 LB_HeightBlend,引起了黑块问题。在右图中,红色的“1”图层改用 LB_AlphaBlend,问题即得到解决。

下图是 Landscape Layer Blend 节点(将数个图层混合的节点)属性的范例。注意:Soil 图层的混合模式设为 LB_AlphaBlend,而其他图层设为 LB_HeightBlend。此操作可防止以上问题(图层交界处出现黑块)的发生。

Layer Blend Properties

删除图层的方法为:点击图层元素数量右边的下拉箭头打开快捷菜单,然后点击 Delete

Delete Layer

LandscapeLayerCoords(景观层坐标)

LandscapeLayerCoords 节点生成 UV 坐标,该坐标可将材质网络映射到地形地貌上。

LandscapeLayerCoords Node

可在 Details 面板中设置 LandscapeLayerCoords 节点的属性。

数字 属性 描述
1: Mapping Type ELandscapeCoordMappingType 指定将材质(或网络)映射到地形所使用的朝向。
2: Custom UVType 地形上使用的映射位置。CustomUVType 基于特定的属性值输出 UV 坐标,将材质映射到地形上。
3: Mapping Scale 应用到 UV 坐标的均匀缩放。
4: Mapping Rotation 应用到 UV 坐标的旋转(以度为单位)。
5: Mapping Pan [U] 应用到 UV 坐标的 [U] 方向偏移。
6: Mapping Pan [V] 应用到 UV 坐标的 [V] 方向偏移。
7: Unlabeled Output 基于特定的属性值输出 UV 坐标,将材质映射到地形上。

LandscapeLayerSwitch(景观层开关)

特定图层对地形中的一个区域不起作用时,LandscapeLayerSwitch 节点可将部分材质操作排除。特定图层权重为零时此节点可将不必要的计算移除,实现对材质的优化。

LandscapeLayerSwitch Node

可在 Details 面板中设置 LandscapeLayerSwitch 节点的属性。

数字 属性 描述
1: Parameter Name 为参数赋予的单独命名。
2: Preview Used 勾选后将使用预览。
3: LayerUsed 地形当前区域调用节点属性中指定图层时所使用的结果。
4: LayerNotUsed 地形当前区域不调用图层且权重为零时所使用的结果。
5: Unlabeled Output LayerUsedLayerNotUsed 输入,取决于图层是否对地形的特定区域产生作用。

LandscapeLayerWeight(景观层权重)

LandscapeLayerWeight 表现允许材质网络进行混合。混合的基础是从材质应用的地形上所获取的相关图层权重。

LandscapeLayerWeight Node

可在 Details 面板中设置 LandscapeLayerWeight 节点的属性。

数字 属性 描述
1: Parameter Name 与该表现相关的地形的图层名。此图层的权重用作混合两个输入网络的透明度数值。
2: Preview Weight 在材质编辑器中用于预览的权重。
3: Const Base 可在此为地形指定一个基础颜色。
4: Base 与此图层进行混合的网络。它是之前图层混合的结果。如为首个图层,则可为空。
5: Layer 进行混合而创建此图层的网络。
6: Unlabeled Output 基于相关图层的权重在 BaseLayer 输入之间输出混合结果。

LandscapeVisibilityMask(景观可见性蒙版)

LandscapeVisibilityMask 节点用于移除部分地形的可见性,以便创建类似洞窟的洞穴地形。

LandscapeVisibilityMask Node

可在 Details 面板中设置 LandscapeVisibilityMask 节点的属性。

数字 属性 描述
1: Unlabeled Output 输出可见性遮罩属性。

使此节点正常工作的方法为:将其输出连接至材质的 Opacity Mask 槽,并将 Materials Blend Mode 设为 Masked

Landscape_VisibilityMaskSetup.png