咨询电话:400-810-1418服务与监督电话:400-006-6572

Nuke与Maya的场景互导(一)

发布时间:2019-11-21 14:20:14

对于同一个场景文件在不同软件之间互相转换,我们当然希望可以实现无缝衔接。使用一个文件格式,所有的软件都可以完美支持,看似好像不太可能,但实际上这在国外的影视制作公司来看并不是什么稀奇的事情。为了工作流程的需要,把各个软件串联起来使用,减少流程环节上的成本是非常有必要的。如著名的ILM工业光魔,其开发的图像文件格式OpenEXR,自始至终贯穿整条流水线。因为EXR文件超高的动态范围,只要把Gamma Space统一为Linear [线性],既可以用于胶片扫描后的输出格式,又可以作为三维软件里的贴图使用,确保在后期软件中合成的所有素材的色彩空间统一。Nuke、Houdini和Maya软件图标如图左所示。

这里先来看一下Nuke的输入输出模型节点——ReadGeo 和WriteGeo,如图右所示。

 Nuke与Maya的场景互导(一)

ReadGeo [读取模型节点]目前支持的文件格式为Obj和FBX。模型可以导入meshes [网格],如果是hurbs/pathces [NURBS/面片],则会被转换为meshes [网格]。对于FBX文件,可以导入模型文件,但导入不了材质和贴图,在导入FBX文件时meshes [网格]会把vertices [顶点]、normals [法线]、JUVS、 vertex colors[顶点颜色]按照每帧为单位,逐帧导入进来。

WiteGeo [输出模型节点]目前只能输出Obj文件,输出FBX文件需要到新版本的Nuke软件中才能实现。

注意 :如果三维模型是在Nuke软件里面创建的,输出0bj文件 ,导入到Maya中,模型的点法线是错误的。

一、导入Maya场景模型

(1)如图所示,这是在Maya中创建的一个三维场景,包含带有动画的模型、灯光和运动的摄影机。

 Nuke与Maya的场景互导(一)

(2)如图左所示, 从Camera[摄影机]视角去观看结果,红色的十字架模型是带有旋转动画的。

(3)查看十字架模型的属性,发现Rotate.z设有动画值,如图右所示。

 Nuke与Maya的场景互导(一)

(4)如图所示, 我们同时发现其世界坐标的轴心点位置设置在了十字架的中心上,所以十字架绕着中心点旋转。

 Nuke与Maya的场景互导(一)

二、Maya Camera Attributes

Camera [摄影机]同样设置了移动和旋转的动画,图左为Camera Atributes [摄影机属性]面板。

Angle ofView:即是View of field [摄角] FOV, Maya使用的是Angle of view的名称。

Focal Length [焦距] :值为28mm,只有焦距的单位为mm [毫米],其余都是Inch [英尺]。

Camera Scale:焦距缩放参数。

Near Clip Plane/Far Clip Plane:近远剪切平面。

FilmBack卷展栏中便是成像平面的属性参数。

FilmGate [胶片框] :提供各种尺寸的胶片参数预设,如图右所示。

 Nuke与Maya的场景互导(一)

Camera Aperture [成像平面门:由于Maya里的Camera [摄影机]使用的单位为Inch [英尺],所以这里的haperture值为1.417 inch, vaperture值 为0.945 inch。

Film Aspect Ratio [成像平面宽高比] :成像平面宽高比。

Film Aspect Ratio = hAperture / vAperture

Lens Squeeze Ratio [成像平面缩放率] :调节此值,会改变成像平面的大小。

既然有了上面的参数值,按照FOV公式实际计算一下

FOV = 2 * arctan ( aperture /( focal length * 2 ))

Aperture在这里的haperture值为1.417 inch, 1 inch 2 25.4 mm,

Aperture = 1.417* 25.4 = 35.9918

Focal Length: 28

把上面的参数值代入到下面的公式中,这里是使用Python书写的,如图左所示。

import math

Fov = 2* math.atan (35.9918/( 28*2)) * 180 / math.pi

print Fov

得到的Fov结果: 65.458578909555115

可以看到得到的Fov值同Angle of View是相同的。

(未完待续)