Silicon Grail RAYZ
上个月,我们了解了 Nothing Real 公司的 Shake,这是一款合成软件,被广泛应用于许多大型电影中,用于添加特效或叠加动画。Nothing Real 最近被苹果公司收购,苹果公司计划在其未来的产品中使用其快速扫描线渲染技术。Shake 在 Linux 上的不确定未来可能会使竞争对手 Silicon Grail 的 RAYZ 受益。
RAYZ 和 Shake 都使用交互式场景图界面来定义效果的组合方式。虽然从用户界面的角度来看两者相似,但 RAYZ 没有采用 Shake 的扫描线渲染方法。“我认为,对于优化渲染而言,缓存方案比扫描线算法更重要”,Silicon Grail 总裁 Ray Feeney 说。“现在的内存便宜得多。例如,对于旋转,扫描线实际上可能比将更多块保存在 RAM 中更慢。”
好莱坞特效公司 Flash Film Works 在 Linux 上使用 RAYZ 制作了华纳兄弟公司最近的三部作品:阿诺德·施瓦辛格的动作片《 collateral Damage (间接伤害)》,罗宾·威廉姆斯的黑色喜剧片《Death to Smoochy (杀死情圣)》,以及埃迪·墨菲的黑帮科幻片《Pluto Nash (冥王星纳什)》(将于 2002 年 8 月 16 日上映)。Flash Film Works 技术主管 Dan Novy 说:“RAYZ 具有合成器应有的基本功能,外加变形、变体和 CineSpeed。” RAYZ 是一个全新的代码库。Silicon Grail 之前的合成器 Chalice 不支持 Linux。“Silicon Grail 举办了讨论小组,并就 Chalice 用户进行了为期一年的高级用户意见征询”,Novy 说。“RAYZ 的翻页书功能非常惊人。它可以实时显示 2k 分辨率。节点将在播放时提前缓存。我可以在镜头运行时进行工作,实时进行色彩匹配更改。”

RAYZ 中的简单色彩校正。左上角是翻页书预览播放器。右下角面板是附加过滤器的树形图视图。左下角面板包含所选过滤器的设置。
Novy 指出:“在《Death to Smoochy (杀死情圣)》中,RAYZ 完成了大量角色在汽车和船只中的合成工作”。“我们使用 RAYZ 为枪支添加枪口火焰和街道反射。我们在 2-D 底板之上做了很多 3-D 特效。” 在一个场景中,RAYZ 的变形和变体功能被用来修复拍摄过程中损坏的一块实体布景。尽管其他镜头的布景完好无损,但导演认为有布景问题的那个镜头的表演效果最好。
Novy 说:“对于《 collateral Damage (间接伤害)》,我们做了很多重定时工作”。“将 24fps 重定时为 36fps 会创建没有拍摄慢动作的慢动作。” RAYZ 软件创建了中间帧,推断出丢失的帧。“重定时可能并不完美,但总比双帧好。REALVIZ ReTimer 是一种替代方案,但这并非内置功能,需要渲染输出。” 在《 collateral Damage (间接伤害)》中,做了大量的合成工作,将施瓦辛格置于爆炸场面前。

对于《 collateral Damage (间接伤害)》,Flash Film Works 使用 RAYZ 将在蓝幕前工作的演员合成到以爆炸为背景的素材上,此外还添加了爆炸、碎片和坠落电线杆等其他元素。

对于《 collateral Damage (间接伤害)》——左侧的直升机是真实的。右侧的直升机是在 Maya 中构建的 3-D 模型,并使用 RAYZ 合成到镜头中。
对于《Pluto Nash (冥王星纳什)》,RAYZ 合成了在 Windows NT 上的 LightWave 中创建的月球景观,并使用 Ultimatte 进行蓝幕抠像。“RAYZ 网络许可证 Ultimatte 功能对我们很重要。Digital Fusion、Combustion 和 After Effects 需要加密狗才能使用 Ultimatte。您无法像 RAYZ 那样浮动到任何机器。” 对于一部 3-D 主题公园游乐设施电影,Flash Film Works 正在开发一个插件来扭曲像素以创建视差。可以调整烟羽以匹配眼间距,并为每只眼睛创建合成图像。他们的插件是用 Perl 和 C++ 编写的。Novy 正在考虑从 LightWave 切换到 Houdini,这是一款流行的 Linux 3-D 软件包。
在柯达停止生产 Cineon 合成器后,Silicon Grail 收购了该技术,并将其以 Grain/Degrain、Sharpen 和 CineSpeed 的形式集成到 RAYZ 中。“RAYZ 的一个独特之处在于它可以将数据保持在 Cineon 10 位对数色彩格式中”,Novy 指出。“其他所有合成器都要求您转换为 16 位线性或浮点格式。使用 RAYZ,您可以转换或始终保持 10 位格式。它将使用对数进行内部数学运算。” 视频监视器是 8 位线性的,需要 LUT(色彩空间查找表)来近似胶片。“由于它是集成到 RAYZ 中的 Cineon 技术的一部分,因此它可以进行全监视器校准,使我们所有的监视器都达到最佳性能。”
“RAYZ 可以在我们所有的操作系统和所有硬件上运行”,Novy 指出。
我们甚至在 Alpha 工作站(64 位 21264)上使用 RAYZ。当我们为《Deep Blue Sea (深海巨鲨)》购买这些 Alpha 时,没有任何东西比它更快,但一年半后,它们就被闲置了。由于 RAYZ 中最新的 Alpha 支持,我们可以复活这种过时但快速的硬件。我们正在转向 Debian,因为 Red Hat 对 Alpha 的支持滞后。我认为 Linux 将像 SGI 那样主导电影行业,但我不确定 Red Hat。
位于圣莫尼卡的 Island Fever Productions 正在使用 RAYZ 为由 Lea Thompson 主演的 3-D 大型电影《Haunted Lighthouse (幽灵灯塔)》制作视觉特效。该电影计划于 2002 年夏季在 Busch 主题公园上映,放映该电影的影院将加入物理特效,例如振动座椅、水和气味。
Island Fever 总裁兼视觉特效总监 Nick Ilyin 说:“我们正在使用 RAYZ 进行这部电影的所有合成工作”。65 毫米胶片拍摄的大型电影的合成工作尤其具有挑战性。这部电影以 4k 分辨率扫描,而不是通常 35 毫米胶片的 2k 分辨率。“在 2k 分辨率下,性能相当合理,但在 4k 分辨率下,RAYZ 处理的是 35 毫米胶片正常分辨率的四倍。然后,3-D 再翻一番。我们的机器需要更多的内存来处理这个问题。我们使用 2GB 双处理器工作站。” 65 毫米扫描在 IMAGICA 完成,并以 Cineon DLT 格式交付,分辨率为 4,096 × 1,536,立体。完成的 70 毫米 5-perf 印片将使用两台投影仪和偏振眼镜进行 3-D 放映。
Island Fever Productions 还使用 Linux 制作商业广告,包括三则 Orkin 广告,展示蟑螂在电视屏幕上爬行。Meijer Toy City 的四则广告以有趣的动画企鹅为特色。“我们制作了一个企鹅雕塑,对其进行了数字化处理,并将其导入 Maya 进行 3-D 角色动画制作,然后导入 Houdini 进行变形和灯光处理和合成,最后输出到 Pixar RenderMan”,Ilyin 说。“我们编写了大量自定义代码来集成该流程,以及 Houdini 的自定义灯光包。” Houdini 有限的内置合成器功能不足以满足《Haunted Lighthouse (幽灵灯塔)》等项目的需求,这就是 Island Fever 最近转向 RAYZ 进行合成的原因。

Meijer Toy City 商业广告,由 Island Fever Productions 使用 Linux 上的 Houdini 创建的 3-D 企鹅。这些有趣的商业广告的 MPEG 副本可在 www.island-fever.com/meijer.html 在线观看。
Ilyin 说,Linux 绝对正在取得进展,但他希望它更可靠。他有时会发现他的渲染场被锁定,行业普遍将这个问题归咎于 NFS 的 Linux 实现中正在解决的问题。“我们希望最终一切都在 Linux 上运行,但支持可能是一个问题。Red Hat 的支持不足。” Island Fever 使用 Linux Red Hat 7.1 和 7.2、SGI IRIX 和 Windows 2000。
Drew Perttula 正在 rayz.bigasterisk.com rayz.bigasterisk.com 建立一个 RAYZ 社区网站,以提供技巧、示例、讨论和代码(插件代码和外部实用程序)。作为一名自由特效合成师,Perttula 曾参与制作多部独立电影。“早在 2001 年 4 月,我就偶然发现了 RAYZ 的 beta 版本”,Perttula 说。
从那时起,我一直非常活跃,提交了 600 多个功能和错误报告。早期版本的 RAYZ 似乎过早地专注于优化。最近稳定性有了很大提高。在几周内,2.2 版本将发布,其中包含一些针对插件编写者的令人兴奋的更改。
对于独立电影《Less Miserables (悲惨小世界)》,Perttula 正在为一个在旧金山 Mission Street 拍摄的场景进行背景替换。在街道背景看起来不合适的地方,正在对其进行调整,使其更像 Mission Street。“这很困难,因为女演员的服装呈现出非常柔和的边缘,带有羽毛。幸运的是,我能够调整华盛顿大学一位朋友的研究成果来找到边缘,然后将结果导入 RAYZ。”


对于《Less Miserables (悲惨小世界)》,由于带有羽毛的柔和边缘而难以实现的背景替换(前后对比)。
《Less Miserables (悲惨小世界)》是一部关于电影拍摄现场可能出错的喜剧片。导演 Justin Lomba 的 HBO Project Greenlight 项目被拒绝,但他仍然以 20,000 美元的预算制作了这部电影。在一个场景中,笑点是一个灯光师将反光板直接照射到摄像机的镜头中,使摄影师失明。“实际拍摄的反光板实际上是在阴影中,所以我们必须在后期制作中使用 RAYZ 添加光晕”,Perttula 解释说。“在另一个镜头中,我们希望让 PDI 的一位朋友建模一个 3-D 摄影机摇臂,我将合成进去,使其看起来像一个更大的电影布景。”
另一个《Less Miserables (悲惨小世界)》的镜头需要添加人物
旧金山喷泉旁的午餐场景应该挤满人,但实际上是在周末拍摄的,当时比较冷清。如果我们早点被叫来,我们可能只是让一些朋友在背景中充当临时演员。之后合成人群将需要一些工作。
Perttula 说:“我在 PDI 参与的项目包括独立电影《Memories of You (你的记忆)》”。
PDI 的人们一直都在从事独立项目,我是由我的朋友 Marlon Montgomery 带进来的。导演 Shane Pollack 想要红色雨和其他超自然效果,例如演员哭泣蓝色眼泪。这相当复杂,在 RAYZ 中有几百个节点,雨来自 Maya 和素材片段(来自 www.artbeats.com)。
对于他自己的项目《Golden Memories (金色记忆)》,Perttula 演示了一个场景中的镜头,一个度假的女人通过邮寄鱼食信封来喂她的鱼。当它掉入鱼缸时,信封会分解。《Golden Memories (金色记忆)》最近在伯克利的月度节日 ROBOTMEDIA 上放映。“我通过使信封的每个碎片成为一个块来测试 RAYZ 的性能。我使用 Python 和 Pygame 创建了这些块,因此我不需要在 RAYZ GUI 中手动创建所有节点。”
Perttula 说:“RAYZ 吸引艺术家是因为它比 Shake 具有更简单的界面”。
对于程序员来说,RAYZ 具有比 Shake 更好的文档化 API。借助其基于文本的文件格式,您可以轻松创建小的 RAYZ 配件。RAYZ 没有统计信息收集器,但我十分钟就构建了一个。我正在使用 Perl 和 Graphviz 创建一个漂亮的镜头树状图,显示输入到 RAYZ 的内容和输出的内容。
Perttula 说,Perl 轻松创建整个项目工作方式的概述证明了读取 RAYZ 文件并使用它们做有趣的事情是多么容易。
要获得 RAYZ,请从 Silicon Grail 网站分别下载许可证管理器 (license_manager.linux.intel.tar.gz) 和应用程序 (rayz-2.0.i386.rpm)。我们使用 alien 工具转换了 RPM 以安装在我们的 Debian 系统上。alien 工具处理 Red Hat RPM、Debian deb、Stampede slp 和 Slackware tgz 格式之间的转换。
alien -k rayz-2.0.i386.rpm dpkg-deb -c rayz_2.0-20020129_i386.deb dpkg -i rayz_2.0-20020129_i386.deb cd /usr tar xvfz /install/compositor/rayz/z/ license_manager.linux.intel.tar.gz grail/hostinfo grail/Install grail/grailadmin -r localhost grail/graild -l /var/log -k /usr/grail rayz
使用 dpkg-deb -c 可以显示文件将放置在何处,而无需提取它们。许多 Linux 程序都未提及如何启动它们,但 dpkg-deb 使其易于弄清楚。(如果您想简单地提取 deb,就像它是 tar 文件一样而无需安装它,则可以使用 dpkg-deb -Xe 选项。)由于我们看到主目录是 /usr/grail,因此我们也选择将许可证管理器安装在那里。hostinfo 命令显示您机器的 ID 号,以发送给 Silicon Grail 以获取许可证密钥。我们没有将许可证管理器作为守护程序安装,而是手动运行了它。
RAYZ 开发团队由五名开发人员组成,他们都在 Linux 工作站上工作。“三年前,我们做出了专注于 Linux 的战略决策”,RAYZ 产品经理 Craig Zerouni 说。“当时我们很清楚,Linux 将是未来的发展方向。” RAYZ 的 Windows 和 SGI IRIX 版本是从大约一百万行代码的单个 Linux 开发代码库构建的。使用的工具包括 gcc、g++、CVS 和 Jam。“我们最近从 make 切换到 Jam”,Zerouni 说。“我们的重新编译时间从几小时缩短到几分钟,因为 Jam 比 make depends 更智能。” 研发主管 Kimball Thurston 补充说:“我们不能跨平台使用 autoconf 或类似工具,但 Jam 在所有平台上都工作方式相同。” 使用 Jam 需要将 Makefile 重写为 jamfile。一个使用 Jam 的熟悉项目是 FreeType。
RAYZ 的价格为每个 GUI 9,900 美元,每个渲染线程 2,900 美元,并不便宜。但是,Silicon Grail 在插件开发人员和大学用户方面非常合作。Silicon Grail 欢迎开发人员成为第三方插件提供商。“您不必成为工作室也可以参与 RAYZ”,Zerouni 说。
我们的插件 SDK、文档和示例都包含在评估下载中。您可以将 RAYZ 的所有内部操作(例如,图像旋转)用作您自己代码的构建块。如果您只是想进行开发,我们可以设置一个为期三个月的试用许可证,超出下载提供的为期一个月的评估许可证。根据您在三个月内完成的工作,可能会延长试用期。
Martian Labs 等公司正在创建 RAYZ 插件,英国的 The Foundry 以及 Photron 也在创建 Keylight 和 Primatte。
电子邮件:Robin.Rowe@MovieEditor.com
Robin Rowe (robin.rowe@movieeditor.com) 是 MovieEditor.com 的合伙人,这是一家创建互联网和广播视频应用的技术公司。他曾为《Dr. Dobb's Journal (杜布博士杂志)》、《C++ Report (C++ 报告)》、《C/C++ Users Journal (C/C++ 用户杂志)》和《Data Based Advisor (数据顾问)》撰稿。