准备几个代表来光方向的黑白设计稿
先决定不同方向下,额头、鼻梁与脸颊应该怎样分区。黑白图记录的是希望得到的阴影形状,而不是人物的颜色贴图。

关于一张脸上的明暗
卡通面部的明暗是一种造型语言。
我们希望它能随来光变化,
也希望它保留清晰、简洁的形状。
常规漫反射根据表面法线和来光方向计算明暗。半兰伯特把这个响应重新映射,但仍然依赖局部法线:鼻梁、嘴角、脸颊的细小起伏,都可能改变明暗分界。
再把连续照度分成亮、暗两档时,这些变化可能变成零碎色块。对追求大块、平顺阴影的二次元面部来说,几何上的合理,不一定等于画面上的理想。
这是造型目标与几何响应的差异,不能简单归结为“模型坏了”。修改法线、专门设计面部阴影等,都是可选路线。

让阴影跟随光照,让轮廓服从角色的画风。
这里讨论用于面部明暗控制的 SDF 贴图,
不是用于光线求交的三维 SDF 几何体。
先决定不同方向下,额头、鼻梁与脸颊应该怎样分区。黑白图记录的是希望得到的阴影形状,而不是人物的颜色贴图。

公开实现 ChiliMilk/URP_Toon 会读取预计算的 SDF 阴影贴图,按来光侧调整采样,再结合方向量、阈值与羽化参数求明暗。它的说明还要求对称的面部 UV。[2]

沿用 SDF 提供的造型目标,
改变运行时获取主明暗分布的方式。
主要控制数据驻留在贴图中。
主边界由模型参数与来光统计重建。
当前预测函数只读取来光特征和模型参数,不在推理时查询原 SDF 贴图。重建边界后,可以在待着色的图像采样位置直接求出遮罩;无需先烘焙一张新的主阴影纹理才能定义明暗。
Cycles 负责直接光、遮挡和间接漫反射。脸旁红板产生的局部红色来自真实反弹;风格化阶段调整照明亮度,保留去噪后的逐点 RGB 比例,再结合人物贴图。
模型输出少量样条系数,每一行只生成一个主分界。嘴部偶然较暗,不再自动成为孤立黑洞。边界软度与照明颜色可以分别调整。



本项目 +45°、同一场景的三个阶段,使用未加红线校准的预测版本。上方网络图例用于解释传统方法,不是同场景的性能对照。
传统 SDF 也可以与光线追踪结合。因此,本研究的优势是来光驱动的边界预测与保色光照合成的组合,而不是“只有这种方法能做光追”。当前操作发生在 Cycles 输出之后,尚未写入每次反弹过程;跨角色、自由视角和多光源泛化仍需验证。
本页三张背景图与相关介绍依据用户提供的原文节选及直链。配图保留“知乎 @刻学徒”水印,不将转载文章作者等同于图片原创者。原文引用的游戏技术资料仅作为图例背景,不作为本项目对官方实现的验证。
著作权归原作者及相应权利人所有;非商业引用注明出处,商业使用需联系权利人授权。
由用户提供文章推荐,供进一步阅读;本页未将未核验的全文内容用作证据。
已读取 README 与 ToonInput.hlsl,并下载原作者 SDF 材质面板。该实现明确使用预计算阴影纹理;这里对传统流程的说明以此公开实现为例,不代表所有游戏使用完全相同的算法。
预测函数、已保存的 +45° 实验结果及工程约定用于说明本方法。训练覆盖、评估指标与使用限制见研究档案。