Ureal Engine

UE4材质_属性贴图0123bate1

2021-05-24  本文已影响0人  深呼吸10911

材质_属性 贴图 更深入探讨组成材质的属性。 通过调整这些属性,您可以选择当应用材质到物体时材质的外观,以及其如何响应诸如光照或后期处理体积之类的外部组件。

为何要使用实例?材质是非常灵活的,基本上凡是您能想象到的东西,材料编辑器都能实现。但是,有些人想让一个技术美工完成复杂的着色器设计,然后他们拿那个材质做一个材质实例,只简单地调整该技术美工公开的纹理和参数。这就是实例的用处。

实例的第二个优点是速度。对材质进行更改需要一些时间,因为每次更改都需要着色器进行编译。更改材质实例的参数是即时性的,因为着色器已经编译好了("StaticSwitchParameter"例外,它总是很慢,原因在于它需要重新编译着色器,这是因为它们可以改变着色器的复杂性)。如果要调整您的材质,建议用材质实例来做,因为这样会快得多。

混合模式(Blend Mode) 正是材质的基础。

着色模型

1.3 - 半透明光源模式

如果 半透明材质(Translucent Material) 设置为 默认光照(Default Lit),还有3个选项可用于调整着色器的光照方式。

1.4-双面

如果对使用了半透明混合模式(半透明混合模式)的材质使用,可以创建更多的过度描画,并且在渲染中时将会占用更多系统性能。

1.5-材质域

域(域)定义材质的总体用法。大多数着色器将是表面,然而,如果一个着色器需要使用贴花,光源函数或后期处理,它必须属于这些域。


1.6 - 单独半透明

单独描画半透明对象。Separate Translucency (单独半透明)着色器将不受 Depth of Field (景深)的影响。

1.7 - 体积定向光照强度

如果将 半透明 材质设置为 Volumetric Directional Light(体积定向光照) 模式,您可以设置着色强度。

1.8 - 曲面细分


曲面细分(Tessellation) 是一个DX11功能,需要支持DX11的硬件。它的作用是在运行时将三角形分割成更小的三角形,以增加网格体的表面细节。效果可以非常缓慢的渲染,应该在合理的范围内使用。
平坦(Flat) 设置简单地分割三角形。虽然这本身用处不大,但使用法线图和位移图调整新顶点的世界场景位置,可以创建新的表面细节。
PN三角形(PN Triangles) 使对象平滑。其要求网格体至少有一个平滑组,以执行平滑作业。与平坦(Flat)设置一样,纹理可以用来置换曲面细分顶点,赋予它一个非常细致的外观。

1.9 - 不透明蒙板剪辑值


我们在之前已了解到 Masked BlendMode (蒙板混合模式)仅有完全不透明或完全透明的像素。你可以把灰度贴图或贴图中的单通道作为蒙板来使用。Clip Value (裁剪值)可以让你设置一个阀值,用于控制像素何时为不透明或何时为透明。对于拥有细长部分的贴图,这些区域会在画面远离它们后消失,因为mipmap会将白色从图像或通道中去除;你可以通过调整 Clip Value (裁剪值)来调整该现象发生的时间点。

1.10 - 将半透明阴影作为蒙板来投射


当前我们不支持在 Translucent Materials (半透明材质)中投射阴影。不过,我们可以在光源被重建时(使用Lightmass)将其作为 Masked Material (蒙板材质)来处理。它对动态阴影不会有效果。

1.11 -折射深度偏移

Refraction (折射)是屏幕空间特效, Depth Bias (深度偏移)被用来隐藏过近的目标。在本例中,我们特地对它们进行强化来展示这些特效。如果折射的对象拥有复杂的形状以及法线贴图,该对象在距离过近时看起来几乎是消失的。

贴花贴图


此贴图展现了让您使用特殊的名为 贴花 的材质来添加细节或装饰到您关卡的几种方式。 贴花 可用于创建受污的墙壁,投射外观为霓虹灯的发光,甚至可以被动画处理。 此贴图包含使用贴花的多个实例,以及如何控制其应用的表面外观。

1.1 - 基本贴花


贴花 是投射到关卡中网格体(包括静态网格体和骨架网格体)上的材质。无论这些网格体的"移动性(Mobility)"设置为"静态(Static)"还是"可移动(Movable)",贴花都可以投射到它们上面。可以同时渲染许多贴花,而且这不会造成性能大幅下降。但是,如果屏幕空间较大而且着色器指令数较大,性能将会下降。

你可以直接从 模式(Modes) 面板的 所有类(All Classes) 选项卡添加 "延迟贴花(Deferred Decal)"Actor。然后,你需要创建新材质并在该材质的 细节(Details) 面板中将 材质域(Material Domain) 属性更改为 延迟贴花(Deferred Decal)。然后,你就可以将该材质应用给此贴花Actor。



此贴花Actor将显示为线框。其中央始终有一个箭头,它指向贴花投射的方向。
贴花投射距离是由围绕贴花Sprite的盒体的X-轴标度决定的。当表面靠近此盒体的范围时,两者将会混合,而且贴花将逐渐消失。 在上图中你可以看到,当表面距离此贴花Actor过远时,背墙上的贴花投射将开始淡出。

1.2 - 贴花混合模式(Decal Blend Mode)


本示例说明贴花可以使用的 混合模式(Blend Mode)。借助不同的混合模式(Blend Mode),你可以更改贴花影响表面的方式。设置混合模式(Blend Mode)的方法是使用"材质(Material)"部分中的 贴花混合模式(Decal Blend Mode) 属性。

贴花可以使用的混合模式有11种:

1.半透明(Translucent) - 可以使用"弥散(Diffuse)"、"金属感(Metallic)"、"高光度(Specular)"、"粗糙度(Roughness)"、"自发光(Emissive)"、"不透明度(Opacity)"和"法线(Normal)"。
2.斑点(Stain) - 与"弥散(Diffuse)"和"不透明度(Opacity)"混合的调制类型。
3.法线(Normal) - 使用"不透明度(Opacity)"和"法线(Normal)"信道,仅影响贴花投射到其上面的法线贴图层。
4.自发光(Emissive) - 仅使用"自发光(Emissive)"和"不透明度(Opacity)"。
5.体积距离函数(Volumetric Distance Function) - 基于光线矢量(Light Vector)使用"不透明度(Opacity)"中的有向距离输出。

DBuffer贴花可与光照配合使用。默认情况下,这些贴花处于未启用状态,必须在"项目设置(Project Settings)" > "渲染(Rendering)"部分中启用它们。

7.DBuffer半透明颜色、法线、粗糙度(DBuffer Translucent Color, Normal, Roughness) - 此为非金属感贴花,将"颜色(Color)"、"不透明度(Opacity)"、"粗糙度(Roughness)"和"法线(Normal)"与烘焙光照配合使用。
8.DBuffer半透明颜色(DBuffer Translucent Color) - 此为非金属感贴花,仅将"颜色(Color)"和"不透明度(Opacity)"与烘焙光照配合使用。
9.DBuffer半透明颜色、法线(DBuffer Translucent Color, Normal) - 此为非金属感贴花,将"颜色(Color)"和"法线(Normal)"与烘焙光照配合使用。
10.DBuffer半透明颜色、粗糙度(DBuffer Translucent Color, Roughness) - 此为非金属感贴花,将"颜色(Color)"和"粗糙度(Roughness)"与烘焙光照配合使用。
11.DBuffer半透明法线(DBuffer Translucent Normal) - 此贴花仅将"不透明度(Opacity)"和"法线(Normal)"信道与烘焙光照配合使用。
12.DBuffer半透明法线、粗糙度(DBuffer Translucent Normal, Roughness) - 此贴花仅将"粗糙度(Roughness)"、"不透明度(Opacity)"和"法线(Normal)"与烘焙光照配合使用。
13.DBuffer半透明粗糙度(DBuffer Translucent Roughness) - 此贴花仅将"粗糙度(Roughness)"和"不透明度(Opacity)"与烘焙光照配合使用。

1.3 - 遮罩贴花


在本示例中,我们将展示贴花同时使用不透明蒙版和法线贴图的方式。该贴花材质使用的 贴花混合模式(Decal Blend Mode) 为 半透明(Translucent),这意味着它可以接受透明度数值。通过输入纹理——在本示例中为虚幻徽标——我们可以控制贴花的形状。但是,我们还可以添加法线贴图,它可以赋予该贴花更多立体感,使其看起来不再仅仅像画在投射表面上一样。

如果需要在关卡中创建特定种类的细节和装饰,这个技巧非常有用。

1.4 - 多表面投射


在本示例中,你将了解贴花如何在多个表面上进行投射。请注意,如果表面朝向与投射方向较为平行,贴花投射到其上时必然会产生一些拉伸。另外,请记住,贴花可在包括骨架网格体在内的静态和动态网格体上进行投射。

1.5 - 关闭"接收贴花(Receives Decals)"

本示例展示如何使用 渲染(Rendering) 类别下的 接收贴花(Receives Decals) 属性关闭特定网格体上的贴花。请注意,必须点击该类别的展开箭头才能看到此属性。



你可以使用 缓冲区可视化(Buffer Visualization) 下的 贴花遮罩(Decal Mask) 视图模式查看哪些网格体没有接收贴花。
在下列两张图中,你可以看到该视图模式的作用方式:

1.6 - 排列顺序


1.7 - 动画化贴花材质

在本例中,我们通过在贴花材质中使用旋转体材质表达式来动画化贴花。凡是您可以对标准材质执行的操作,同样适用于贴花材质,包括动画。
上一篇下一篇

猜你喜欢

热点阅读