diff --git a/03-UnrealEngine/卡通渲染相关资料/渲染功能/ShaderModel/ToonShaderModel.md b/03-UnrealEngine/卡通渲染相关资料/渲染功能/ShaderModel/ToonShaderModel.md index 4f34eaf..10ee003 100644 --- a/03-UnrealEngine/卡通渲染相关资料/渲染功能/ShaderModel/ToonShaderModel.md +++ b/03-UnrealEngine/卡通渲染相关资料/渲染功能/ShaderModel/ToonShaderModel.md @@ -42,7 +42,7 @@ rating: ⭐ - [【翻译】西川善司「实验做出的游戏图形」「GUILTY GEAR Xrd -SIGN-」中实现的「纯卡通动画的实时3D图形」的秘密,前篇(2)](https://www.cnblogs.com/TracePlus/p/4205834.html "发布于 2015-01-06 13:23") - [【翻译】西川善司的「实验做出的游戏图形」「GUILTY GEAR Xrd -SIGN-」中实现的「纯卡通动画的实时3D图形」的秘密,后篇](https://www.cnblogs.com/TracePlus/p/4205978.html "发布于 2015-01-06 14:23") - 知乎文章 - 1. [ ] ***https://zhuanlan.zhihu.com/p/631214546 + 1. [x] ***https://zhuanlan.zhihu.com/p/631214546 2. [ ] https://zhuanlan.zhihu.com/p/436850004 3. https://zhuanlan.zhihu.com/p/513598386 4. https://zhuanlan.zhihu.com/p/493802718 @@ -53,7 +53,7 @@ rating: ⭐ ### 贴图 - base:基础色 - [x] rgb:亮面颜色 - - **a**:?basecolor的A通道用于区分皮肤区域和头发区域? + - [x] **a**:basecolor的A通道用于区分脸、身体区域和头发区域。BGT会兜帽内侧与脸都是黑色、头发是灰色;MAY头发是灰色,身体与头是黑色;RAM、JKO身体与头发都是黑色;SOL正脸、头发是黑色,侧脸是白色。 - ShadowMap (SSS) - [x] rgb:暗面颜色 - **a**:? @@ -62,39 +62,27 @@ rating: ⭐ - `0` 无高光、无边缘光。为角色的眼睛或者眉毛,有个例外:JKO的头发。 - `(0~50]` 计算高光?、边缘光。主要的渲染区域,为角色的主要衣服与皮肤。 - `(50~100]` 贴图绘制高光(ILM.b)、有边缘光。为角色的**头发**与衣服。 - - `(100~150]`计算高光、无边缘光。为角色身体上的金属边缘或者刮痕,BGT身上的金属物件? + - `(100~150]`计算高光、无边缘光。为角色身体上的金属边缘或者刮痕,SOL的武器。 - `(150~200]`贴图绘制高光、无边缘光。为角色身体上大部分的金属物件。SOL腰带上的铁环与肩膀处的铁环。 - `(200~255]` - [x] ilm(G):阴影与高光Offset - - ilm(B):高光遮罩 ? 高光类型Mask。 - - `[0,128)`:无高光 - - `128`:裁边高光 - - `(128,255]`:PBR高光 + - [x] ilm(B):高光遮罩 ? 高光类型Mask。 + - 目前猜测,计算高光,使用数值调整高光大小,类似Roughness;高光Mask直接使用这个Mask。 + - `0`:无高光 + - `128`:计算高光区域。 + - `(128,255]`:(128,255) => (0,1) 高光Mask - [x] ilm(A):本衬线(基于UV制作,风格化内描边,原理参考先前文章),内描边Mask。 - [x] detail(texcoord[1]):细节贴图,第二套UV。 - [x] decal:贴花,单独一个材质。 - VertexColor - [x] VertexColor(R):AO - - VertexColor(G):用于区分身体各个部位。 - - Xrd翻译文章:对应到Camera的距离,轮廓线的在哪个范围膨胀的系数。 - - VertexColor(B):描边粗细,也就是Backface Outline的挤出数值。 + - [x] VertexColor(G):猜测是轮廓线的PixelDepthOffset,以此解决角色叠在一起可能会出现的问题。 + - ~~Xrd翻译文章:对应到Camera的距离,轮廓线的在哪个范围膨胀的系数。~~ + - [x] VertexColor(B):描边粗细,也就是Backface Outline的挤出数值。 - Xrd翻译文章:轮廓线的Z Offset 值 - ~~VertexColor(A) ~~:不存在 - Xrd翻译文章:轮廓线的粗细系数。0.5是标准,1是最粗,0的话就没有轮廓线。 -- OLM? - -### ILM.R -为整体、同一的色块,判定为区域判断用。 -- 0 -- 49~50 -- 99~100 -- 200 - -特例:BGT出现了80、150数值。 - -### ILM.B -有出现Ramp,判定为高光形状Mask。 - +- [x] OLM:皮肤Mask,部分角色RAM、JKO还会包括头发。颜色数值不一定相同(RAM就不同)。 ### TODO - [x] 实现AmbientOcclusion叠加阴影效果。