Choose your operating system:
Windows
macOS
Linux
我们对场景中的材质应用了一些特殊技术,将其展现为一副栩栩如生的绘画。有两个范例十分重要:一个是树冠上可见的"漂浮笔刷笔划"效果,另一个是固定朝向玩家的2D风格植被。
为此场景创建的多数材质实际均通过一个 材质实例常量 应用。使用者能够借此快速进行属性调整和修改,无需等候材质完成重编译。
漂浮笔刷笔划叶片
要查看此材质网络,请在 内容浏览器 中找到并打开( 双击 ) M_Tree_Leaf_Base_Solid 材质。
场景中树冠周围是漂浮的绘制笔划,呈现出叶片的感觉。这种效果由遮罩材质结合临时抗锯齿得出。
网络的重要部分是DitherTemporalAA材质函数。此函数将创建一个随时间移动的点(点画)图案。用作被遮罩材质上不透明遮罩的一部分时,它们可使遮罩的效果不至于过于粗糙,呈现柔和的效果。
以下是树使用和未使用DitherTemporalAA节点的对比:
但需要注意的是此技术需要使用 TemporalAA ,而这项引擎功能为 默认启用 。其可通过 AA法(AA Method) 属性(位于 杂项(Misc) 类目下)在后期处理体积中覆盖。
植被材质
要查看此材质网络,请在 内容浏览器 中找到并打开( 双击 ) M_Grass_Masked Material 材质。
地貌上分散着一系列植被,虽然为扁平,但却固定朝向玩家。此行为通过World Position Offset Material输入在材质中定义。此输入允许通过材质中的矢量运算对网格体顶点进行编辑。可调整物体的形状、大小,或者将其几何体旋转朝向相机(例如在此情况中)。
可在 Face camera on 1 axis comment block 中找到处理这一部分的表达式。
点击查看完整大小
在此网络中,自定义表达式拥有特别的重要性,此节点允许针对其输入编写HLSL代码。当前其执行以下数学表达式:
float2 output;
float2 Input1;
output = atan2 (In.y,In.x);
return (output);
这十分实用,但使用时须小心谨慎。自定义节点将阻止材质网络被重叠,这是一个内部优化进程。实际上,它会轻微降低此材质的性能。