Tippett Studio 和 Nothing Real 的 Shake
视频合成软件被电影制片厂用于将特效或动画元素组合到电影序列中。合成软件可以被认为是为动态图像做的事情,就像 GIMP 和 Photoshop 等工具为静态图像所做的事情一样。Nothing Real 的 Shake 似乎是当今最广泛使用的高端合成软件包。Shake 可以在 Linux、Windows 和 IRIX 上运行,并且苹果公司刚刚证实了收购 Nothing Real 和 Shake 的传闻。
Tippett Studio 专注于恐怖特效,例如虫子和生物。让我们参观位于加利福尼亚州伯克利的 Tippet Studio,了解他们如何在 Linux 上使用 Shake。
作为一家为故事片制作视觉特效和动画的工作室,Tippett Studio 因在 星球大战:绝地归来 和 侏罗纪公园 中的视觉特效工作而获得奥斯卡金像奖,并因 星河战队、龙之心、风云际会、屠龙记 和 透明人 中的特效而获得提名。Tippett Studio 目前正在为吸血鬼电影续集 刀锋战士 2 (2002 年 3 月上映)制作特效。“我们从 进化危机 开始,大约一年半前开始在 Linux 上使用 Shake”,合成主管 Alan Boucek 说。“我正在双 Athlon 处理器上运行 Shake。令人兴奋的是它速度非常快。我大部分时间都可以在自己的机器上工作,而无需去渲染农场。”

Shake 被用于合成 刀锋战士 2 中韦斯利·斯奈普斯的场景。窗口管理器是 MWM,以保持与 SGI IRIX 工作站外观和感觉的连续性。
Boucek 补充说,他的合成团队是工作室中第一个转向 Linux 的团队。“一旦我们让 Shake 启动并运行,下一个任务就是让我们的流程在 Linux 上运行”,他说。“对于我们的大部分 3D 渲染,我们使用 Pixar 的 RenderMan。灰色渲染直接来自 Maya,但动画师通过简单的 Renderman 过程运行他们的素材以进行日常审查。”
Shake 使用树状图界面来操作特效。每个输入都通过代表过滤器或变换的节点,这些节点创建最终的合成图像。复杂的特效需要更长的时间来渲染,而时间在工作室始终是宝贵的。特效艺术家通常在工作站上以近乎实时的四分之一分辨率使用 Shake 工作,然后在服务器渲染农场上以全分辨率批量处理特效。
两年前,当 Tippett 需要新的计算机进行合成时,他们选择了 5,000 美元的 SGI x86 PC,而不是 24,000 美元的 SGI Mips Octane。“我们最初购买了 SGI PC,但在这些停产后,我们开始从头开始构建自己的机器”,Boucek 说。“我们在机器上节省了很多钱,但其中很多都被提供我们自己的支持所占用。”除了 PC 和 SGI 计算机外,他们还有许多 Macintosh 电脑。而且,一些 PC 运行的不是 Linux,而是 Windows 版本的 Shake 和 3D 建模软件包 Maya。Boucek 更喜欢 Linux
我们无法将 NT 连接到我们的渲染农场。当我们晚上回家时,Linux 机器继续工作。NT 工作站是死的——不能兼任渲染农场服务器。我们仍然有很多 SGI。我们的 Linux 软件转换即将完成。
“能够与编写原始代码的人交谈是一个巨大的优势”,技术总监 Christian Rice 说。
使用 Linux,我们可以以非公司的方式与软件包的作者进行个人对话。我们以这种方式克服了几个障碍。但这确实为我们带来了更多的责任和更多的不确定性。仅仅因为在网络上搜索一无所获并不意味着某些事情无法完成。直接与开发人员交谈通常会让我们深入了解我们原本不会意识到的特殊功能,更不用说为适应我们而实施的特殊功能了。
“一开始为 Shake 编写插件非常困难”,软件工程师 Qin “Jean” Shen 警告说。“没有完整的开发者文档。我会从开发工具包中复制一个简单的例子,然后在扩展它时向 Nothing Real 发送大量电子邮件问题。他们在回复和提供帮助方面做得很好。” Shen 解释说,Nothing Real 试图编写好的文档,但由于每个插件都有其特殊用途,因此很难做到全面。插件开发者必须注意何时需要在内存中存储某些内容,以便 Shake 可以自动获取它。“Shake 是一个扫描线渲染器”,Boucek 指出。“它不会一次将整个图像读入内存。这就是 Shake 如此快速的原因。”
Shen 驳斥了你无法在大学毕业后立即在电影软件开发中找到令人兴奋的工作的理论。尽管她已经收到了附近 ILM 的 offer,但她选择了 Tippett,因为作为一个较小的工作室,它为她提供了更多的参与。“当我 1999 年开始工作时,我们仍然在使用 Alias|Wavefront Composer。我为它编写了插件,然后在我们切换后为 Shake 编写了插件。” Shen 致力于开发 Flipper(一个翻页电影播放器)和 GammaGal(一个用于调整监视器的工具),这两个都是内部工具。“Flipper 和 GammaGuy 是使用 Motif 和 IrisGL 编写的。我用 OpenGL 和 FLTK 重写了它们,GammaGuy 变成了 GammaGal。”

分屏过渡期间左侧的 Shake 预览。右侧的 Flipper 翻页播放器。图标(左下角)用于内部插件。

左侧的 Flipper,右侧的 GammaGal。Shake 中的流程图,用于构建整个电影镜头(场景)。
“Photoshop 中的一个重要功能是伽玛级别调整”,软件开发人员 Darby Johnston 解释说。“GammaGal 允许我们在 IRIX 和 Linux 上非常快速地做类似的事情。”由于胶片比视频显示器具有更大的动态范围,因此用户必须不断地调整级别才能看到黑暗或明亮区域的细节。在胶片中工作的艺术家玩伽玛就像艺术家在修饰静止图像时会玩放大倍率一样。
“要描述我们为转换 IRIX 工具而进行的 Linux 工作,用移植这个词太强烈了”,Johnston 说。“在大多数情况下,东西只是编译而已。” Johnston 的工作主要涉及传统的 C 风格编码,没有线程或共享内存。Johnston 是一个编写集成粘合代码、图像处理套件(例如,模糊、裁剪、缩放)和批处理工具的团队的一部分。
“Linux 仍然存在成长的烦恼”,Boucek 指出。“Linux 中的许多开发似乎都是关于击败微软。但是,我们需要的是一个可靠的平台来运行我们的工具。”当 Tippett 开始使用 Linux 时,NVIDIA 驱动程序仍处于 beta 阶段并且存在问题。“有时它无法在 glLines 中正确绘制线条”,Shen 说。“我改用 glStrip 作为解决方法。我们有很多这样的例子。” Boucek 补充说,“早期 Linux 的许多不稳定因素都被追溯到 NVIDIA 驱动程序,而 Maya 在 Linux 上使用 NVIDIA GeForce2 和 Quadro2 显卡时仍然非常不稳定。” 尽管存在问题,NVIDIA 驱动程序在向 Linux 过渡中发挥了关键作用。
“专有 NVIDIA 驱动程序的性能在刺激我们转向 Linux 方面发挥了重要作用,尽管我们可以看出优化工作更多地是针对 雷神之锤 而不是 2D”,Johnston 说。
我们最近在 1.4GHz Athlon 上使用 ATI RADEON 7500 测试了 XiG,发现它在 2D 方面更快。在 1,920 × 1,200 的分辨率下翻转帧时,NVIDIA 驱动程序几乎达不到 30fps,但 XiG 驱动程序超过了 40fps。然而,在 3D 中,NVIDIA 驱动程序在 Maya 中明显更快。
“我们正在努力让 Linux 进入每个人的桌面”,Boucek 说。“但是,由于 Maya 在 Linux 上的稳定性问题,我们仍然没有实现目标。” Boucek 希望看到 Linux 和 Linux 驱动程序继续变得更加稳定,并希望性能得到提高。
Square 是另一家电影制片厂,它在电影 最终幻想 中使用 Shake 完成了令人惊叹的作品。“我们四年前开始使用 IRIX”,视觉特效主管 James Rogers 说。“我们的 Linux 渲染农场是在制作过程中建立起来的。” Square 将他们现有的 IRIX 机器用于工作站,然后通过自定义渲染管理器将数据发送到 Linux 渲染农场上的 Shake 批量渲染。“我们在最后开始测试 Linux 工作站”,Rogers 说。Square 最近宣布,它将停止电影业务,并于 2002 年 3 月 29 日关闭其在夏威夷的办事处。
要安装 Shake,我们从 Nothing Real 网站下载三个文件(55MB):许可证管理器(lmutil.Z,184k)、应用程序(shake-linux-v2.46.0116.tar.bz2,28MB)和教程(shake-tutorial-v2.46.0116.tar.gz,26MB)
gunzip lmutil.Z tar xvfj shake-linux-v2.46.0116.tar.bz2 tar tvfz z/shake-tutorial-v2.46.0116.tar.gz tar xvfz z/shake-tutorial-v2.46.0116.tar.gz ./lmutil lmhostid
为了再次检查,我们使用了 tar 的 tell 开关,以查看在提取之前它会做什么。
lmutil 程序会回显一个 12 位数字的许可证管理器主机 ID。必须将此主机锁定的 ID 代码发送给 Nothing Real,才能收到为期两周的试用密钥代码(key.dat)。将通过电子邮件发送的密钥复制到指定目录,启动 X 并运行 Shake
cp key.dat shake-v2.46.0116/keys/ startx shake-v2.46.0116/bin/shake
除非您已经了解 Shake,否则两周的时间不足以了解这个复杂的工具。
在撰写本文时,Shake 的未来尚不明确。苹果公司在 2002 年 2 月 6 日发布的一份简短声明中证实了收购 Nothing Real 的传闻。Tippett Studio 的 Boucek 指出
他们有一个比任何人都快的核心渲染器。这在 QuickTime 或 Final Cut Pro 中可能很有价值。Shake 对我们在 Linux 上来说是一个非常重要的工具,我们不得不担心如果它只适用于 OS X 会发生什么。但是,如果它更便宜,我们就能买得起更多的席位,那就太好了。总的来说,我们对 OS X 感到兴奋。我们这里有很多 Mac。
借助基于 BSD 的 OS X,Apple 平台获得了 NFS 和其他 UNIX 功能,这有助于它集成到电影工作室流程中。
苹果公司在一份简短的声明中证实了收购该公司,声明中仅透露它“计划在未来版本的产品中使用 Nothing Real 的技术”。2001 年,Nothing Real 宣布它将把在 Linux、Windows 和 IRIX 上运行的 Shake 移植到 Apple OS X。但是,苹果公司尚未承诺是否会发布承诺的 OS X 版本的 Shake。
由于苹果公司在收购后从未继续为另一个操作系统开发 GUI 应用程序,因此这似乎可能是 Linux 工作站的最后一个版本的 Shake。但是,Shake 渲染农场服务器软件可能会无限期地继续支持 Linux。Apple Linux Darwin QuickTime 服务器软件就是一个先例。如果未来版本的 Shake GUI 仅在 Macintosh 上运行,那么购买新 Mac 的额外硬件成本对工作室来说似乎是不可接受的。但是,苹果公司可以通过降低 Shake 的成本来规避这一点。按每个席位近 10,000 美元的价格计算,苹果公司可以免费赠送一台配置齐全的 2,000 美元 iMac。
一些工作室经理对苹果公司对其 Shake 计划的完全沉默感到恐慌。但另一些人,例如 Tippett Studio 的 Boucek,则对苹果公司可以为专业电影剪辑市场提供一些东西表示乐观。
因为这已经成为市场的大部分,Linux 公司更专注于服务器而不是工作站。尽管实际上并非为此而设计,但 Red Hat 是 Linux 工作站的事实标准。一些用户表示,面向服务器的 Red Hat 不是桌面的好发行版。Red Hat 首席执行官 Robert Young 承认,他曾多次因告诉 Linux 人群“Linux 永远不会在桌面上取得成功”而被嘘。来自 Apple OS X 的竞争可能会促使 Linux 变得更加用户友好。感谢 OS X,Apple 系统软件产品经理 Ernest Prabhakar 能够在 2002 年 2 月的 USENIX BSDCON 上宣布,BSD 在桌面上的普及程度现在是 Linux 的三倍。
苹果公司可能会撼动电影特效业务。史蒂夫·乔布斯是苹果公司和皮克斯的首席执行官。或者,由于苹果公司收购 Nothing Real,后起之秀 Silicon Grail 的 RAYZ 可能会成为大赢家。许多工作室正在认真考虑 RAYZ,因为苹果公司对 Shake 的计划存在不确定性。我们将在下个月在这里详细了解 Linux 上的 RAYZ。
电子邮件:Robin.Rowe@MovieEditor.com
Robin Rowe (robin.rowe@movieeditor.com) 是 MovieEditor.com 的合伙人,这是一家创建互联网和广播视频技术应用的公司。他曾为 Dr. Dobb's Journal、C++ Report、C/C++ Users Journal 和 Data Based Advisor 撰稿。