着色模型

本文档将详细讲解材质着色模型属性选项。

Windows
MacOS
Linux

着色模型可以控制材质反射入射光线的方式。或换言之,着色模型能够控制构成材质的输入数据,打造出最终外观。

LightingModelProperties.png

虚幻引擎具有多种 着色模型,旨在为您设置的材质打造 外观。例如,默认光照(Default Lit) 着色模型可用于大多数表面,而 透明涂层(Clear Coat)毛发(Hair) 着色模型则用于其他特定类型的表面,打造出与光照相呼应的自然真实外观。

无光照

无光照(Unlit) 着色模型仅输出颜色自发光,非常适用于特殊效果,例如火焰或照明物。请注意,在此示例中,材质并 不会 将光线投射到场景中。其较高的自发光值会产生辉光效果,该效果也能被应用到摄像机的灰尘遮罩所获得。它 看起来 会发光,但是此对象不会投射光线或阴影。

UnlitExample.png

使用无光照着色模型(Unlit Shading Model)时可以访问以下输入:

  • 自发光颜色

  • 世界位置偏移

  • 像素深度偏移

默认光照

顾名思义,默认光照(Default Lit) 是默认着色模型,而且很可能是最常用的模型。 此着色模型使用直接和间接光照,以及反射高光。

DefaultLitObjects.png

使用默认光照着色模型(Default Lit Shading Model)时可以访问以下输入:

  • 底色

  • 金属感

  • 高光度

  • 粗糙度

  • 自发光颜色

  • 法线

  • 世界位置偏移

  • 环境光遮蔽

  • 像素深度偏移

次表面

次表面(Subsurface) 着色模型能够模拟次表面散射效果。这是一种真实世界中的现象,光线会穿透表面,然后在整个物体中弥散。这种现象在冰、蜡烛、皮肤等对象上最容易出现。 次表面(Subsurface)模型(以及下面讲述的预整合皮肤(Preintegrated Skin)模型)依赖于 次表面颜色(Subsurface Color) 输入。可以将其视为物体表面下物质的颜色,光线在表面散射时,就会出现这种颜色。对人类皮肤而言,深红色效果通常不错。在下面的冰元素中,深蓝绿色(根据光照进行多种计算)旨在给表面营造一种半透明深度感。

欲知次表面着色模型的更多信息,请参阅次表面着色模型文档

IceElemental.png

使用次表面着色模型(Subsurface Shading Model)时可以访问以下输入:

  • 底色

  • 金属感

  • 高光度

  • 粗糙度

  • 自发光颜色

  • 不透明度

  • 法线

  • 世界位置偏移

  • 次表面颜色

  • 环境光遮蔽

  • 像素深度偏移

预整合皮肤

预整合皮肤(Pre-integrated Skin) 着色模型的性质与次表面(Subsurface)模型非常相似,适用于人类角色的低性能开销皮肤渲染。尽管在物理效果上并不完美, 但此着色模型渲染开销低于次表面(Subsurface)法,而且通常能实现不错的角色效果。在下方图像中,角色的肉体设为使用 预整合皮肤着色模型(Preintegrated Skin Shading Model)。

InfiltratorPreintegrated.png

使用预整合皮肤着色模型(Preintegrated Skin Shading Model)时可以访问以下输入:

  • 底色

  • 金属感

  • 高光度

  • 粗糙度

  • 自发光颜色

  • 不透明度

  • 法线

  • 世界位置偏移

  • 次表面颜色

  • 环境光遮蔽

  • 像素深度偏移

透明涂层

透明涂层(Clear Coat) 着色模型可用来更好地模拟标准材质表面有一层半透明薄膜的多层材质。此外,此着色模型可用于金属或非金属表面。此模型经专门设计,用于将这第二类光滑彩色薄膜贴在无颜色的金属上。

比如丙烯酸或喷漆透明涂层,以及苏打罐和汽车漆等金属表面的彩色薄膜。

UE4

注意:斑点是在材质编辑器(Material Editor)中完成的,并非着色模型的一部分。

双法线透明涂层

透明涂层着色模型(Clear Coat Shading Model)还可以为透明涂层下的表面添加第二法线贴图。这样材质能够更精确地为复杂材质建模,例如碳纤维和车漆,这些材质的几何或反射表面与透明涂层不同。

带底部法线的透明涂层

真实世界透明涂层材质的照片

带底部法线的透明涂层

实际照片

使用透明涂层着色模型(Clear Coat Shading Model)时可以访问以下输入:

  • 底色

  • 金属感

  • 高光度

  • 粗糙度

  • 自发光颜色

  • 法线

  • 世界位置偏移

  • 透明涂层

  • 透明涂层粗糙度

  • 环境光遮蔽

  • 像素深度偏移

次表面轮廓

次表面轮廓着色模型 的性质与次表面(Subsurface)和预整合皮肤(Preintegrated Skin)着色模型非常相似, 但该模型只适用于高端皮肤渲染。如果希望模拟皮肤,尤其是人类皮肤,该模型为着色模型最佳选择。

Standard Shading

Subsurface Profile Shading

使用次表面轮廓着色模型(Subsurface Profile Shading Model)时可以访问以下输入:

  • 底色

  • 金属感

  • 高光度

  • 粗糙度

  • 自发光颜色

  • 不透明度

  • 法线

  • 世界位置偏移

  • 环境光遮蔽

  • 像素深度偏移

双面树叶

双面树叶(Two Sided Foliage) 着色模型可实现光线穿过表面(如光线穿过树叶)、物体被照亮时自然而均匀的效果。对树叶物体使用默认光照着色模型(Default Lit Shading Model)会导致其看起来接近黑色,因为模型不模拟任何类型的光透射,而光透射对实现逼真的树叶外观效果而言又非常关键。

此着色模型还可利用次表面 散射模型的变体来协助消除这些问题。该变体负责处理非常薄的物体,有助于带来光线穿透植物进行传递的感觉。

已启用两面植物

已禁用两面植物

使用双面树叶着色模型(Two Sided Foliage Shading Model)时,您可以访问以下输入:

  • 底色

  • 金属感

  • 高光度

  • 粗糙度

  • 自发光颜色

  • 不透明度

  • 法线

  • 世界位置偏移

  • 次表面颜色

  • 环境光遮蔽

  • 像素深度偏移

毛发

可以通过 毛发(Hair) 着色模型创建效果自然的毛发,模拟多种高光:一种代表光线的颜色,另一种代表毛发和光线的混合色。

Hair_Scraggle.jpg

使用毛发着色模型(Hair Shading Model)时可以访问以下输入:

  • 底色

  • 散射

  • 高光度

  • 粗糙度

  • 自发光颜色

  • 切线

  • 世界位置偏移

  • 背光

  • 环境光遮蔽

  • 像素深度偏移

布料

可以通过 布料(Cloth) 着色模型重新创建模仿布料效果最佳的材质。其中包括布料表面的"绒毛"薄层,模拟光线与这类材质的交互和匹配。

ClothShading.jpg

使用面料着色模型(Cloth Shading Model)时可以访问以下输入:

  • 底色

  • 金属感

  • 高光度

  • 粗糙度

  • 自发光颜色

  • 不透明度

  • 法线

  • 世界位置偏移

  • 绒毛颜色

  • 布料

  • 环境光遮蔽

  • 像素深度偏移

眼睛

眼睛(Eye) 着色模型用于模拟眼睛的表面,从而对眼睛的每个生物构成部分进行艺术效果控制。这是一种技术性很高的着色模型,在着色器代码、材质、几何形状及其UV布局之间存在非常强的依赖性。

如果没有丰富的着色器开发经验,不建议自行构建眼睛材质。如果您有兴趣创建逼真的类人生物眼睛,建议您从Epic Games Launcher 学习(Learn) 选项卡提供的数字人类 示例项目中提取眼睛的几何体。按原样 使用该项目为眼睛几何体指定材质,替换必要的纹理来满足您的需要。

EyeShading.jpg

使用眼睛着色模型(Eye Shading Model)时可以访问以下输入:

  • 底色

  • 金属感

  • 高光度

  • 粗糙度

  • 自发光颜色

  • 不透明度

  • 法线

  • 世界位置偏移

  • 虹膜遮罩

  • 虹膜距离

  • 环境光遮蔽

  • 像素深度偏移

单层水

可以通过 单层水(Single Layer Water) 着色模型在使用 不透明(Opaque) 混合模式时实现透明水面的效果。这样可以降低需要使用 透明(Transparent) 混合模式的材质的使用开销和复杂性。

着色模型:默认光照

着色模型:单层水

使用单层水着色模型(Single Layer Water Shading Model)时可以访问以下输入:

  • 底色

  • 金属感

  • 高光度

  • 粗糙度

  • 自发光颜色

  • 不透明度

  • 法线

  • 世界位置偏移

  • 环境光遮蔽

  • 折射

  • 像素深度偏移

薄半透明

薄半透明(Thin Translucent) 着色模型支持基于物理原理的半透明材质类型,可以通过该模型创建能准确处理高光度和背景对象的真实有色或彩色玻璃。

举例而言,创建有色玻璃材质时需要白色高光和着色背景。此着色模型使用基于物理原理的着色器在单通道中渲染,着色器会负责处理光线从空气反射到玻璃、以及从玻璃反射到空气中的情况。

着色模型:透明度

着色模型:薄透明

使用薄半透明着色模型(Thin Translucent Shading Model)时可以访问以下输入:

  • 底色

  • 金属感

  • 高光度

  • 粗糙度

  • 自发光颜色

  • 不透明度

  • 法线

  • 世界位置偏移

  • 环境光遮蔽

  • 像素深度偏移

From材质表达式

From材质表达式(From Material Expression) (或逐像素(Per-Pixel))着色模型是一种高级功能,用于通过材质图表中的逻辑将多个着色模型合并到单个材质(或材质实例)中。

着色模型(Shading Model) 设置为 From材质表达式(From Material Expression) 时,着色模型 输入将变为可用,可以使用材质图表(Material Graph)中的 阴影模型(Shading Model) 节点进行设置。

FromMaterialExpression_Example.png

BlendMaterialAttributes_Result.png

使用From材质表达式着色模型(From Material Expression Shading Model)时可以访问以下输入:

  • 底色

  • 金属感

  • 高光度

  • 粗糙度

  • 自发光颜色

  • 法线

  • 世界位置偏移

  • 环境光遮蔽

  • 像素深度偏移

  • 着色模型

欲知更多内容和示范用例,请参阅From材质表达式 着色模型。

Tags
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