Monster Mash:一款基于草图的休闲 3D 建模和动画工具

3D 计算机动画是一种耗时且技术含量极高的媒介——即使要完成一个动画场景也需要许多步骤,例如建模、装配和动画制作,每个步骤本身都是一个子学科,可能需要数年才能掌握。由于其复杂性,3D 动画通常由熟练的专家团队进行,尽管技术和工具已经取得了数十年的进步,但几乎所有其他人都无法接触到它。随着最近促进游戏角色创建和游戏平衡的工具的发展,一个自然而然的问题出现了:是否有可能使 3D 动画过程民主化,以便每个人都可以使用它?

为了探索这一概念,我们首先观察到,大多数艺术表达形式都有一种随意模式:古典吉他手可能在没有任何乐谱的情况下即兴演奏,训练有素的演员可以在排练时即兴发挥一两句台词,油画家可以快速记下一幅手势画。这些随意模式的共同点是,它们允许艺术家快速直观地表达完整的想法,而不必担心犯错。这对创作过程至关重要——当每幅草图几乎毫不费力时,就可以更有效地反复探索可能性空间。

在本文中,我们将介绍Monster Mash ,这是一款在SIGGRAPH Asia 2020上展示的开源工具,它允许专家和业余爱好者从头开始创建丰富、富有表现力、可变形的 3D 模型,并为其制作动画,所有这些都在轻松模式下进行,无需离开 2D 平面。使用 Monster Mash,用户可以勾勒出一个角色,然后软件会自动将其转换为柔软、可变形的 3D 模型,用户可以通过抓取该模型的各个部分并实时移动它们来立即为其制作动画。还有一个在线演示,您可以亲自尝试一下。

1729056664361.jpg

使用 Monster Mash 创建步行循环。步骤 1:绘制角色。步骤 2:为其制作动画。

创建 2D 草图

使这种随意绘制方法成为可能的洞察力在于,许多3D 模型(尤其是有机形态的模型)可以用一组有序的重叠 2D 区域来描述。这种抽象使复杂的 3D 建模任务变得容易得多:用户通过绘制轮廓来创建 2D 区域,然后算法通过将这些区域拼接在一起并膨胀来创建 3D 模型。结果是一个用于绘制 3D 图形的简单直观的用户界面。

例如,假设用户想要创建大象的 3D 模型。第一步是将身体画成闭合的笔触 (a)。然后用户添加笔触来描绘其他身体部位,例如腿 (b)。将这些额外的笔触画成开放曲线会向系统提示它们应该与重叠区域平滑连接。用户还可以通过使用鼠标右键 (c) 来指定某些新部分应该位于现有部分后面,并通过双击其他部分将其标记为对称 (d)。结果是一个有序的 2D 区域列表。

1729056634336.jpg

创建大象 2D 草图的步骤。

缝合和充气

要了解如何从这些 2D 区域创建 3D 模型,让我们更仔细地观察大象的一部分。首先,系统通过找到完成开放曲线的线段(红色)来确定腿部必须连接到身体的位置(a)。系统沿着该线段切割身体的前表面,然后将腿部前部与身体缝合在一起(b)。然后,通过求解泊松方程的修改形式将模型膨胀为 3D ,以产生具有圆形横截面的表面(c)。生成的模型(d)光滑且形状良好,但由于所有 3D 部分都植根于绘图平面,它们可能会相互交叉,从而产生一个看起来有些奇怪的“大象”。这些交叉点将由变形系统解决。

1729056621069.jpg

缝合和充气过程细节说明。示意图(b、c)是从大象正面看到的横截面。

分层变形

此时我们只有一个静态模型——我们需要为用户提供一种简单的方法来摆出模型姿势,并以某种方式分离相交部分。Monster Mash 的分层变形系统基于众所周知的尽可能刚性(ARAP) 的平滑变形方法,可同时解决这两个问题。 我们的分层“ARAP-L”方法的新颖之处在于它将变形和其他约束结合到一个优化框架中,允许这些过程以交互速度并行运行,以便用户可以实时操纵模型。

该框架包含一组分层和相等约束,这些约束可沿z轴移动身体部位,以防止它们明显相交。这些约束仅适用于重叠部位的轮廓,并且每帧都会动态更新。

1729056607352.jpg

在上述步骤 (d) 至 (h) 中,ARAP-L 将模型从具有相交 3D 部分的模型转换为具有用户指定的深度顺序的模型。分层约束迫使腿部轮廓保持在身体前方(绿色),身体轮廓保持在腿部后方(黄色)。等式约束(红色)将腿部和身体之间的松散边界密封在一起。

同时,在框架的单独线程中,我们满足点约束,使模型在xy平面中跟随用户定义的控制点(如下节所述)。这种 ARAP-L 方法使我们能够将建模、装配、变形和动画全部结合到一个流程中,这对非专业用户来说更容易上手。

1729056597011.jpg

模型变形以匹配点约束(红点),而分层约束则阻止各部分明显相交。

动画片

要摆出模型姿势,用户可以在模型表面的任意位置创建控制点并移动它们。变形系统会收敛到多个帧,这让模型的运动具有柔和、松软的特质,让用户可以直观地掌握其动态特性——这是动觉学习的必要先决条件。

1729056584062.jpg

由于变形效果在多帧上汇聚,我们的系统赋予 3D 模型柔和而动态的品质。

为了制作动画,系统会实时记录用户的动作。用户可以为一个控制点制作动画,然后播放该动作,同时记录其他控制点。这样,用户可以通过分层动画(一次一个身体部位)来构建复杂的动作,例如走路。在动画过程的每个阶段,用户唯一需要完成的任务就是在 2D 中移动点,这是一种低风险的工作流程,旨在鼓励实验和玩耍。

结论

我们相信这种制作动画的新方法非常直观,因此可以帮助实现计算机动画领域的民主化,鼓励通常无法自行尝试的新手以及经常需要在紧迫期限内快速迭代的专家。在这里您可以看到使用 Monster Mash 创建的一些动画角色。其中大多数都是在几分钟内创建的。

1729056573685.jpg1729056561934.jpg

1729056439086.jpg1729056457057.jpg

使用 Monster Mash 创建的动画角色选集。用于创建每个 3D 模型的原始手绘轮廓在每个角色上方以插图形式显示。

Monster Mash 的所有代码均可作为开源使用,您可以观看我们的演示并阅读我们在 SIGGRAPH Asia 2020 上的论文以了解更多信息。我们希望这款软件能让更多人能够创建 3D 动画。试用在线演示并亲自体验!

致谢

Monster Mash 是 Google Research、布拉格捷克技术大学、苏黎世联邦理工学院和华盛顿大学合作的成果。主要贡献者包括 Marek Dvorožňák、Daniel Sýkora、Cassidy Curtis、Brian Curless、Olga Sorkine-Hornung 和 David Salesin。我们还感谢 Hélène Leroux、Neth Nom、David Murphy、Samuel Leather、Pavla Sýkorová 和 Jakub Javora 参与早期的互动会议。

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论