一次基于战双帕弥什角色的 PBR+NPR 渲染尝试。

开发环境
- 引擎:Unity
- 渲染管线:URP 14.0.10
- 渲染路径:前向渲染(Forward Rendering)
核心渲染特性
-
物理基础光照(PBR):基于 Albedo、Normal Map 和 PBR Mask(Roughness / Metallic / AO)进行光照计算,采用 Cook-Torrance BRDF 模型。
-
NPR 风格阴影:集成多级阴影控制(No Shadow、First Shadow、Second Shadow),支持自定义阈值、颜色及平滑过渡(Smooth Shadow),调整卡通渲染的风格化表现。
-
可定制高光:支持调整高光强度、光泽度(Shininess)、颜色、平滑因子及阴影衰减。
-
边缘光(Rim Light):支持边缘光效果控制。
-
环境反射:支持 Cubemap 环境反射,并可选择性应用旋转。
-
自发光与辉光:整合自发光(Emission)和辉光(Bloom)效果控制,并支持 Flow Map 驱动的动态自发光。
-
脸部 SDF 渲染:针对角色脸部使用 SDF(Signed Distance Field)控制明暗表现。
-
专用皮肤着色:通过
_SkinRamp纹理控制卡通肤色过渡,结合顶点颜色和 Ramp 图进行混合,支持多层皮肤颜色混合。 -
顶点扩展轮廓线:沿顶点法线扩展(Vertex Extrusion)生成轮廓线,支持宽度和颜色调整、基于距离的宽度缩放及 Z 轴偏移;同时利用顶点颜色的 R 通道控制片元
discard,调整轮廓显示。 -
后期处理:在
PostProcessing.hlsl中实现屏幕空间的曝光、对比度调整,以及基于自定义 LUT 的色彩分级(Color Grading)。
演示视频
未完成部分
- 各向异性发丝高光
- 头发眼透
- 皮肤受光表现