#12001/11/20 23:35:14
《最终幻想》技术揭秘
本文来源www.arstechnica.com
原作Jon Hannibal & Jonathan Ragan-Kelley
翻译 钱麟(有删节)
随着CG电影科技的飞速发展,毫无疑问今年的最具视觉冲击力的电影大片非《最终幻想》莫属,片中的角色和环境的真实度之高,让包括Tom Hanks在内的一大批超级明星都感到了失业的危机。
本片由曾经执导FF系列游戏的史克威尔的Hironobu Sakaguchi担任导演,由一群精通艺术与技术的天才艺术家完成,此外还有大量的剧本编写人员、程序员、工程管理人员、系统管理人员,他们它来自不同国家、拥有不同背景、会不同的语言,整个电影就是由这些人协作完成的。对于这样一个拥有技术革新性质的项目,需要有一个大型的、复杂的人员配备,安排他们简直就象恶梦一样。史克威尔的工作组在每一个阶段、每一个制作步骤上都遇到了前所未有的挑战,这不仅仅是技术上的问题,更是人员管理、工作流程设计、人与人之间的交流等等。
现在让我们通过对《最终幻想》的制作核心人员的采访,来进一步了解CG电影工程,首先介绍一下各位被采访人员的身份:
Troy Brooks:产品系统总监
Kevin Ochs:角色动画导演
Dave Seager:灯光总监
Kevin Bjorke :渲染和材质总监
Kaveh Kardan:工程管理(经理)
采访记者:Hannibal和Jonathan
以下是采访的全部过程,先是对Troy Brooks的采访:
Hannibal:您能否给我们介绍一下《最终幻想》的全部制作过程,特别是它和普通的电影有什么主要的不同?例如,它是如何从脚本到故事板到最后的成品的?在最终渲染前,您是否做了大量的测试性渲染,等等?
Troy Brooks:这是一个互动的过程,一开始我们根据剧本画草图,并修改剧本,直到剧本修改完成后再开始正式做故事板,这个和普通的电影一样。刚开始设计3D的时候,我们先用低分辨率的模型开始制作,主要是确定摄像机的运动和角色的动作,用低分辨率模型有助于进行实时控制。为检查摄像机和角色动画,我们必须经常地进行测试性渲染,最终才把它们赋予高细节模型。一些如灯光之类的设置是分开进行的,最后再由合成小组小心翼翼地把它们合成在一起。整个过程中,我们始终都在测试渲染、检查摄像机、动画、灯光、材质,并且修改它们。
Hannibal:好,您能否再介绍一下这些艺术家在工作中的具体职责,以及他们是如何合作来完成最后的项目的。
Troy Brooks:有一些艺术家,特别是在VFX组中(注:VFX即Visual Effect视觉效果),是非常专业的,他们自己编写材质和表达式代码。产品软件组负责将这些代码实际应用到工作流程中去。他们编写Maya的插件以供动画师们进行具体的操作,这些程序也包括在后期合成时使用的程序。当然,整个工程要有一个整体的组织和分工,让每个人都能在里面很好的工作并得到他们所想要的,我们还要想办法进行数据的转移,从第一步到第二步,这包括专业渲染工作站(renderfarm),用来处理批处理工作,如渲染、动画计算、动力学计算、特效制作以及长段动画的合成,产品软件工程师是在整个工作组内到处跑的,他们要会发现动画师缺什么、需要什么,以及动画师用它们是来做什么的。此外我们还有R&D组(资源与开发项目组)开发专门用于头发和衣服制作的插件SqFlex,并且他们还要负责所有的资源管理。
Hannibal:我曾经读过一些关于这部电影的技术资料,说你们用了四台SGI2000系列的高性能工作站和其他一些SGI系统来制作《最终幻想》,你们把Maya装在SGI上,把Renderman装在了LinuxR OS-based系统上。您能否给我们更进一步地介绍一下你们的软硬件设备,它们在工作中都扮演了什么样的角色?比如,在制作过程中Linux扮演了什么样的角色?
Troy Brooks:所有的艺术家在他们的桌子上都有一台SGI Octanes,有些人还有两台,这是我们用来创作的主要工具,上面装载着Maya,这是我们用来制作模型和动画的主要工具,有些最终的动画我们是用Maya渲染的,但是大多数都是用Pixar's RenderMan来完成的,我们用Onyxes来完成合成,用16个CPU的Origin 2000s来批处理MTOR工作,也就是从Maya向Renderman的转换工作。我们还有一些Origin 200的服务器,用来作为硬盘服务器,和一些NetApp文件服务器,用来储存数据文件(容量大约4TB)。专业渲染工作站是用了Linux系统(PIII, custom-built, rack mounted),装载了Red Hat 6.2,是专门装Renderman来渲染用的。另外我们有自己专门的专业渲染工作站软件,叫SQB(Square Batch Processing),是运行在Linux系统上的,可以用来进行非常专业的全局渲染控制。