编者按:万众瞩目的Maya2013令人惊艳的新功能,想必众多CGer已经有所耳闻了,此次升级既有重头戏Node Editor和GPU Cache,又有实用而又给力的比如nHair,Atom,Mandelbrot Textures,Retime Tool,Free Image Plane;总之,新功能众多,交互性也更加方便。那么,Maya2013这些新功能如何使用,实际应用效果如何?Autodesk官方给出了全面测评与解析,让你清晰全面了解Maya2013:
阅读索引
■ 基础篇:Node Editor、Pipeline Cache、File Referencing
■ 绑定篇:Heat Map热量贴图、整合的Human IK控制面板
■ 动力学篇:nHair系统及其他
■ Viewport2.0篇:Consolidate World、材质&灯光、渲染设置
■ Mental Ray篇:BSDF Shader
■ 动画篇:Atom、Retime Tool、Stepped Preview、Live Character Streaming、非线性动画编辑
■ 其他新增功能:Free Image Plane、Mandelbrot Textures、 与3ds Max交互、Ubercam、Playblast 更新
基础篇
基础之Node Editor
长久以来,Maya用户一直都很渴望能用上新的材质编辑器,以清楚的显示节点属性和连接。早在2004年就有热心用户帮忙重新设计了Maya的UI和材质编辑器,如图1,具体细节参看这里"A suggested redesign for Maya‘s user interface" (http://www.creativecrash.com/forums/general-usage/topics/a-suggested-redesign-for-maya-s-user-interface)。甚至在3ds Max也添加了新的材质编辑器(Node Joe)后,Maya还是没有任何动静。曾几何时,在Maya中打开Hypershade也变得巨慢无比。
图1 网友2004年设计的Maya 材质编辑器
现在,好消息终于来了!Maya2013为用户添加了全新的Node Editor(节点编辑器)。使用Window | Node Editor即可打开Node Editor。按Tab键输入要创建的节点名称即可快速创建节点(包括材质节点)如图2。
图2 节点编辑器中按tab创建节点
点击节点右上角的图标即可快速切换当前节点的显示方式,可以显示所有属性,显示连接属性,隐藏所有属性,如图3。
图3
可收缩/扩展显示节点
相比Hypershade来说, Node Editor的打开速度更快,另外一个比较方便的地方是可以同时打开多个节点编辑器(Node Editor),查看不同节点,如图4;不像Hypershape,同时只能打开一个窗口。
图4 同时打开多个节点编辑器
基础之Pipeline Cache
工业光魔(ILM)和索尼(Sony Pictures Imageworks)在SIGGRAPH 2011上发布了一种新的缓存(Cache)格式Alembic,它是个开源项目,并被视为电影级的缓存格式,发布后迅速走红并开始被各大软件所支持。
为此,Maya2013中添加了新的Pipeline Cache,并分为Alembic Cache(由工业光魔和索尼开发的插件,AbcExport.mll和AbcImport.mll)和GPU Cache(由Autodesk开发的插件,gpuCache.mll),如图5。
图5 Alembic Cache插件和GPU Cache插件
使用Pipeline Cache | Alembic Cache | Export All To Alembic或者Pipeline Cache | GPU Cache | Export All,均可把Maya场景导出为.abc文件(即Alembic缓存)。但是使用Alembic Cache或者GPU Cache将Alembic缓存导入到Maya中的效果却不尽相同。
如图6,左侧的模型是使用Pipeline Cache | Alembic Cache | Import Alembic把.abc文件导入到Maya,从Outliner和右键菜单可以看出,Alembic缓存被转换为一般的Maya Mesh,可以编辑顶点/边/面等,但材质信息全部丢失;
而右侧的模型是使用Pipeline Cache | GPU Cache | Import把.abc文件导入到Maya,从Outliner的图标和右键菜单可以看出,Alembic缓存作为一种特殊类型的几何体被导入了Maya,该物体的顶点/边/面无法被编辑,其线框在视图中也被显示为虚线,但保留了基本的颜色和材质信息,物体的位置和方向依然可以被*编辑。
如果使用objectType命令查询左侧和右侧的物体类型,则分别返回mesh和gpuCache。
值得一提的是,GPU Cache和Alembic Cache互相兼容并支持各自导出的.abc文件。
图6 Alembic Cache导入和GPU Cache导入对比
上图右侧的GPU Cache,虽然牺牲了编辑功能(这也正是缓存的特点),但在视图中显示和刷新的速度则大大提高。如图7,对于复杂的场景和动画,使用GPU Cache | Import,可以把帧率从4 fps(Frame Per Second)提高到36 fps!所以如果想要快速预览复杂场景和动画,首选GPU Cache。
在游戏、电影等流水线上,显然不是每个阶段都很需要编辑模型的顶点/边/面,例如Layout(布置),Previz(预览),Lighting(光照)等阶段,大家更希望很快的预览到物体的位置和形状并重新摆放组装,或者快速查看光照阴影进而调整灯光的参数。而这些需求,GPU Cache都可以做到!
本人认为GPU Cache堪称Maya近年来少有的革命性新功能。GPU Cache牺牲了编辑功能而换来了预览性能的极大提升。在电影和游戏场景越来越庞大和复杂的今天(数字城市、大楼爆破比比皆是),可以预料的是,GPU Cache的出现将大大加快Previz(预览),Lighting(光照)等流程。
图7 GPU Cache大幅提升视图交互性能
基础之File Referencing
对于Reference来说,在Maya2013中最可喜的变化是把Reference Editor(File | Reference Editor)的操作添加到Outliner的右键菜单了,如图8,在Outliner中单击右键,即可查看Reference菜单。
图8 Outliner的右键Reference菜单
Maya2013另外一个新功能是编辑Reference文件的动画曲线。旧版本的Maya, 当前场景中不能编辑Reference文件的动画曲线,如图9,Reference的动画曲线在Graph Editor中显示为虚线。
而在Maya2013中,Window | Settings/Preferences | Preferences,打开配置窗口,在Settings|Animation中勾选" Allow Referenced Animation Curves to be Edited"(允许参考动画曲线被编辑)即可编辑Reference的动画曲线。
图9允许参考动画曲线被编辑
在Graph Editor中勾选View | Show Buffer Curves,甚至可以同时显示Reference的动画曲线和编辑后的动画曲线,以做对比(图10)。
图10 同时显示Reference的动画曲线和编辑后的动画曲线
绑定之二:整合的Human IK控制面板
从Maya 2012开始,Maya和Motionbuilder统一了HumanIK操作面板,这使得在不同软件中操作可以获得相似的体验。不过也有人反映操作HumanIK,需要不断地在几个面板中来回切换,不是很方便。于是在Maya 2013中,我们惊喜的发现HumanIK面板工具得到了整合,只需要在一个面板窗口中就可以完成对多个角色的操作。
除此之外,Maya2013中的HumanIK支持对自定义的绑定进行映射。可以使用自己的绑定和控制系统,将这些控制映射到HumanIK的控制系统,然后就可以用HumanIK的功能进行工作了,如图18。
图18 HumanIK可以支持对自定义的绑定进行映射
图19 借助HumanIK把运动捕捉数据传递到自己的角色上
以上改进无疑将提高HumanIK在角色动画流程中的应用范围。
其他绑定功能更新:
1.可以对非线性变形器(Nonlinear Deformers)进行权重绘制了。这将很大程度上提高非线性变形器的使用*度。比如当你创建"弯曲"时,通过权重绘制可以控制几何体上任意部分的影响大小,从而得到一个复杂的造型。
2.在移动权重时,选择的逻辑得到了优化。第一个选中的为源,其余选中的则视为目标影响。同时,当有某一个影响被锁定时,它将不会接受移动过来的影响值。
动力学篇
动力学之Maya nHair系统
继nCloth和nParticle之后,Maya的Nucleus家族又加入了nHair。虽然在工作流程方面,nHair和之前的Maya Hair并没有很大的区别(同样基于UV分布,同样在梳理上还是有问题的),但使用了Nucleus引擎之后还是有了不小的改进。具体的改进主要有五个方面:
1. 首先是交互速度的提升。经测试,在有大量毛囊以及曲线分段数较高的情况下,nHair的速度提升更为明显。另外值得一提的对于卷曲的曲线,在Maya Hair中很难保持住初始的形状,而nHair则可以很好的解决这一问题。因此,nHair更适合类似卷发或者弹簧等的模拟,如图20。
图20 nHair适合模拟卷曲物体
2. 第二个改进是在处理碰撞和自碰撞方面。碰撞的计算向来是Nucleus系统的强项,所以nHair也继承了这一优良血统。有了这个优势,nHair可以用来模拟很多除了头发之外的效果。比如大量的木棍(如图21),或者是一碗面条(如图22)等等。只需要将所有毛囊的"点锁定"属性设置成"无附加";对于hairSystem节点,设置"每束头发数"为1,"头发宽度"可以设置的大一些,比如0.1;最后勾选pfxHairShape的"绘制为网格"选项,调节一下动力学参数就可以得到一些不错的效果。
图21 nHair模拟大量的木棍
图22 nHair模拟面条
如果你还不满足于这些,也可以将Paint Effects笔刷附到曲线上,这能大大拓展nHair可以模拟的效果,比如蚯蚓(图23),甚至异形(图24)。
图23 nHair配合Paint Effects蚯蚓
图24 nHair配合Paint Effects模拟异形
3. nHair可以使用nConstraint系统来作约束。比如下面这个例子就是nHair结合nConstraint使用的。其中绳索使用nHair来制作,通过"点到曲面"约束来固定到桅杆上。通过nHair,原来需要复杂设置的动力学效果制作将简化很多,如图25。
图25 nHair结合nConstraint,把绳索约束到桅杆上
4. nHair可以使用nCaching来缓存解算结果。nCaching相比之前的hair cache在性能和文件大小上都占有一定的优势。
5. 最后,不过也是整个Nucleus的最大优势所在,就是nHair可以实现和nCloth以及nParticle完全交互。这可以实现很多非常有趣的效果,比如,我们可以往之前模拟的面条里面加点"菜"。图中的橙色方块是nCloth物体,而蓝色的则是nParticle粒子,如图26。
图26 nHair可以和nCloth以及nParticle交互
其他动力学功能更新:
1.在"创建流体缓存选项"中,新添加"每个对象一个文件"。勾选该选项,就可以多选几个场景中的流体容器然后一次性为多个对象创建独立的缓存。
2.Heads Up Display可以支持显示当前场景中的粒子总数和所选粒子物体的粒子数。这对于统计和管理粒子场景有一定的帮助。
Viewport2.0篇
Maya2013的另一大亮点是Viewport2.0。事实上在Viewport2.0不算是新功能,但Maya2012的Viewport2.0支持的内容有限,速度稳定性都不够理想。经测试发现,Maya2013的Viewport2.0性能和稳定性都有了很大的提高,而且支持更多效果。
Viewport2.0之Consolidate World
iewport 2.0 设置窗口里面有个叫Consolidate World(合并世界)的选项,打开之后可大幅提升性能,尤其是针对大场景中有重复使用的数据时效果比较明显。如图,Viewport2.0实时帧率几乎是旧Viewport的4倍!
图27 Consolidate World可大幅提升复杂场景的显示性能
Viewport2.0之材质&灯光:
Mental Ray的材质,比如mia,已经可以被Viewport2.0实时渲染出来,Area Light的光照效果也支持硬件实时渲染,同时面光源的光照效果可以随着灯光自身大小改变,或距离物体远近产生相应的变化,同时还能保持很好的交互速度,这样可以直接在视图中调整灯光并马上看到面光源的光照效果变化,所见即所得,而不必再花费时间用CPU渲染以查看光照和阴影。从下图可以很容易看出以前的Viewport和Viewport2.0的差别。经测试发现面光源的阴影支持还有待提高。
图28 Viewport2.0的面光源效果
Viewport2.0之渲染设置:
在Viewport2.0 Setting的菜单里面,有Vertex Animation Cache(点动画缓存),抗锯齿,景深,SSAO(Screen-space Ambient Occlusion,基于屏幕空间的环境遮挡), Motion Blur (运动模糊),Gamma Correction(伽玛校正)等选项。其中Vertex Animation Cache(点动画缓存)很有意思。如图,打开Vertex Animation Cache后,有三个选项可供选择,第一种是Disable(禁用),第二种是Hardware(硬件),第三种是System(系统)。对于配有专业显卡的机器推荐使用Hardware,这样在时间线先播放一遍动画后,播放数据会放到显存,之后再次播放,速度会有很大提升,这个功能在调动画时比较有用。
图29 Vertex Animation Cache(点动画缓存)
Mental Ray篇
Mental Ray之BSDF Shader
BSDF对物理正确的材质必不可少。BSDF Shader在Maya2012中是隐藏的,只能在mia_material里看到它的设置。而Maya2013里的Mental Ray版本更新到3.10,同时添加了BSDF Shader,如图30。
图30 新的BSDF Shader
Mental Ray之两个新的渲染Pass(UV和World Position)
Maya2013中新加了两个渲染Pass,分别是UVPass和World Position Pass,如图31。
图31 UVPass和World Position Pass
借助新的UV pass,可以很方便的在后期软件中给物体添加贴图,如图32。Nuke是用STMap这个节点来把UV赋予贴图的(相关教程:http://www.digitaltutors.com/11/training.php?vid=7194)。Flame也有类似的功能。
图32 使用UV pass在后期软件中给物体添加贴图
另外一个新的Pass是World Position,使用这个Pass可以在后期软件里更加精确的添加灯光。因为仅仅靠Normal Map在后期中添加灯光往往是不够的。试想,一个场景里前后放了很多物体如桌子、椅子,靠传统的Normal Map很难得到灯光在这堆物体中间的照明结果。有了新的World Position Pass,就可以获得精确的照明了。如图33,使用World Position Pass(position.exr)在Nuke里创建点云,有助于定位灯光位置或者3D合成的位置。值得一提的是,新版的Flame也开始支持这种World Position Pass素材,并且功能相比Nuke更加强大,甚至可以基于World Position Pass生成比较精确的模型。
更多细节可以参考Digital Tutors出品的2.5D Relighting(Maya和Nuke)教程(http://www.digitaltutors.com/11/training.php?vid=22099&autoplay=1)。
图33在Nuke里使用World Position Pass
动画篇
动画之Atom
现在动画数据可以存成一种后缀为atom的文件,参看Animate | ATOM。
atom类似于早先的anim数据,两者均可以把场景的动画存下来,然后再导入给另外一个角色。不同的是,一些没有动画属性的数据(例如你把角色总控制的位置挪了一下,但是没有给动画),驱动关键帧,烘焙的数据,甚至动画层和约束,还有文件参考里的数据都可以通过ATOM导出导入。
这意味着,你可以真正重复使用一些动作了。以前做的得意的动作,还有一些高度重复的动作,例如走跑跳,都可以完美的导入给另外一个角色,然后做少量修改就可以了。只导入部分动作也是可以的,比如只导入下半身的动作。另外如果设置时间范围是单帧,即可导出姿势,如图34。
图34导出导入ATOM
动画之Retime Tool
很多动画师会很头疼调整关键帧的位置,或者当你导入的运动捕捉数据,需要调整动作节奏的时候,面对海量的关键帧会束手无措,以前的晶格能解决一点问题,不过如果有类似剪辑里的Ripple等等的功能就好了。
Maya2013新增加的Retime能解决这个问题。如图35,你只需要插入一些这样的控制杆,然后拖拽就能移动一堆关键帧了,还可以很轻松的做出慢镜头动作。在Graph Editor中双击红色框内的图标即可添加控制杆,拖动控制杆中间粗的部分就可以改变关键帧的位置,拖动控制杆上下细的部分可以改变控制杆的位置,而不改变动画。单击控制杆下端的圆点,可以去掉当前控制杆。右键点击水平方向箭头的两端,可以选择Lock,锁定两个箭头中间的这段关键帧。
类似的功能在3ds Max 2013, Motion builder 2013,Softimage中貌似也有了。
图35 Retime工具
动画之Stepped Preview
Stepped Preview功能是实现预览时一卡一卡的播放效果。如图36,在时间线上右击就可以看到这个选项。
这个功能非常简单而又实用。之前版本的Maya中,动画师在开始做动画的时候,会摆好各个时间段的姿势,然后把动画曲线设置为Stepped Tangent,再播放动画,来预览一卡一卡的动作,这样有利于观察时间节奏是否正确。之后再增加更多的关键帧,改成正常的曲线。这个过程比较麻烦,尤其是当完成光滑的动画曲线后,又希望预览一卡一卡的效果,就需要重新设置动画曲线的切线模式,这就意味着那些辛苦调整的动画曲线将丢失。现在Maya2013有了Stepped Preview功能,就可以在不改变动画曲线的情况下,实现一卡一卡的预览。
图36 Stepped Preview
动画之Live Character Streaming
这个功能可以让你直接、实时的看到运动捕捉的结果套在已绑定角色上的效果。这需要两个软件(两台机器上各装一个软件也是可以的),一个是正在捕捉显示的Motion Builder,一个是Maya,通过IP地址连接到Motionbuilder,如图37。
图37 实时传递Motion Builder的角色数据到Maya
动画之非线性动画编辑
Motion Builder上对齐动作片段还有显示各个片段的ghost的功能也在Maya里山寨了。你可以方便的把走跑跳的片段对齐连接起来,选中ghost然后移动旋转就可以改变这个clip的位置了。或者你可以用Match的菜单来调整两个片段的脚或者重心,如图38。
图38 对齐动画片段
其他新增功能
Free Image Plane
Maya中的Image Plane不太好用。当需要导入图片参考建模时,只能在每个Camera里面导入图片,要调整图片位置和对齐的时候,只能依赖Image Plane在属性编辑器(Attribute Editor)里面的参数来调整,不是很方便。很多人会创建三个多边形平面,然后再赋以相应的材质和纹理,从而使图片显示在三个视图中。
在Maya2013中可以Create | Free Image Plane,创建Free Image Plane然后根据实际需要用操作手柄直接在视图中调整大小和角度,既简化了操作又方便了修改,如图39。导入的素材支持图片,mov ,avi等格式。
图39 Free Image Plane
Mandelbrot Textures
想要做视觉表现的话,不要错过这个功能,这是一种程序纹理,如图40。
图40 Mandelbrot纹理
Mandelbrot的效果比较梦幻,如图41,42。你还可以载入一张自定义的图片,让它迭代出美丽的图案,如图43。
图41Mandelbrot效果1
图42 Mandelbrot效果2
图43 Mandelbrot效果3
Maya的流体也内置了这种纹理,如图44。
图44 流体和Mandelbrot
渲染成实体的话,效果同样很梦幻美妙,如图45,46,47。
图45 Mandelbrot流体效果1
图46 Mandelbrot流体效果2
图47 Mandelbrot流体效果3
一键发送Maya场景到 3ds Max
现在Maya可以一键发送场景到3ds Max,在Maya里做的修改,也可以一键更新到3ds Max。支持模型,材质还有贴图。底层依然是使用了FBX插件和FBX文件做交互。
另外,在Maya2013的HumanIK和3ds Max2013的CAT也可以一键互导了。Max里CAT的动画数据和Maya里的HumanIK动画数据可以互相交换,操作流程是把CAT骨架一键发送到Maya,如图48。然后在Maya里加动画层、做动画或者导入运动捕捉数据等等,烘焙动画到骨架后,如图49,再发送回去MAX。同时使用3ds Max和Maya做动画的公司或个人会获得很高的体验度。
图48 把CAT骨架一键发送到Maya
图49把Maya动画数据再发送回去MAX
Ubercam
Maya有个很实用的功能叫做CameraSequencer,可以把各个镜头剪辑起来。不过因为有很多摄像机,所以渲染的时候还是有点麻烦,现在你可以创建一个叫Ubercam的摄像机,它会在各个时段移动到相应的摄像机位置,应用相应的摄像机参数。这样你就可以设置这个摄像机为渲染摄像机,从头渲染到尾了。
Playblast 更新
现在Playblast里支持的视频格式开始变多了,不过大家看电影最常用的一个格式在Maya2013上终于被支持了,那就是H.264。于是你可以扔掉以前那些压缩效果很差体积还很大的格式了。
总结
必须承认,Maya2013是带着诚意扑面而来的。既有Node Editor和GPU Cache这样的惊艳华丽之作;又有nHair,Atom,Mandelbrot Textures,Retime Tool,Free Image Plane这样实用给力的功能;还有为跟随最新业界潮流而加入的BSDF Shader,Heat Map绑定, UVPass等抢先体验版的功能;就现有的功能来说,Maya2013的UI交互比Maya2012快了一些,Viewport2.0的稳定性和性能有了显著提升,整合后Human IK更加符合流水线需求,一键切换Maya和3ds Max让数据交互更加方便。
虽然也有人反映Heat Map绑定对Mesh要求太高,容易出错;中文版多边形切边有Bug和不稳定情况出现;UI交互速度依然赶不上Maya2010(换QT前的界面)。但整体来看,Maya2013依旧星光闪闪,让你有足够理由去升级。