Vface详细逻辑讲解
Thepoly原创 15366 0
实名

通过了实名认证的内容创造者

发布于 2023-4-27 12:02:11

您需要 登录 才可以下载或查看,没有账号?注册

x

81206981b603f57a91c07389ac43df78.jpg


Hello . 大家好
今天给大家带来Vface逻辑详细讲解我是GUAGUA

a8e7f8990925571c6f19c9a600dbce26.png

大家好我叫曹嘉俊,今天给大家分享的是vface使用以及如何在Arnold渲染器里还原效果。首先我在官网购买了vface素材可以得到以下一些文件。








这次分享我们主要会用到以上这些文件,这是我们做面部高质量细节的主要素材,vface提供了2种形式的面部模型,一个是睁眼的头部,一个是闭眼的头部,根据需要选其中一个,如果你做的是一个后期需要做表情动画的模型,我更加建议选择闭眼的模型,因为睁眼模型在你做眨眼动画的时候,眼皮会出现贴图拉伸的情况,静帧作品则不需要顾虑这个问题直接选择睁眼模型即可。

先说制作流程,其实非常简单,用vface的模型通过wrap或者Zwrap包裹你自己的模型,然后传递贴图,最终在maya或者其他3D软件里渲染。流程虽然简单,但里面会有很多需要注意的地方,否则无法正确渲染面部细节。
1模型清理




首先我们需要将vface提供的模型加载到zbrush里并且和我们雕刻模型的进行匹配(大概匹配即可不用非常精确主要是五官位置匹配上就可以);

然后就可以进入Zwrap或者wrap进行包裹(这里不做演示因为这个并不是今天要分享的重点);
最后将包裹好的模型导入zbrush替换掉vface模型;
在zb用Project笔刷把包裹模型的面部与自己雕刻的模型进行一些更加精确的匹配,匹配好后你将得到一个与你雕
刻模型完美匹配的模型,这个时候我们就可以进入Mari里进行贴图传递了。





2使用Mari传递贴图




来到mari里我们首先设置项目,导入我们自己雕刻的模型或者包裹匹配好的xyz模型都可以,在Channles通道去掉其他通道只保留basecolor通道即可,我们可根据需要自定义通道。



我们现在看到的是模型导入mari的样子,这个时候我们需要设置DIFF\DISP\UNITY\这几个自定义通道来导入vface贴图。
首先DIFF通道的设置尺寸保持原始大小16k,Depth设置16bit(后期可以有更多的色彩深度控制,当然也可以设置成8bit),重点是色彩深度设置成16bit或者32bit时,需要将色彩空间设置成linear,8bit则设置成srgb置换贴图尺寸保持16k,Depth我更建议设置成32bit,你会得到更多的细节置换信息,色彩空间同样保持linear,需要勾选Scalar Data(因为置换是3个通道RGB组合成的一张彩色图,需要保持灰度数据)混合贴图设置和颜色贴图一致,但也需要勾选Scalar Data(这个图的作用是作为颜色遮罩调色或者作为权重遮罩使用)。













接下来我们可以利用object面板追加我们自己的模型进来,为传递贴图做准备;



鼠标放在任意通道点击右键,在弹出菜单选择Transfer命令,会弹出贴图传递的菜单。
在传递菜单中第一步选择需要传递的通道,第二步设置好传递对象,第三步点击箭头,第四步设置尺寸,最后点击ok键即可
一般我建议一个通道一个通道的传递,因为速度非常非常的慢,需要等待很长时间。尺寸我一般颜色选择4K,置换选择8k,混合通道选择4k。这一步需要非常耐心!





Vface原始效果


传递之后的效果









传递之后我们就可以导出贴图,导出贴图设置如图,我们有必要注意色彩空间的设置(红框处)颜色通道设置的色彩空间是linear,导出时设置也应该设置成linear,置换和混合贴图输出比较特别,我们在建立通道的时候设置的色彩空间是linear,但导出是需要设置成srgb,因为置换和混合图都是R,G,B 3个通道组合成的彩色图,最后点击输出按钮就可以了。



Vface原始颜色效果


导出后颜色效果

Vface原始置换

导出后效果简单来讲就是你输出的贴图需要和vface提供贴图色彩一致,过亮或者过暗都是错误的;(这一点一定要注意)3Arnold渲染










默认设置效果这个时候我们可以来到maya对我们制作的vface贴图进行渲染(这里就不具体介绍灯光环境和材质了,主要介绍置换贴图的链接方法),首先我们导入传递好的vface贴图,在什么默认情况下渲染看看会得到什么结果,显然我们得到了一个很丑陋的结果,那要如何设置才能得到正确效果呢?






这里我们添加一个aisubtract节点(这个节点你可以理解成减法或者排除节点),因为vface默认的中值是0.5而arnold更喜欢中值为0的置换贴图,所以我们将vface颜色输入input1,将input2的颜色改成0.5的亮度值,这相当于把vface的默认0.5的中值亮度减去了0.5的亮度信息,最终我们等到了一张中值为0的置换。


中值0.5

中值0




设置好中值以后我们可以在添加一个aimultply节点,这个节点可以理解成乘除节点,和maya自带的乘除节点功能一致,主要控制vface置换的整体强弱,我们可以将aisubract节点的颜色输出给aimultply的input1节点,可以通过input2的黑、灰、白来调整vface整体细节置换的强度,(任何数值乘以1都等于1,任何数值乘以0都等于0,在计算机中我们所能看到的颜色其实对于计算机来讲都是数值,我们通过简单的数学计算可以改变数值大小,从而改变贴图强弱,知道这个道理后我们就明白为什么要用乘除节点来控制置换强度了)





接下来我们添加一个ailayerRgba节点,将aimultipy中的R,G,B三个通道,分别连接到ailayerRgba的input1、2、3的R通道,通过这个节点的mix属性我们可以对vface的3个通道(R,G,B)的置换强度进行分别控制,在我们一系列的设置以后我们就可以得到正确的且可控的vface置换的渲染结果了。


Vface-disp

ZB-disp


Vface+Zb Disp



Zb导出置换设置虽然我们得到了正确且可控的Vface置换结果了,但并没有与我们在Zbrush里雕刻的置换相结合,我们需要想办法将两者结合得到我们最终的置换效果。
这里我用到了aiAdd节点将两个置换贴图进行相加最终可以得到我们Vface置换+ZB置换的效果(当然你用maya默认的加减节点也是可以的)。
不管你有多少个置换贴图元素(比如脸上的刀疤等)都可以将它们通过aiAdd节点进行结构,得到复合置换效果,这样制作的好处是可以随时调整每个置换通道的强弱信息,不用在不同软件里导来导去。很标准的线性流程做法。



默认效果



校色后最后我们将传递好的颜色贴到subsurface color上默认情况下我们会等到一个颜色很深贴图,这并不是错误的,Vface默认模型也会是这样的颜色,我们可以通过colorCorrect节点的色相、饱和度、明度,对皮肤颜色进行校色,这就是为什么我会选择16bit的颜色去烘培的原因,我可以得到更多可控颜色,校色后我们得了到一个正确结果,(当然目前的效果只是粗贴的效果,我们还可以对贴图进行深入加工得到更好的结果),至于高光贴图和其他一些贴图的制作,因为篇幅原因就不再这里进行讲解了,后面有机会在和大家分享。希望通过本次分享能给大家带来帮助。
关于这次vface的分享具体操作可以访问作者B站,有更为详细讲解:
https://www.bilibili.com/video/BV1Ko4y167QD/?spm_id_from=333.999.0.0&vd_source=a1e88639cb0107e584ad5626af621799


还没有设置签名!您可以在此展示你的链接,或者个人主页!
使用道具 <
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表