- 36
- 0
- 约1.85千字
- 约 6页
- 2017-04-11 发布于江苏
- 举报
关于Maya与nuke摄像机转换
不同软件间三维摄像机互导(如Maya导Nuke等)经常会出现无法匹配的情况。出现这种情况的原因一般是相机的Film Gate (Nuke内叫做Film Aperture)和渲染的Resolution Gate两者宽高比例不相等。Film Gate 在maya内由相机的Camera Aperture属性控制: Resolution Gate就是图片的渲染尺寸:
在Nuke内同理。
如上图,红色代表Film Gate,蓝色和绿色代表Resolution gate。由 上图可以看出Film Gate和Resolution Gate的关系。由于这两个属性的宽高比例不等,软件在渲染的时候就要决定是匹配宽边还是匹配高边,也就是像绿色框多渲一块还是像蓝色框少渲一块。不同软件对两个属性的匹配方式不同。Maya提供四个选项:1.Fill ( 总是匹配最短边)2.Horizontal (宽)3.Vertical (高)4.Overscan (总是匹配最长边)Nuke只有一种方式 Horizontal——总是匹配宽边。如果Nuke渲染绿框而Maya渲染蓝框结果自然就不匹配了。为了避免这种情况,最好在建相机的时候就把两个的比例统一,后面就不会再有任何麻烦。可是现实中你总是把这个步骤忘记,重新修改相机已不可能或由于某种原因必须保持两个参数的不一致而后面的步骤又需要将相机导到nuke内。这个时候怎么办?先分析我们的情况:1.因为相机在三维空间中的位置不变,相机的焦距也不变,因此即使放大或缩小Film Gate相机的透视都不会变化。(现实中也许会有镜头畸变的因素使图像发生变化,三维虚拟相机没有这种情况的。)2.上图红框和绿框的比例是相同的,假设在纯二维的情况下,我们只需要放大或缩小其中一个就可以了,但是简单的放大或缩小图像会使图像有损失。基于以上两点我们可以通过在nuke内渲染一张高分辨率的图片然后裁切需要的部分或放大Film Aperture渲染需要的部分重新的到一幅图像使两个软件的画面一致。具体如何操作还需要仔细了解一下两者之间的关系。
图一? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?图二上边两图红色代表Film Gate 绿蓝代表匹配宽边或高边两种不同情况下的Resolution Gate。如图所示我们最终渲染的图片无非就是四种情况。而主要以两个参数比是大于一还是小于一来区分。举个例子,就拿最常见的maya默认相机导入nuke匹配2048*1556最终输出分辨率。这个情况是图一,Maya默认相机(Film Gate)的宽高比是:Fx / Fy = 1.41732/0.94488=1.5 = Rf。渲染尺寸(Resolution Gate)比为:Nx / Ny = Mx / My = 2048/1556=1.3162 = Rr。Rf / Rr 1。所以是第一种情况。在这种情况下由于nuke对应的是宽边,因此绿色是nuke最终的渲染区域,而maya默认相机的匹配方式是‘Fit’,在这种情况下是短边,就是图中的蓝色区域。我们要做的事情是将图中蓝色区域的分辨率提高到与绿色区域一致,然后再将这部分裁剪下来。这时得到的图像就与需要合成的背景完全匹配了。那么需要将画面的分辨率提高多少才能完全匹配呢。观察图一我们可以通过这种关系换算过来,我们需要的就是一个系数 SMy x S = Ny由上图我们得知:My = Fy Fx = NxNx, Ny 均为已知量:? ?My x S = Ny? ?Fy x S = 1556? ?Nx / 1.5 x S = 15562048 / 1.5 x S = 1556? ?S = 1.1396484375v根据计算我们只需要把nuke内scanline Render 节点的bg连上一个 2048*1556 *1.1396484375的背景然后用Crop 节点截取 Scanline Render渲染出图片最中间2048 * 1556那一部分就可以了。
其它情况的转换同理。
在nuke内未转换渲染的图片? ?? ?? ?? ? maya直接渲染的图片? ?? ?? ?? ?? ?? ?? ???经过nuke转换的图片与maya完全匹配
原创力文档

文档评论(0)