开放电影项目《宇宙洗衣店》如何改进了 Blender

还没有读者喜欢这篇文章。
Blender film image

Blender 学院。CC BY 3.0 许可。

8 月初——确切地说,是 8 月 10 日——Blender 学院发布了其第七个开放项目(也是第六部开放电影)《宇宙洗衣店:第一周期》《宇宙洗衣店》,或者对于我们这些从一开始就关注其制作的人来说,称为“鹅莓项目”,不仅仅是一部 10 分钟的短片。它也是 Blender 学院迄今为止最雄心勃勃的项目,作为第一部完全免费和开放的动画长片的试点。

您现在就可以观看这部电影。(友情提示:《宇宙洗衣店》是为成年人制作的动画。它适合工作场所观看,但有些人可能认为它不适合儿童。)

什么是开放电影?

如果您不熟悉 Blender 学院多年来推出的一系列开放项目,您可能不熟悉“开放电影”这个术语。简而言之,《宇宙洗衣店》不仅使用免费和开源工具制作,如 BlenderGIMPKritaInkscape,而且电影本身及其所有资产——模型、纹理、角色绑定、动画,所有的一切——都以知识共享署名 (CC-BY) 许可协议发布。想看看生产角色绑定的样子吗?或者想知道巨大的彩色龙卷风是如何创建的吗?想在您自己的项目中使用角色(或只是道具)吗?也许您甚至想按照自己的喜好重做整部电影。这是一部开放电影!您可以做到!

此外,这部电影本身也是用于制作它的开源工具的试验场。开发人员在现场,并且非常真实地感受到艺术家如何在实际制作环境中使用(有时甚至是滥用)他们的工具。这不仅有利于了解用户交互,而且真正突出了痛点和瓶颈。在最好的情况下,开发人员可以在制作过程中提出快速(或至少是优先考虑的)解决方案。然而,更重要的是,这种经验为开发人员提供了在制作结束后开始的编码项目的理解和洞察力。

Blender 学院的所有开放项目都以这种方式发布,而且他们不会止步于《宇宙洗衣店》。之前开放电影的校友剧组已经在计划另一部开放短片,暂定名为《半杯水》

雄心勃勃的计划

《宇宙洗衣店》的诞生源于一个比这部 10 分钟短片更大的想法。它的目标是——并且在某种程度上仍然是——成为世界上第一部故事片长度的开放电影。当然,资助和制作如此雄心勃勃的项目绝非易事。Blender 学院之前制作的所有开放电影项目都从众筹预售中获得了很大一部分资金,其中许多项目在 Kickstarter 和 Indiegogo 等更方便的主流众筹平台出现之前就已启动。尽管这些项目筹集了相当可观的资金(几乎都超过 10 万欧元),但一部故事片长度的电影具有更高的财务要求和更具挑战性的制作后勤。

由 Blender 基金会友情提供。CC BY 3.0 许可。

Blender 学院估计,完成一部故事片长度的开放电影的最低预算为 240 万欧元,其中大约 20% 需要在项目开始时投入。(在这一点上,值得注意的是,与预算远高于 1 亿美元的好莱坞大型动画制作相比,这是一个非常适中的成本。)在制作方面,计划是在阿姆斯特丹的 Blender 学院所在地主导主要制作,而电影的大部分将被分成几部分,由世界各地的十几家其他工作室制作。当然,这些工作室将使用 Blender 作为其制作流程的主要部分。

正是在这个计划的基础上,Blender 云应运而生。Blender 云的主要目的是促进制作的分布式性质,充当制作资产和规划资源的中心。与此同时,订阅 Blender 云将有助于支付鹅莓项目所需的制作和软件开发成本。订阅者将获得电影制作的内部访问权限以及 Blender 学院庞大的培训资源库(以及鹅莓艺术家的额外教学材料)。

这些都是宏大的计划。事实上,非常宏大。为了实现这一目标,Blender 学院需要在制作开始时就筹集 50 万欧元。其余资金将来自持续的云订阅费,以及沿途的一些额外赞助和补贴资金。

未能如愿,向前失败

最初的众筹活动于 2014 年 3 月启动,一直持续到当年夏天。目标是为 Blender 云增加 10,000 名订阅者。不幸的是,尽管社区为这个项目筹集的资金比之前的任何开放项目都多,但这次活动远未达到预期的目标。还不到一半。

尽管如此,这仍然是一个令人印象深刻的开始。向贡献者社区提出了一个建议:Blender 学院可以完全放弃该项目,或者它可以缩减该项目雄心勃勃的制作目标,以匹配实际筹集的资金。最终,社区选择了后者。故事情节将被截短为 10 分钟左右的试点,而不是追求故事片长度的制作,这将让观众感受到完整电影中的内容。制作将集中在阿姆斯特丹的 Blender 学院所在地,而不是将制作分散到世界各地的工作室。Blender 云仍将是电影和社区参与(通过反馈和资金)的重要组成部分。

那么我们得到了什么?

由 Blender 基金会友情提供。CC BY 3.0 许可。

大约一年后,制作完成。据 Blender 学院和 Blender 基金会的负责人 Ton Roosendaal 称,制作成本略低于 40 万欧元。这笔钱支付了所有费用,包括三名全职开发人员、两名为期三个月的开发人员、七名为期 10 个月的艺术家和四名为期三个月的艺术家。结果呢?除了视觉盛宴般的电影和引人入胜的故事情节的良好开端外,还有一些开发里程碑:

  • 改进的头发/毛发模拟和渲染
  • 增强的 3D 视图(具有屏幕空间环境光遮蔽和景深等炫酷效果)
  • 绘画功能和性能提升(包括空腔蒙版)
  • 更新/改进的依赖关系图
  • Forceviz 力场可视化
  • 文件浏览器图像序列预览(包括播放)
  • 粘滞键
  • 集成开源库(如 OpenVBD(体积数据)、Alembic(网格缓存)和 Ptex(高细节纹理))的进展
  • 两个 Blender 外部工具,用于渲染和流程管理:Flamenco 和 ATTRACT
  • 大量错误修复
  • 当然,Blender 各个方面都进行了广泛的、但节省时间的增强功能(特别是在动画、雕刻和镜头排序工具中)。这些是只有在艺术家工作时与他们同处一室才能做出的重要改进。

最近在 鹅莓博客上发布了更深入的开发贡献列表。当然,这些功能中的许多功能仍处于鹅莓开发分支中,可能需要在迁移到主分支之前进行一些改进和润色。例如,虽然对 Blender 现有的头发和毛发系统进行了一系列改进,但这些代码块更像是为了方便《宇宙洗衣店》制作的临时措施,可能不会直接与主分支合并。相反,在为实际制作编写该代码过程中获得的经验和教训将成为未来重新设计头发和毛发系统的基础,从而产生更好、更稳定、更易于控制且更适合制作的结果。

还值得一提的是,在制作《宇宙洗衣店》的那一年里,Blender 继续获得与电影制作无关的额外开发能量。Blender 的常规快节奏开发仍在继续,在那段时间内发布了不少于 4 个主要版本。

下一步是什么?

正如短片副标题所示,这只是第一个周期。希望和计划是以分集的方式完成这部电影。具体何时以及如何实现还有待观察。鹅莓剧组在过去几周一直非常忙于电影的发布,参加 SIGGRAPH,并在梦工厂和皮克斯等好莱坞大型动画工作室现场放映他们的电影。他们应该好好休息一下了。

不过,我们确实知道一些事情。Blender 云仍在强劲发展,定期发布新内容,订阅者基础也在不断增长。下一个直接的制作精力将集中在《半杯水》短片上。Blender 的下一个或两个版本将涉及合并鹅莓分支中的一些剩余代码,但随着 Blender 接近 2.8 版本的发布,发布节奏将略有放缓,因为开发人员将注意力转向 工作流程改进

我们什么时候能看到第二个周期?它会制作出来吗?这很难说。根据 最近的一篇博文,剧本已经“编写、设计,并且大部分已完成故事板”。首选方案是尽可能坚持原计划,或许通过世界各地基于 Blender 的制作公司来转播电影的每个分集片段的制作(在 Blender 学院的统一指导和引导下)。

无论如何,对于开源创意工具来说,这是一个激动人心的时刻。《宇宙洗衣店》展示了它们的能力。谁知道呢?也许将成为制作电影下一部分的人。毕竟,这是一部开放电影。这不就是它的全部意义所在吗?

开放
艺术

本文是 Jason van Gumster 的 “开放艺术”专栏的一部分。您对开源艺术工具或项目的报道有什么想法吗?提交您的文章想法.

User profile image.
Jason van Gumster 大部分时候都在虚构事物。他写作、制作动画,偶尔也使用开源工具进行教学。他经营着一家小型独立动画工作室,撰写了《Blender For Dummies》和《GIMP Bible》,并在一个[有时]每周播客“开源创意播客”中继续讲述他的经历。“@monsterjavaguns”上的冒险(和谎言)。

15 条评论

这些新功能中有多少实际上进入了主分支?

鹅莓博客的链接(在功能列表下方)提供了更好的说明,但凭记忆:3D 视图增强功能、绘画改进、粘滞键、饼状菜单、更新的依赖关系图(但默认情况下仍禁用)、VSE 改进,而且我确信我遗漏了一些。

回复 ,作者:Pep(未验证)

好的,我看到了鹅莓博客文章。有很多功能没有进入主分支。总而言之,考虑到花费了一年时间和(很可能)40 万欧元预算中的很大一部分,这似乎在开发方面进展甚微。

回复 ,作者:Jason van Gumster

请记住,博客文章只是其中一位开发人员的说明。另请注意,对于该预算,艺术家的数量是开发人员的两倍。开放电影的最大改进来自更细微的地方,例如工作流程加速以及解决开发人员可能不知道(或不相信)存在的有些平凡(但非常重要)的日常效率低下问题。

回复 ,作者:Pep(未验证)

正如 Jason 已经说过的,这只是其中一位开发人员。通读 Blender 本身的发布日志,您会发现 Cycles 渲染引擎的大量优化也源于鹅莓项目,但由另外两位开发人员完成。

回复 ,作者:Pep(未验证)

感谢提供信息,Gottfried。这很有趣,但有点太模糊了。你能提供一些例子吗?我无法摆脱这种感觉,尽管 Blender 社区中所有相关人士都在试图说服我们相信相反的观点,但资助开放电影只是那样:资助一部电影。我对那没有意见,而且我真的没有发现完成的结果有什么问题(也没有特别喜欢,只是不合我的口味)。这些开放电影对于在世界各地展示 Blender 很有用且必要,但我真的怀疑它们对开发有那么大的好处。至于艺术家和开发人员在同一个房间……好吧,我确信这很有帮助,但如果这对于软件的进步真的有必要,那么商业软件根本就无法使用,对吧?还有其他成本较低的方式来获取用户反馈。

回复 ,作者:Gottfried Hofmann(未验证)

这部特定的开放电影可能没有之前开放电影所具有的“哇哦”功能开发(Blender 的合成器来自《大象之梦》,《大雄兔》改进了动画工具以及头发/毛发, 《钢铁之泪》为运动跟踪器带来了大量开发,Sintel 是 2.5 重构的现场测试……而 Cycles 渲染器本身就是从该制作中吸取教训的直接结果),但我们所得到的仍然意义重大。而且,与之前的项目一样,开发人员在项目期间学到的东西很可能会在未来的功能/升级中体现出来。

回复 ,作者:Pep(未验证)

你看,Jason,我认为问题就在这里。与之前的电影相比,筹集了更多的资金,但换来的工具进步却如此之少,这可能会(而且很可能会)给社区留下这样的印象:Blender 基金会主要将资金投入到艺术家身上,而不是开发人员身上,仅仅是为了追求某些人的艺术目标。

要求人们资助免费开源工具的开发和维护是一回事,要求他们资助别人的艺术追求本身就是另一回事。虽然有很多人不介意资助这两件事,但 Blender 用户群中可能有一部分人只想资助 Blender 开发,而不想参与 Blender 基金会制作的电影。如果事实证明这是众筹活动最初失败的原因之一(如果不是主要原因),我不会感到惊讶。

通过(至少部分地)将开发与强调艺术而非开发的开放电影项目联系起来,Blender 基金会最终可能会赶走只想工具得到改进而不对资助他人艺术感兴趣的潜在支持者。

我的意见?BI 应该回到规模更小、成本更低的开放电影项目,这些项目有助于解决工作流程问题和非常具体的功能开发,同时考虑到艺术质量,以便自豪地展示 Blender 在最终产品中的能力,但要明确强调工具开发。我可能是错的,但从长远来看,否则可能会损害 BF 的可持续性。

回复 ,作者:Jason van Gumster

我想这就是区别所在。我不认为这是“进展甚微”。当然,其他开放电影项目见证了重大新功能的诞生。但这些功能中的大多数直到项目结束后才得到润色和改进……并从经验中吸取教训。再说一遍,这正是 Cycles 的起步方式。更不用说在制作过程中添加的所有小修复和省时功能。

另请注意,*已经*有一种方法可以让人们在开放项目之外为 Blender 开发做出贡献。那就是 Blender 开发基金。它仍然存在并且运行稳定。而且 Blender 云订阅数量一直在增加而不是减少这一事实倾向于表明,用户群中很大一部分人实际上对 BI 和 BF 的发展方向感到满意。

回复 ,作者:Pep(未验证)

将 40 万美元用于开发人员和艺术家……他们制作了一部短片,并在此过程中改进了软件环境……与微软花费约 50 万美元(在一个好莱坞制作团队上)来制作 Windows 10 的桌面背景图像进行比较。哪个价值更高?

回复 ,作者:Pep(未验证)

你好,Pep,

抛光和优化软件的问题在于,它不是闪亮的大功能,而是必要的小东西。抛光使软件满足专业人士的需求,但它并不闪亮。而且,抛光和优化比破解闪亮的东西需要更多的时间和精力。在这方面,GB 剧组做得非常好。
让我们以 Cycles 为例。在 Blender 2.76 中,您能够渲染比 Blender 2.71 中可能渲染的场景大得多的场景。而且在 CPU 上的渲染速度也会快得多。

对于 GB 来说,这是第一次不需要合成,因为他们可以直接渲染所有在视口中看到的内容,就像好莱坞的“大人物”所做的那样。因为一切都更好地放入 RAM 中,并且现在渲染速度更快。

我将从发布说明 (http://wiki.blender.org/index.php/Dev:Ref/Release_Notes) 中提供 Cycles 优化的示例(GB 需要这些优化),从 2.76 向后追溯。请注意,这些只是对 Cycles 的优化,我没有列出对动画、VSE、一般工作流程的改进,我没有列出新功能,也没有列出错误修复

相机空间对象剔除
空间分割 BVH 构建时间优化
释放同步对象使用的缓存
在细分后释放多边形,以减少峰值内存使用量
在使用锁定界面渲染时释放未使用的图像
通过在将派生网格转换为网格时传递数据所有权来减少场景同步的峰值内存使用量
在构建 BVH 后同步图像,从而减少生产文件中的峰值内存使用量
通过将 BVH 节点存储拆分为内部节点和叶节点来避免 BVH 叶节点的内存使用混乱
世界 MIS 表构建现在是多线程的,从而减少了场景启动/更新时间。
跳过体积解耦光线行进代码中的连续空步骤。
使材质预览渲染对复杂着色器更具响应性
如果颜色或强度为 0,则从图中删除发射着色器。(67eb2c789718)
记录 SSS 和相机检查的所有可能的体积交点 (b3def11f5b75)
对 Haswell CPU 使用本机 float->half 转换指令 (2ec221aa281d)
光线/三角形交点现在是水密的。预计这将解决错误跟踪器中的相当多的报告,并且可能有助于减少某些场景中的噪点。
为 CPU 实现具有 SSE2 支持及更高版本的 QBVH 优化结构。GPU 渲染、非 SSE 和 32 位处理器仍使用常规 BVH。(03f28553ff07)
优化黑色世界背景 (cd723967970e)
优化没有链接到单个值节点的矢量数学节点。(43421e9c5354)
减少着色器树修改和视口渲染之间的滞后 (2dfe5e3)
从命令行渲染时回退到底部-顶部平铺顺序 (bb08502)
优化创建网格属性时的内存使用量 (1862fbf)
减少背景光更新使用的内存 (0f65250)
通过更早地释放中间 BVH 向量使用的内存来优化 BVH 构建期间的内存使用量 (3bc9ac1)
对预览渲染使用较低的渐进式更新超时,提供更即时的材质反馈
Mix RGB 着色器(混合混合模式)的优化,当因子为 0.0 或 1.0 时
这减少了内存使用量并略微提高了性能。(cbffc7499ef8)
优化没有链接到单个值节点的数学节点 (6a4a911fc39ffc)
使用解耦光线行进时,更快地渲染均匀体积
异构体积的多项性能改进。
光泽和各向异性 BSDF 的重要性采样已得到改进,这导致每个样本的噪点更少。这也增加了渲染时间,但通常可以通过减少噪点来弥补。
渲染期间减少了内存使用量。(49df707496e5, 0ce3a755f83b)
支持 AVX2(例如 Intel Haswell)的 CPU 渲染速度提高了几个百分点。

回复 ,作者:Pep(未验证)

创建可用于生产的工具的唯一方法是在生产中使用它。真实世界的测试是无价的,即使只是为了将开发精力集中在实际影响用户的功能上,而不是开发人员的个人项目。“测试场景”不足以创建可用的产品。

回复 ,作者:Pep(未验证)

您不必聘请艺术家并与他们同处一室就知道要改进什么。在许多领域,这很明显。或者您认为 Blender 已经完美了吗?拜托……

我作为 TD 在工作室工作,每天使用 Blender 8 小时。我可以滔滔不绝地谈论几天要改进什么。而且我会告诉您相同的内容以及您也想到的更多内容。

40 万欧元只取得这么小的进展——是的,你们浪费了这些钱。

这才是真正的遗憾,您说您已经知道需要进行这些改进,但显然没有将这些改进传达给您在生产中使用的工具的开发人员。

您说您知道可以进行进一步的改进,那么,请坐下来写下来,并将它们传达给开发人员。请记住,对您来说显而易见的事情对其他人来说并不显而易见,因此请避免犯这个错误。

顺便说一句:从我的角度来看,您是在吹嘘自己什么都没做,但您本可以提供帮助,这给您带来了负面影响。我也鼓励其他任何可以提供帮助的人这样做,因为它最终也会使您受益。

回复 ,作者:Jerry(未验证)

@Jerry:所以,为什么不向开发人员提交错误报告/增强功能请求,而不是在这里抱怨。

回复 ,作者:Jerry(未验证)

知识共享许可协议本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.