← 返回技术美术
特写转盘
Voronoi 噪波阴影
色散效果
UE5 绝区零风格化渲染 - 4
最终渲染
UE5 绝区零风格化渲染 - 5
卡通着色器设置
UE5 绝区零风格化渲染 - 6
曲线图集用于对比度控制
UE5 绝区零风格化渲染 - 7
电影后处理
UE5 绝区零风格化渲染 - 8
描边后处理
UE5 绝区零风格化渲染 - 9
阴影后处理

UE5 绝区零风格化渲染

在 UE5 中复刻绝区零美术风格的自定义NPR渲染器

日期 2025年4月
标签
unrealshader

概述

这是一个在 Unreal Engine 5 中制作的风格化渲染器,旨在复刻《绝区零》的 NPR 风格,并加入一些个人的调整。

模型取自官方公开发布的 MMD 模型。不过这意味着模型既没有法线贴图也没有光照贴图,看起来会稍显扁平,对各部分外观的控制也更有限。

卡通着色

基本思路仍然是构建 Lambert 着色器并接入自发光通道。不过这次我用的是默认 Lit 着色模型而非 Unlit,这样就能支持多光源、其他物体投下的阴影等特性。

然后我用曲线图集(Curve Atlas)调整贴图的对比度,让整体观感更”带劲”一些。

如果模型有光照贴图和法线贴图,我本可以构建 Blinn-Phong 并用光照贴图做遮罩,只在金属度超过一定阈值的部分实现金属高光;也可以用法线贴图为基础的 Lambert 着色模型映射顶点位置。

后处理

我觉得真正撑起这个项目的是后处理着色器。我用自定义模板通道(custom stencil pass)把角色从背景中遮罩出来,这让我对阴影的观感有了多得多的控制。

阴影

阴影后处理部分,我用只有 1 个 octave 的 Voronoi 噪波做了一个很密的点状效果,然后用幂运算调整它的形状,再直接乘到画面的阴影部分上。

描边

描边是用 SampleSceneDepth 节点实现的——找到深度通道中的剧烈变化,以此作为遮罩来驱动描边。

暗角与色散

暗角:我把 0–1 的视口 UV 空间转换成 -1 到 1,然后用向量长度作为径向遮罩。

色散:把采样的视口 UV 偏移一点点,让红色通道向一个方向偏移,蓝、绿通道向相反方向偏移。