风格化景观

虚幻引擎4包含的风格化展示的景观特效概述。

Windows
MacOS
Linux

StylizedTerrain.png

地貌是此示例中较为显著的关卡特性之一。 主要是由于它非常卡通化的着色,这是通过地貌材质的方式来处理的。 有关地貌的设置和创建的信息,请参阅地貌文件

应用于此地貌的材质相对比较有技术性。 初学者可能会发现其有些过于复杂。

为此场景创建的多数材质实际均通过一个材质实例常量 应用。使用者能够借此快速进行属性调整和修改,无需等候材质完成重编译。

首先,您需要打开材质编辑器中的材质,这样您可以查看使用的材质表达式。 如需打开,请按照以下步骤执行:

  1. 在内容浏览器中,搜索并找到 M_Terrain_Gound_A 材质。 您需要确认您查找的是资源树下的 Game (游戏)文件夹。 把筛选器设置为仅显示材质可能也会有帮助。

    M_Terrain_GroundCB.png

  2. 双击此材质从而在材质编辑器中打开它。

您将会立即注意到材质被分为一组注释块,如下图:

DistanceColorizeComment.png

它们被设计为辅助显示材质表达式网络的关键区域执行的功能。 以下是详细介绍:

  • Rock and Grass Diffuse (岩石和草的散布) - 处理石头和草的贴图间的混合以及它们如何被放置在地貌表面上。

  • Controls height blend of Rock Diffuse (控制岩石散布的高度混合)-此部分执行对表面的角度检查,这是我们能在斜坡上也有长满草的平坦区域和多岩石贴图的原因。

  • Path Diffuse (路径散布)- 它覆盖地貌顶部的步行路径的贴图。

  • Beach color and Mask (沙滩颜色和蒙板)- 它负责辅助指定海水与陆地交汇处的沙滩区域。

  • Splotches ( 污渍)- 这个区域取入蒙板贴图并逐通道进行平铺,然后使用它来沿着地形来创建随机的颜色斑点。

  • Distance Colorize (距离上色)- 您可能注意到了当您远离地形时,它变成了单个昏暗,模糊的颜色。 此部分材质创建了这种转换效果。

岩石和草混合

此材质基于塑造地形时的地形表面角度在两种最终外观间进行混合。 这表示更为平坦的区域将会被独特画风的草的贴图覆盖,同时所有具有斜坡的表面将会有岩崖贴图。 贴图的最终效果如下图所示。

GrassColor.png

RockCliff.png

GrassBlendResult.png

悬崖

最终效果

这种混合机制的关键在 World_Aligned_Blend (世界对齐混合)材质函数内,您可以在 Controls height blend (控制高度混合)注释框内找到它。 此函数取入向量并将其与世界空间表面法线相比较。 这个函数提供范围为0-1alpha的输出值,0代表垂直向量,而1代表平行向量。 换种说法,当您把Z轴的 (0,0,1) 作为您的 In World Vector (世界中向量)值使用时,它会输出黑白贴图,白色代表平面,而黑色代表斜坡。 这个值可以被偏移和锐化,从而获得alpha值间的清晰线条。

在下方的示例中,我们使用World Aligned Blend(世界对齐混合)在红色和蓝色间插值。 您可以查看材质网络,以及关于混合是如何发生的详细信息。 请注意我们添加了一些锐化效果,这样可以让最终结果更为明显。

WorldAlignedBlendNetwork.png

InWorldVector.png

SurfaceComparison.png

Result.png

世界中的向量

世界表面法线 - 黄色的为Alpha输出

最终结果

您可能同时注意到了在岩石和草之间有轮廓线,这可以帮助定义不同表面间的分割。 这是通过进行两个 World_Aligned_Blend 操作来创建的,使用更为紧密的偏移。 第一个操作在岩石贴图间混合,并对轮廓线使用棕色。 第二个操作在第一个操作和草颜色的最终结果间混合。

OutlineExample.png

下图是一个简化的示例,我们在其中使用红色,绿色和蓝色的混合来创建类似的轮廓。

OutlineBlendResult.png

最终结果

节点网络 (点击以放大)

地貌样条曲线

走道和横穿海面的潮线是使用地貌样条曲线来创建的。 地貌样条曲线是创建地貌上的道路和尾迹以及其他需符合地貌表面的资源类型的极佳方式。

Walkway.png

如需获得更多信息,请参阅地貌样条曲线文件

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback