绝区零 · 星见雅
Unity / UE / Blender 三端还原同一套 NPR:UV2 烘焙平滑法线的 BackFace 描边、动态 Ramp 分区染色、屏幕空间自投影与 SDF 面部阴影。
独立作品
让周围轻一点,文字近一点。
作品主视觉点击画面,查看细节
- ENGINE
- Unity · URP · Unreal 5 · Blender
- TECH
- NPR · SDF · 描边 · Shader
- ROLE
- Shader
- YEAR
- 2026
案例目录12 小节
最终效果
从左到右分别是Unity,UE,blender效果

效果拆解
描边
使用BackFace描边,Blender将平滑法线数据烘焙到模型的UV2通道,然后在读取解析,搭配MaterialID和顶点色进行分区染色以及粗细控制

光照分层染色
动态Ramp,配合MaterialID,分区染色

屏幕空间投影
基于深度缓冲实现屏幕空间自投影,blender因为获取不到深度,所以更换为GooEngine版本

SDF面部阴影
面部采样SDF贴图来构建阴影


鼻线
描边线只能保证侧面的轮廓线,所以根据视角正面时对鼻线单独混合

金属反射
采样使用MatCap颜色与漫反射进行混合

PBR高光
头部使用球形法线计算,身体使用pixelNormal计算,高光算法使用移动端优化的GGX,强度参数略有不同

环境光
使用URP的球谐光照SH函数,额外设置强调控制参数,这里参数较小,效果不是特别明显



边缘光
屏幕空间的边缘光

眼睛透过头发
通过模板测试将眼睛部分在头发上重新绘制,Blender没有这个功能,使用后期合成进行单独叠加一层
