4.0 KiB
Raw Blame History

title, date, excerpt, tags, rating
title date excerpt tags rating
ToonShaderModel 2023-12-18 10:00:34

ToonStandardCel打底

Diffuse

    //Lighting.Diffuse *= AreaLight.FalloffColor * (Falloff * HalfLambert);  
    //TODO:添加阴影过渡效果。  
    //ToonShadow添加类型1.PBR(只能调整过渡颜色) Lighting.Diffuse = DiffuseColor * (1 / PI) * AreaLight.FalloffColor * (Falloff * HalfLambert); 2.ShadowColorTexture兼容RampTexture效果也就是原神的效果还需要添加ShadowColorIntensity后需要改成曝光相关额东西。Lighting.Diffuse = DiffuseColor * (1 / PI);  
    //ToonLighting添加类型1.PBR多光源模式2.主光有效针对cel。  
//---------------------------------------------------------  
//Specular  
    //ToonSpecular添加类型1.PBR 2. 各项异性defaultLit3. 各项异性头发 4. 自定义高光大小与过渡效果 https://zhuanlan.zhihu.com/p/361918341 5.自定义高光形状贴图 https://zhuanlan.zhihu.com/p/640258070  https://github.com/AnCG7/URPShaderCodeSample/blob/891034b3fa6e838e2b231390755479f0f649f181/Assets/Shaders/NPR/Cartoon/Stylized%20Highlight%20(Transform).shader#L2

ToonShadow 再实现阴影偏移以及阴影羽化效果的基础上。

  1. PBR兼容UE默认阴影效果。只能调节阴影过渡颜色。使用的公式为 Lighting.Diffuse = DiffuseColor * (1 / PI) * AreaLight.FalloffColor * (Falloff * HalfLambert);
  2. ShadowColorTexture用于定义ShadowColor使用贴图指定ShadowColor

ToonLighting

  1. PBRUE默认光照多光源模式。
  2. 仅主光有效针对cel。

Specular

ToonSpecular

  1. PBRUE默认高光效果。
  2. 各项异性defaultLitUE默认的各向异性高光效果。
  3. 各项异性头发 Kajiya-Kay高光模型。
  4. 自定义高光大小与过渡效果:https://zhuanlan.zhihu.com/p/361918341
  5. 自定义高光形状贴图:https://zhuanlan.zhihu.com/p/640258070 891034b3fa/Assets/Shaders/NPR/Cartoon/Stylized%20Highlight%20(Transform).shader#L2

罪恶装备渲染效果还原

贴图

  • base基础色
    • rgb亮面颜色
    • a
  • ShadowMap SSS
    • rgb暗面颜色
    • a
  • ILM
    • ilmR:金属度,高光类型?
    • ilmG阴影与高光Offset
    • ilmB高光遮罩高光强度Mask。
    • ilmA本衬线基于UV制作风格化内描边原理参考先前文章内描边Mask。
  • detailtexcoord[1]细节遮罩磨损贴图。用第二套UV与底色正片叠底混合mul
  • VertexColor(R褶皱与背面阴影Offset将阴影向深处偏移
  • VertexColor(G明度存储组件信息
  • VertexColor(B存储部分细节

TODO

  • 给ToonDataAsset 添加干掉自投影功能

UnityChan

蓝色协议

厚涂 ShaderModel通过修改预积分ShaderModel