揭秘开源电影的制作方式

新的阶段,新的成员

揭秘开源电影的制作方式

好了,待在 Blender Insititute 开源项目工作室的两天半时间内,我的脑海里持续不断地产生新想法,以及提出新的问题,并且尝试将这些零碎的想法,和开源动画电影的制作方式联系起来。如果要以学术标准来衡量,仅仅通过人与人间短短两天半交流,对获取知识而言意义不大。但是我认为在 Blender 工作室,这里提供了一个全新的人与人交流,开阔眼界的方式,你可以找任何人沟通聊天,其他时间还能通过 IRC 和参加周会跟进项目进度。

每当我计划去参观开源动画电影项目 Gooseberry 时,却又不知道什么时间去最合适时,Ton 和 Francesco 都这样回答我,任何时间都可以,因为这里随时都会有意想不到的事情发生。这点除了使得我的每次访问变得非常难以预测外,也添加了惊喜的成分。因为我并不知道我会在办公室里遇到什么人,是新成员还是即将离开的成员,这里的工作氛围又会是什么样。

这一次我访问开源电影项目 Gooseberry 时,遇到的新成员有 Elysia ,Campbell ,Manu 和 Bastien 。访问期间遇到的最大问题就是,几乎很难找到机会与人聊天,因为在这里每个人都很忙,而我也并不喜欢占用他人的工作时间。Campbell 从厨房匆忙地拿出一杯咖啡后,几乎是小跑着回去,然后继续编程,这让我和他可以交流的时间仅仅只有几分钟。不过幸运的是,在第二天晚上,我抓住了一个意料之外的交流机会。

与 Campbell 的交谈

我们之间是以完全没侧重点和确定主题的方式展开交谈的,谈话从一个主题可以瞬间跳到另一个主题。当聊到最兴奋的时候才发现,时间已经接近深夜了,这时我们才意识到,已经花了将近两个多小时在谈论 Blender 、开源运动、关于 API、补丁和跟踪修复的方式、全职在 Blender Institute 工作的人以及志愿者们、问答网站 Stack Exchange(类似国内的”知乎“)和开源电影等等。

Campbell 和我还聊了很多关于渲染农场,以及拥有搭建自身基础设施的优势。“如果我们没有足够的控制权来找出原因,事情将会注定失败。所以换句话说,你最好拥有对所依赖技术的控制权”。渲染的整个过程对我充满了吸引力,在我看来,其吸引人的地方在于,渲染过程就像是将各种物体组合起来,每一个视觉元素看上去又相互独立,再加上各种干扰的存在,例如数据出错或者硬件过热,所以每一个环节都有可能出错,但是当一切都顺利运转起来之后,渲染将会为你呈现魔幻般的影像奇迹!

在谈话刚开始的时候,我就想请教 Campbell,如何去看待艺术家与开发者在 Blender Insitute 开源工作室中的关系,以及在电影制作过程中,软件本身是如何得到改进和更新的。要解决这些疑惑的话,我应该如何去了解整个过程?应该留心什么细节?期间还聊到了他的早期项目中的经验是什么?这样话题又延伸到了如何去享受编程,既可以沉浸在利用巧妙方式解决问题后带来的成就感,还得忍受必要却很无聊的各种维护工作。

聊到了解决问题的“技巧性”,这不禁让我想起了 Gabriella Coleman 在他一本有关自由软件和 Debian 社区书中的一段引用

“黑客十分看重智慧、独创以及机智,这些个性不仅体现在他们与朋友间的说笑,以及黑客间的交流,而且还体现在其技术生产的过程,和编写技巧性代码中。拿个很多黑客们在考虑异常情况时常用到的小段代码为例,使用的是 Perl 语言:

#数一数天上的星星

$ cnt = $ sky =~ tr/*/*/;

这行Perl语言代码其实就是种向黑客精神致敬的方式,一种隐藏在技术和文字背后的双关语。”

我还不能确定,是否应该把Blender开源项目的开发人员们视为黑客,但我认为他们在对待软件开发的态度上,是和人们通常在黑客活动或开源社区中所持有的态度有相似之处。

Campbell 也谈到了“黑客式的解决技巧”,这种技巧不一定合理,但是能提供最快速的解决方案。有时在面临一个复杂的解决方案时,这种技巧拥有实质性的优势。他举了6年前编写早期的渲染农场的例子,“只需要简单地分配按指令发来的图像,不要覆盖任何文件,并将系统指向本地网络的共享位置,然后渲染,”Campbell 解释着他是怎么做的,这事实上是一种黑客式行为,但是在必要时刻,它比安装一个功能齐全的渲染农场软件要方便的多,而这套渲染农场也是可以完成《大雄兔》动画制作的功臣。

接着我们又聊到,Blender 开源项目的开发是如何做到与众不同的,比如说相比较 Linux 开发而言,以怎样的方式能够系统化开发整套系统,以及更容易为某个方面做出改进,这算是我们当天最后一个话题了。对于 Blender,我们可以看到,因为艺术家对软件的依赖性,所以任何调整,都会严重影响到现有的工作流程。另外,很多功能需求和bug修复还需要划分优先级,实际上解决正在发生的问题,要比完成设想上的功能占据较高的优先级。还有一点似乎很难决定的就是,“我需要满足这个用户的需求”,但是当满足了这名用户之后,并不意味着可以满足其他用户在这个方面上的需求。小的改变可能会破坏整个工作流程,而这点会导致用户蒙受损失。

所以基于这个层面上说,Campbell 说道,像启动 Gooseberry 这样的开源电影项目,它就能帮助我们将软件开发的重心,聚焦在艺术家每天都会面临的问题上。你再也不必去想象他们会面临什么样的问题,或者是他们所需要的功能,因为在实际创作的过程中,你会第一时间亲身经历这些问题。通过这种方式,你能够跳出“投机式设计”的模式,在设置优先级时,能更理性地面对最亟待解决的问题。所以我得到了这样的总结:相比于其他自由软件社区的开发机制,Blender的最大特色是,实用主义超出设想主义。

随时都会出现的 Bug

揭秘开源电影的制作方式

在今天的早些时候,我看到了这样的一个小插曲,当 Pablo 在使用 Sumbeam 时,遇到了一个奇怪的 bug(Sunbeam 是一种“十分便捷”的渲染方式,它能快速模拟体积光效果,Pablo 耐心地向我解释到。我想说的是,“恩,是否这又能作为3D动画领域中借助黑客思路,采用特殊技巧解决问题的一个案例呢?”),在渲染环境的过程中,Pablo 的图片表现得就像损坏的图片一样。碰巧 Lukas 从旁边经过,Pablo 在向其描述这个问题之后,第二天,Lukas 就解决了这个bug。像这样在动画制作过程中,如果身边能有熟悉相关代码的开发人员,确实是一种高时效和高效率的工作方式。

揭秘开源电影的制作方式

来自Pablo 的制作截图

Manu 的观点

Campbell 和我也谈到了,在 Blender 工作室的工作舒适度,以及对 Blender 基金会的满意度。在这可以感受到一种非常轻松的工作氛围,大家的满意度极高,享受着这里很强的自由和自主性。在跟 Manu 谈话时,我更感到好奇的地方是,相比他之前在“愤怒的小鸟”工作室中的工作,在 Blender 工作室里参与 Gooseberry 开源电影有什么不同之处。聊天时,Manu 正在为岛屿设计截取效果预览图,然后利用 GIMP 的命令行工具,和 ImageMagic 软件,来修剪帧和截图。他告诉我,最大的不同在于你需要通过分享和周报,展示工作的进度,还包括将私有资源共享。在这个行业中,数年或数月的工作都有可能永不见天日,有些内容甚至不可能出现在演示预告片中(参考了解 Daniel 谈到动机的三大原则:自主性、自控性、目标性,这让我能更深入地理解 Manu 的观点)。Blender 工作室制作电影的方式,完全改变了这种封闭型的工作方式,使得人人都有机会接触电影的制作过程。在我之前的访谈中,代码的开放度也被开发者提到过,因为源码总是被隐藏起来的,但是 Blender 工作室的共享模式,还包含了源码的开放,使其完全公开化。

全面化得了解

其实,动画电影的生产过程中,背后还隐藏了大量的工作。虽然 Gooseberry 开源电影项目具有雄心勃勃的目标,但是因为没有足够的资源来匹配(相对于同行业的工业量级的制作),电影的制作过程一直处于波动状态。而且事情似乎无时无刻都在改变,新的挑战接踵而至,虽然基本思路是清晰的,但是没有任何细节上的概念。Franck 在一个场景中应该面朝哪个方向?他应该怎样去抓住蜻蜓的触角?还有,蜻蜓怎么飞的?何时飞?怎么旋转?何时旋转?在一个场景中应该有多少只蜻蜓?他们应该都在一个场景里吗?在场景中还需要有其他的飞行生物吗?为了测试他们的效果,这些就需要做大量的测试。在这个过程中所隐藏的是大量的工作量,这在不断变化的创意工作中,是无法被量化的。而且,大多数爱好者唯一能跟踪这个项目的方式,就是通过博客和每周的周报。例如 Elysia 就写了篇关于在两个星期内,如何在相同场景中创建不同预览镜头的文章,并在周报会中分享。所以,周报是可以最直观了解这些制作背后工作量的方法。

例如,当 Manu 在开始为电影第一个场景中的岛屿建立模型时,他一直在做相关准备工作,包括一直在为镜头中的布局和长短做预演。这在实践中意味着什么?它意味着虽然 Manu 一直在为岛屿的各个角度创建预览截图,但是其中还是会有一些场景被剪掉。我想知道的事:它是一个因为项目协调不合理产生的问题吗?或者是一个动画工作流程中就该这样?Limor Shifiman 说到,工作流是一个“面向未来”的过程,在这个过程中,每一步骤完成后就会跳转到下一步骤,但是每一步骤中会大量增添更精确细节的工作,为了下一步可以节约资源,应该做什么样的准备?处理细节前,又如何确定视觉和创意上的匹配,这是一个很具挑战性的任务。现在,Gooseberry 开源电影项目所处的阶段,就是一直想尝试找到这些问题的答案,借助替代物体来预先制作导演想要的画面,试着模拟最终的效果。

虽然 Hjalti 可能会花两天的时间,在一个连最终会有几秒钟都没确定的镜头上,但这方面的付出,却可以向导演提供一种可提前预览电影效果的方式。一旦可以确定这一部分的镜头内容,那么导演和艺术家就可以投入更多地时间,添加并完成更丰富的视觉效果细节。因此,Hjalti 和 Mathieu 在场景预览上的工作,就像是将其他人将要完成的片段整合起来,并合成最终效果。通过这种方式,我们能够向每个人交流导演希望呈现出来的效果和画面,预览整部电影最终会是什么样子。(很抱歉,虽然这听起来有点抽象,我还是希望你能明白我的意思!:))这种工作循环过程在必要的时候可能重复很多次,当出现效果不理想或不合适的时候,都要按照这样的循环流程,重新开始预览设计。

预知未定的事物

顺便提一句,虽然 Mathieu 是个导演,他现在也会进行预览镜头设计,还包括录音,并且可能做很多的事情......就像其他人一样。这和工业化的电影制片方式很不一样,通常导演会和艺术家分开在不同的地方工作,不过同样大家都会制作整个预览。虽然他们是拥有足够的人力的,但是当需要转到下一步骤制作时,这些预览镜头会节约大量的时间,避免浪费人力的问题。就像 Hjalti 解释给我听的那样,当转到动画阶段时,任何的剪切和调整都会对团队造成巨大伤害,因为创建角色动画时,艺术家们会付出巨大的努力,甚至会倾入大量的个人情感。Hjalti 举了个例子:迪斯尼曾经为那些在影片中付出最多精力和努力,但完成的镜头却没能进入最终影片的人设置过一个奖项,其中有个人在一个非常困难的场景上花费了数月的时间,却在之后因为剧本中的一个细小改动,所有镜头在最后成片中被完全剪掉了。

所有这一切都让我不禁想到,制作一部动画电影是一个将集体设想变成现实的巨大实践,而在制作过程中,我们可能在很长一段时间内,都无法想象这些东西最后可能是什么样子。另一方面,生产过程是很严谨的,包括各种工具的使用和配合,让完成整部动画的分工变得更紧凑,是大量工艺和技术的集中体现。所以说,将如此大量努力和情感,都参与到这种集体创作的过程并且完成它,即使最后呈现的只是一个简短的作品,甚至只有几分钟,也都足以回报大家倾注的投入。因此,如果能在公众面前展示并授权分享这项成果,那又是另外一种帮助艺术家扩展其作品价值的方式,并可以让更多人都能从中创造出更多价值。

想了解更多关于我对开源电影的报告、研究以及想法,请查看我的博客

原文地址

感谢 CSDN-Code 提供的翻译平台技术支持,感谢译员 Amily_K 的翻译辅助。