主题:  怎样在Maya里面得到高质量的Z-Depth图像——worc

5D荣誉斑竹

职务:普通成员
等级:5
金币:10.0
发贴:1326
注册:2002/2/13 13:21:48
#12002/12/8 11:54:20
最近很多人问我怎样在Maya里面得到高质量的Z-Depth图像,我在这里简略的说一说。



Maya自身的Z信息没有消锯齿、没有Motion Blur,在后期合成使用时总有诸多不便。这时,需要另寻他路。

我习惯用材质来模拟所要的Z信息,无非是“近白远黑”或相反。

且看附图,简略解释如下:

“distanceBetween”节点通过“createNode distanceBetween”命令得到,用于计算两个输入点point1和point2之间的距离;

samplerInfo输出point camera信息给diatanceBetween的point1,那么distanceBetween节点的point2就可以人为设置成<<0,0,0>>——因为这时在计算取样点与摄像机之间在摄像机坐标系下的距离,而在该坐标系下,摄像机坐标为<<0,0,0>>;

通过clamp和set range节点将取样所得距离转化为在0~1之间的对应位置,继而控制ramp的颜色变化;

ramp控制surfaceShader的out color,geometry被赋予surface shader之后,不在有光影信息,只存在黑与白。



要点:

1. 所以用摄像机坐标系,是为了图方便,可以减少计算,提高工作效率,但如果坐标系经过缩放,那就不合适了,需要多转一些弯,如:将point1与point2转换到同一坐标系下计算,或者提供对应的matrix信息给distanceBetween,或者什么也不改,只是控制数值范围——这样不直观但也能达到要求......

2. 通过clamp和set range设定最近点和最远点,配合ramp的调整,可以得到合意的变化。



总结:

这样做,渲染后得到的图像就是经过消锯齿,可以带MotionBlur的Z-Depth信息。



思考:

Maya其实很灵活,关键在于要分析清楚制作的需要和目的。

图片如下:

编辑历史:[这消息被koodoo编辑过(编辑时间2002-12-14 23:37:41)]


gump

职务:普通成员
等级:1
金币:1.0
发贴:140
注册:2002/9/16 18:34:22
#22002/12/8 22:28:08
[您无权限查看这个帖子,您的积分需要大于 20000 ]
这是为什么啊?



shittnt

职务:普通成员
等级:1
金币:0.0
发贴:49
注册:2002/2/3 20:39:49
#32002/12/10 0:29:59
怎么看不了啊



shittnt

职务:普通成员
等级:1
金币:0.0
发贴:49
注册:2002/2/3 20:39:49
#42002/12/10 0:30:49
积分要大与20000
FAINT !!!!
我才166分啊



ljjdaydream

职务:普通成员
等级:1
金币:0.0
发贴:15
注册:2002/11/13 23:24:25
#52002/12/10 1:15:26
斑竹,你自己也在才4484分,你自己也不看?



5D荣誉斑竹

职务:普通成员
等级:5
金币:10.0
发贴:1326
注册:2002/2/13 13:21:48
#62002/12/10 13:11:08
开个玩笑,呵呵



coolhu

职务:普通成员
等级:1
金币:0.0
发贴:103
注册:2002/6/7 10:35:24
#72002/12/11 15:32:47
5DMaya斑竹也爱开玩笑的啊。倒