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

【MMD教程&杂谈&配布】在ray渲染中使用乘算Sph和相应的通道贴图

2022-05-20 06:05 作者:三金络合物  | 我要投稿

封面那个画是著名鸽手 空旧 画的!

大家好呀!又双是我!

和以前不同,这次是用专栏的方式和大家探讨一下MMD在ray中使用Sph的一些个人拙见,并且讲一些我认为有必要的知识点(但可能和原主题关系不大)

首先我想和大家讲一下,ray目前是怎么进行加算Sph的。

先说我的结论,在ray的Main栏目中使用的Sph贴图,最终效果其实是通过类似后处理的方式描绘上去的,也就是把只有Sph的画面和ray渲染的画面两个画面加算在一起。

文字很难描述,所以这里上图解释。

这张渲染图没有在Ray的main栏目使用Sph

然后我们什么MME都不载入(包括ray.x文件),只在main栏目载入ray里对应的带Sph的main文件的话,我们可以得到下面这张图。

可以看到只画出了Sph,模型全黑了

我们可以看到这个画面只画出了Sph,而载入了main文件的人物会变黑。这其实就是ray的main文件的其中的作用,把模型变成全黑的剪影遮罩,对含透明度的贴图按照阈值切割舍弃,以及画上Sph

为什么要把模型变黑?因为不变黑的话,ray的画面出来以后要和带贴图的画面加算,就会变得很亮!这也是为什么载入Ray后不载Ray的main文件的部分会很亮的原因!

之后我们在PS对这两张图片进行加算(线性减淡(添加)),就可以得到下面这个样子了!

在PhotoShop中对两张图加算处理

然后我们看看MMD里ray上载入带Sph的main文件后的样子。

第一张图的基础上载入带Sph的main文件

是不是效果近乎一模一样!!

如果你理解上面所说的,你就能理解ray的main文件的作用,ray是怎么叠加Sph的,以及为什么不载入main文件或者用了其他的渲染的main文件画面会变得很亮了!

因为你载入了其他的main文件以后,这层画面的模型不再是全黑的,和ray的画面再一相加,直接亮死了。

咳咳,扯远了,上面也想说明一点,想让ray用上乘算Sph就不能从main文件下手,因为怎么改main文件的代码,最终都是类似后处理的方式和渲染画面相加;另外如果把他们的混合模式改成相乘,那没有Sph的地方就会直接全黑

因此!我从material文件下手了!

接下来就是配布相关了!

我修改了材质文件的fxsub,追加了对Sph的计算,使用Sph贴图来进一步改变材质的albedo反射色

打开fx文件,第24-30行,你可以看到我追加了这么一段定义。

注:Matcap就是Sph,一样的!

然后第24行的值,

0就是不启用

1就是乘算

2就是加算

第25行用来指定Sph的路径

指定了Sph的路径,并且是乘算!


然后你可以通过第29行的值来改变强度

五倍的乘算!!


并且你可以通过使用float3()分别控制RGB的强度

R通道五倍,G通道和B通道强度为0

这样就不用去专门改Sph的颜色了!不管加算乘算都可以这么做,很方便!


然后接下来要讲的是第30行影响程度,其实很好理解,

当这个值为0时,就是完全不受Sph的影响;

当这个值为1时,就是完全受Sph的影响;

当这个值介于0-1之间时,就表示Sph影响的程度

其实这个数值单独拿出来没有很大的实际意义,配合通道贴图使用你就能明白了!


这里拿头发高光举例,这里没有使用Sph

没有使用Sph

然后是载入了Sph,调了一下颜色,模式为2(加算)

这片头发都亮了!

接下来我们用这张表示影响程度的通道贴图,

纯黑色的部分代表数值为0(完全不受影响);

纯白色的部分代表数值为1(完全受影响)。

左边这张就是制作出来的通道贴图了!
启用通道贴图!非常的完美!

到这里大家一定知道通道贴图的用处了吧!他可以做到不分离材质但是让材质的不同部分效果不同

并且如果用抠图和复制材质面的方式分离出来的话,在Ray里因为透明阈值切割不能存在半透明区块(特指main文件),会导致锯齿感相对比较强烈


最后顺带一提,这里的Sph影响材质的Albedo,不会像画面后处理加算那么的明显

他会受到光照,法线贴图的影响,因而会更加自然,但也需要你更多的耐心。


最后这里在贴一下乘算的效果!

这个质感suki!!



以上。

感谢你可以耐心的读到这里。


此专栏涉及到的借物,感谢太太们的配布。

模型:miHoYo/观海/烛哥你是我的神

MME:Rui_cg/ikeno/针金p/そぼろ/P.I.P/山田淀子/less/Elle/データP/ビームマンP/三金络合物

终于到配布地址了额,从凌晨写到现在天都亮了!

配布地址:

https://bowlroll.net/file/281701

里面呢有两个版本,分别用于 ray - 1.5.2ray - dev ,大家按自己的版本选择即可!

#更新20220727

修正matcap的错误方向,对齐进行垂直翻转以保证和PmxEditor中效果一致。

#更新20240322

追加ALBEDO_MATCAP_MAP_AFFECT_SWIZZLE参数,可以自由选择使用哪个通道作为影响值。

如果之前已经下载过,可直接替换fxsub文件。



【MMD教程&杂谈&配布】在ray渲染中使用乘算Sph和相应的通道贴图的评论 (共 条)

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