Repository navigation
LilToNonToon Switcher 1.2.0
LilToNonToon Switcher 1.2.0 —— 自发光(眼睛高光)完全重做、新增渲染器阴影开关诊断、高级设置默认全 1
[1.2.0] - 2026-10-04
这一版集中修自发光(眼睛高光)与画面观感,并新增了一批「转换时就告诉你哪里不对」的诊断。
以下内容全部是相对上一个版本 1.1.16 的变化。
修复
- 眼睛高光(自发光)完全重做 ✅ —— 此前有多种独立缺陷叠加,导致「无光照场景下眼睛不亮」:
- 源材质
_EmissionMap为空时被误判成「没有自发光」⇒ 直接跳过(lilToon 那里空贴图等于白贴图,形状其实来自_EmissionBlendMask); - 转换顺序颠倒:基础贴图先烘、遮罩后建,而发射贴图是遮罩阶段才写出的 ⇒ 永远读到旧文件;
- 依赖
LIL_FEATURE_EmissionBlendMask关键字,而实测材质的m_ValidKeywords是空的 ⇒ 条件永不成立; - 烘焙里「无需色调校正就直接沿用原贴图」的提前返回挡在合并之前 ⇒ 合并永远不执行。
现在严格按 lilToon 的公式(lil_common_frag.hlsl1819~1861)逐材质烘焙,并在postpixel阶段加算
⇒ 无光照场景下眼睛会正常发光 ✅。
- 源材质
- 自发光不再污染其它材质 ✅ —— 曾经它借用共享遮罩的 R/G/B,而那是全模块共用资源,
导致身上出现洋红/黄块(用户实测「删掉_SharedMask画面就正常」)。现在只有真的烘出内容的材质才保留数据,
其余清零;A 通道照旧承载真遮罩,Lighten / MatCap 等模块不受影响。 - 高光颜色与清晰度 ✅ —— 发光颜色改为按亮度去饱和、并以单通道加算 ⇒ 高光呈中性白(不再偏青/偏紫);
遮罩与发射贴图改为无损、无 mipmap 导入 ⇒ 高光不再发糊。 - 描边 ✅ —— 判定改回「按 shader 变体」,修复头发描边被误关(
_UseOutline在 lilToon 的 shader 里并未被引用,只是面板折叠开关)。 - 阴影色带 ✅ —— 修掉「阴影色/平均基础色 > 1 时整条色带被钳成纯白」造成的画面发平(衣服没有褶皱层次)。
- 开关 ✅ —— 恢复「一次转换 = 一个新开关」,不再复用/追加;圈 abc 出一个、圈 def 再出一个。
新增
- 转换时检查渲染器的阴影开关 ✅ —— Mesh Renderer → 照明 → 「接受阴影」没勾选时,任何着色器都收不到阴影
(表现为脸在阴影里始终很亮),这类问题跟着色器无关、极难定位。现在转换结果里会直接列出具体对象路径。
「投射阴影」为 Off 的也会一并说明(通常是有意为之)。 - 高级设置(色调标定) ✅ —— 色带过渡窗口倍数 / 色带暗端收缩 / 烘焙曝光 / 色调 gamma / 色调增益。
默认全部为 1(= 完全照搬 lilToon,不做任何观感补偿,需要的人自己调);
另有「默认(最忠实)」与「设为拟合值」两个按钮,后者填入对着 lilToon 渲染实测标定的一组值。 - 菜单项
Tools/LilToNonToon Switcher/重新生成 NonToon 着色器✅ —— Shader Core 只在它认为模块文件变化时才重生成,
Unity 在后台运行时常常不及时,导致改了模块相位却看不到效果。现在可手动强制一次。
说明
- 出厂的 5 个高级选项全部为 1,即最忠实档;如果觉得整体偏暗或阴影过重,请在高级设置里自行调整后重新转换。
- 「设为拟合值」按钮里的一组值(窗口 2.6 / 暗端 0.70 / 曝光 1.30)是针对 lilToon 的实际渲染做四分位实测得到的,
仅供需要更接近 lil 观感的人参考,不是默认值。
LilToNonToon Switcher 1.1.16 —— 放宽依赖范围,兼容 NonToon 0.2.0 / Shader Core 0.2.0
[1.1.16] - 2026-10-02
变更
- 放宽依赖范围:
jp.lilxyzw.shadercore/jp.lilxyzw.nontoon由^0.1.5/^0.1.3改成
>=0.1.5/>=0.1.3,com.nontoon.modules改成>=0.1.0✓ ——
否则 NonToon 0.2.0 一发布,本插件就会因为版本冲突装不上 ✗。
兼容性说明
逐文件对比了 NonToon 0.1.3 → 0.2.0 与 Shader Core 0.1.12 → 0.2.0:转换器与织物模块依赖的内部细节都没变 ✓
(phase 钩子、ProjectSettings 白名单 API、SCConstValue 关键字机制、SCShaderImporter 全部一致 ✓),
所以本版代码无变化,只是依赖范围放开。NonToon 0.2.0 的新功能是接入 VRC Light Volumes ✓(对我们无影响 ✓)。