一,关于绒毛渲染原理,网上可参考的资料非常多,这里可参考:
https://www.xbdev.net/directx3dx/specialX/Fur/index.php
二,渲染方案
1. 绒毛是立体的,但我们衣服是一层片,所以渲染方案是:
绘制多层,每一层按照权重值向外挤出。
并且根据权重值裁剪,越向外裁剪的越多。
绘制多层,一种比较简单的方案是将此衣服mesh就做成多层的,每一层的权重值存储在顶点颜色中。
当然还有通过多pass等方案渲染的。
顶点外挤代码参考:
2. 关于裁剪,可以采样可tiling的noise贴图,与层级权重值来做一些运算来生成裁剪值,当然注意最里层不能裁剪,参考代码:
3. 当然,还可以用一张风力图来扰动uv,还可以加上ui动画来模拟有微风吹拂的感觉,参考代码:
4. 最后,由于我们shader是在棉麻shader上做的,可以用层级权重值来影响ao和sheen color,使得效果更好。
最终效果如下:
原始棉麻质感衣服:
加了绒毛的衣服:
转载请注明出处:https://www.cnblogs.com/jietian331/p/17062472.html
标签:衣服,权重,渲染,裁剪,Shader,PBR,绒毛,Unity,参考 From: https://www.cnblogs.com/jietian331/p/17062472.html