欢迎光临散文网 会员登陆 & 注册

ray渲皮肤效果优化

2021-08-26 18:11 作者:唐·露·露  | 我要投稿

       Hello,这里是被宛倾然大大的ik渲染皮肤效果(BV1dQ4y1Y7HC)惊艳到,然后折腾(被折磨)了一个晚上研究出适用于ray渲的类似加强阴影处皮肤透光效果(sss效果)的露露。(捂脸)

      不过这个需要有一定的Blender操作基础,1.5及其以上版本的ray渲的操作基础


多图流预警


废话不多说,先上图:

ray渲原生skin效果(kei式鬼童丸)

修改后的效果 (kei式鬼童丸)

操作方法:

准备阶段

先把需要进行皮肤材质改变的模型丢进Blender,不过为了节省制作oa贴图和曲率贴图的次数建议先把模型丢进pe里进行修改。(一个一个做会累死的

删除骨骼,物理;将模型共用贴图的部分进行合并。

做脸部OA,曲率贴图时可以合并的贴图

把模型丢进Blender,关闭多余材质并打开Cycles渲染,这里以“颜”的材质为示范进行修调。

导入模型
删除不需要材质(以面部举例)

这里为了能够明显看到效果我选择了用日光灯照射半边脸。



AO贴图的制作(以“颜”材质为例)

我们先把脸部的材质换成Blender的sss材质,这样做出来的AO贴图会比一般丢进ShaderMap或者直接PS硬杠AO贴图要精细很多。(下图为AO贴图生成对比)

不过一般场景用的AO贴图用ShaderMap或者直接PS硬杠就够了,反正又不凹光线,全靠法线。

Blender用sss材质生成的AO贴图
ShaderMap生成的AO贴图


然后,就是在Blender里的操作了:

新建一个材质,把脸的材质换成Blender内置的sss材质

这里把贴图替换成模型本身的贴图(1),然后根据自己的喜好对sss的透光效果进行调整(2)

这个只影响到模型后期在ray里面的立体度和阴影透光情况。


打开渲染版面,在Cycles渲染下进行贴图烘焙
导出AO贴图

然后我们就会得到这样一张比较精细的AO贴图了。

AO贴图


曲率贴图制作部分


这部分的制作方法部分参考了BV1eJ411k7Yg的方法。

由于直接文字描述太复杂了我就直接图文解释吧:

首先需要先打开着色编辑器(下图模型下方的那个东西)

这个一定要打开,不然做着做着会混乱的(来自我这个菜鸡的咆哮)

如果你是编程大佬或者动画大佬请无视

先删除脸部原有材质并新建一个材质
新建材质后着色编辑器里会显示下面的那个图片
把“原理化BSDF”删除替换为“自发光”并把自发光右边的小绿点连接到“材质输出”的“表面”那个小绿点上。
添加几何数据,把尖锐度连接到自发光的“颜色”一栏
在几何数据与自发光之间添加一个颜色渐变并调节黑白渐变

这一步比较重要,直接关系到了贴图质量和ray渲里的透光效果(光打过来皮肤受光面和阴影之间的那条红线)

由于是昨晚临时起意,几乎通宵的研究,所以调高和调低的效果还没有进行测试,但整体推荐和ray自带的TDA皮肤曲率贴图保持一致,至少颜色不要差太大。

ray渲的TDA贴图位置如下:

插入一个新的图像纹理并新建一个图片(右下方)
选择自发光和材质输出的选项
烘焙自发光得到“曲率贴图”

用这个数值做好了的曲率贴图长这样:

童童的面部曲率贴图

虽然没有AO那么精美但也能凑合着用了,配合AO的阴影处透光效果能够弥补曲率贴图的一些小瑕疵。


ray渲材质修改

终于!到结尾了,到这里我们已经准备好了两张贴图,现在我们需要把这两张贴图复制进ray的Materials→Skin这个文件夹里。

AO和曲率贴图

好的!到这里请打开你的ray渲,怼上你的模型和天空盒准备好修改你的材质了!(开始愉快的折腾模型)

首先复制一份skin材质并进行改名(身体的部分复制身体的),让你的模型使用这个材质。

打开天空盒的sss+

(其实也可以不打开,反正一打光就出来了,特别是那种喜欢强光打光的人,没错,就是我)

红圈圈里的打开,一半左右就可以看到明显效果了


把我们做的两个贴图加进ray渲的材质里面

需要改动的位置如下:

#define OCCLUSION_MAP_FROM这一行是我们的AO贴图,把0换成1是开启。其他不用管。

#define CUSTOM_A_MAP_FROM    和  #define CUSTOM_B_MAP_FROM      是我们的曲率贴图,全开。


const float customA = X.X;

const float3 customB = SSS_SKIN_TRANSMITTANCE(X.XX);

这两个是调节皮肤被光找到有多红的一个东西,范围在0-1之间,不过千万别调1,随便一个光源就能让人物的肤色红得和猴子屁股一样了。


#define CUSTOM_B_MAP_COLOR_FLIP 

#define CUSTOM_B_MAP_APPLY_SCALE 

这两个必须要开,不然我们做的曲率是没有效果的。


#define SSS_SKIN_TRANSMITTANCE(x) exp((1 - saturate(x)) * float3(-8, -26, -69))

这个看个人情况可调可不调,float后面的三个数值分别是BGR(注意,和正常的RGB是刚好相反的)


这里调好后的样子:

由于我比较喜欢粉嫩嫩,软fufu的皮肤所以调的偏粉

最后附上各贴图单独编入ray的材质里的效果:

原版rayskin材质效果
只加入AO的效果(阴影部分的脖子,脸部边缘变红,变透光)
只加入曲率贴图的效果(肤色回暖,明暗分界处红色的透光效果增强)
两个贴图都编入

两个都编入直接获得一张粉嫩嫩的小脸~


最后的最后,由于是通宵研究,之前并没有接触过曲率贴图和Blender烘焙外加塑料自学水平,所以难免有不严谨的地方还请大家多多见谅啦~

ray渲皮肤效果优化的评论 (共 条)

分享到微博请遵守国家法律