CG软件横向测评:Maya与Houdini【特效篇】
CG软件横向测评:Maya与Houdini【特效篇】
在CG行业中,Maya和Houdini是两款常用的三维特效软件。本文将从特效模块的角度,对比分析这两款软件的特点和适用场景。
关于特效
在影视或动画领域,特效(Effects/Fx)特指那些涉及到动力学模拟或程序化的视觉内容制作。而像场景/角色设定、建模、绑定、动画或渲染等环节则不属于特效范畴。
场景特效-海浪
角色特效-毛发
Maya
Maya在特效制作方面具有一定的优势。例如,其"n系列"粒子和布料系统可以灵活地满足各种复杂的效果需求。通过粒子表达式和mel命令,用户可以进行自由的操控。著名的群集插件Golaem就是基于Maya的nParticles粒子系统开发的。
nForce控制下的群集行为(测试截图)
Maya特效模块的一个便利之处在于,不同的解算器可以共用相同的约束和力场。nConstraints提供了可控性极强的约束功能。如果不考虑程序化和更强的拓展性,Maya仍然可以胜任一些常规的特效任务。
然而,Maya在程序化生成方面存在短板。用户只能通过mel表达式提高与软件交互的效率,但始终只是作为一个"第三者"从外部对它进行修改,而不是作为"开发者"参与到对象的生成过程中去。
程序化参数调节
破坏性编辑
为了弥补这个短板,Maya引入了Bifrost插件。Bifrost是一个独立的程序化生成工具,现在被内置到Maya中。但是,Bifrost更像是一个"套娃软件",有自己独立的特效系统、几何数据格式、缓存流程等,与Maya自带的n系列动力学系统基本没有直接交互,这使得软件变得有些怪异臃肿。
Bifrost工作界面
在特效方面,Maya在引入Bifrost之前,市面上也有很多其它的外置特效插件,比如专门制作破碎的Pulldown,专门制作烟火流体的FumeFx,专门制作群集的Goleam、Miarmy等等。但是,外置特效插件的一个很大的弊端,就是相互之间很难进行直接的动力学交互,这也正是各个三维软件内置的特效系统的优势;其次涉及到老生常谈的成本问题,如果一个公司必须使用正版工具,那么大量依赖插件的制作流程显然是不划算的,宿主软件本身的费用并不低,加上有些插件的价格甚至比宿主软件还要高,成本无疑会陡然上升。
Houdini
在Houdini中,从几何创建到不同的动力学解算模块,其基础数据格式都是统一的,无论刚体碎块、软体毛发、流体烟雾,它们的几何数据源都遵循着相同的处理规则、共用着相同的生态系统。同样一个几何源,通过不同的属性定义,可以针对完全不同的目的进行调用。
节点式工作界面
Houdini的另一个特点是其节点式操作模式。这种电路图般的界面设计,最大的作用就是将工作思路进行了可视化,使制作期间的思考过程像树枝的生长轨迹一样完整清晰地呈现在眼前。
Maya工作界面
Houdini节点工作区
Houdini的主要缺点是其学习难度较高。这主要体现在两个方面:编程和数学。但是,通过使用Houdini等程序化DCC工具,用户可以相对快速地理解高等数学课上才能接触到的数学工具,并方便地在软件里使用它们。
基于四元数和矩阵旋转的常规操作
学习方式
至于学习方式,具体因人而异,并没有一个权威的学院派攻略。但是,培养阅读一手文档资料的习惯是非常重要的,工作中一半以上的问题,基本都能在权威文档中找到答案。
官方文档截图
总结
Houdini虽然学习难度较高,但是它提供了一个几乎万物一体的内容生成环境,创作过程不再是枯燥乏味的键鼠命令堆积,而更多是一系列的"头脑风暴"。对于CG行业的从业者来说,Houdini不仅是一个生产工具,更是一个可以锻炼逻辑思维能力的精密益智游戏。
VEX表达式示例