反正都做mod了,自己留着技术不用也是荒废,不如直接公布出来得了
这是我用毕生所学制作的二次元卡渲shader,其实我是TA来着
适用于unity的buildin管线,针对卡渲内容用Forward渲染
但是这个shader不是很搭配塔科夫的Forward+延迟管线,譬如深度测试可能会出错,在开启了HBAO和SSR的情况下更明显
会出现角色“半透明”的问题,这是尼基塔的大坑,我改变不了什么,我只是提供了一个可爱的卡渲shader~
如果你要我的shader做mod,请务必标注来源!不然我会很介意的
——分割线——
以下是一些shader特性的介绍
基础功能:二分着色,边缘光,基于法线翻转的外描边,拥有描边距离衰减,基础的alpha test功能(图中眼睛高光)
为了适应塔科夫游戏实际内部的效果,shader里特意给最终颜色输出压低到原来的0.5倍,因为如果按正常亮度输出进塔科夫会过曝~尼基塔的大粪管线~
如果你觉得太暗/太亮,请修改代码里的
#define EXPOSURE 0.5
把0.5变成0.6就变亮,变成0.4就变暗,0-1范围内调整就行
2:针对胶衣,皮衣角色的shader变体
在拥有任意光源下,会计算简单的冯氏高光作为面向光源的高光,其次为了补足暗面高光,还有基于matcap的假环境反射
至于matcap是干啥的,这玩意和cubemap有异曲同工之妙吧只能说,但是开销比cubemap更小,更适合制作反射和高光~
你给了什么matcap贴图,他反射出来的样子就啥样,matcap贴图里的高光点越明显越亮,那么材质看起来就越圆润光滑
(此为无主光源下的高光+matcap效果)
3:Mask材质
为了制作角色的眼睛高光,基本上都往上贴了个半透明的高光贴图,所以我的材质需要做alpha test来适配半透明/mask效果。
当然目前只有mask效果,半透明以后再说吧,不过也够用~
(HK416的眼睛高光就是用mask材质做的
4:材质参数解析
看得懂中文就行,然后根据自己的艺术细胞发挥主观能动性调节参数就行
至于那个Custom Ambient,如果你不想动shader里的exposure来调整角色亮度,就调Custom Ambient,把颜色变暗也是一样的
针对胶衣/皮衣的shader就多了以下几个参数
matcap贴图不会弄,就看上面我挂的知乎链接,自己拿PS手画一个也很快的
5:食用方法
因为shader做完了,所以可以开箱即用
在unity里创建个新的材质
然后选这个材质的shader为custom/SimpleToon就行了
如果用胶衣,就选下面的_Latex变体
然后把材质拖拽到模型上,调参数,就ok了
————完结分割线————
以后可能会继续更新二次元人物和shader的内容,谢谢支持喵
目前不支持的效果:
HBAO,屏幕空间反射(SSR),半透明的(translucent)卡渲材质,热成像效果
仅需要个免费的金币就可以下载使用喵~
祝你们玩的开心~
隐藏内容需要付费才可以看见






















