Houdini如何重塑商业动画与VFX流程?Ezequiel Grand的实战解析

AI3D 发表于 08-25 浏览 0 分类 创作分享

介绍

我的名字叫 Ezequiel Grand,是一名阿根廷 3D 艺术家,目前常驻于美国加利福尼亚州洛杉矶。我于 2010 年从阿根廷 UNSTA 大学平面设计专业毕业后开始职业生涯。我进入 3D 领域并非一蹴而就。最初我从事平面和网页设计,后来对动态图形越来越感兴趣,由此接触到 After Effects,并最终转向 Cinema 4D——我的第一款专业 3D 软件。

随着我的工作对技术要求不断提高,我开始寻找一款能让我更好地控制动画和效果的工具。这段探索最终让我找到了 Houdini。最初吸引我的是它作为特效软件的声誉,但我很快意识到,它的真正实力远不止于模拟。

它可以用于动画、程序化建模、动态设计、工具开发、视觉特效,以及构建能够自动生成新变体的完整系统。这种程序化思维方式逐渐改变了我使用的软件,也改变了我处理创意问题的方式。

从商业广告到演唱会视觉

在我的职业生涯中,我有机会参与了各种类型的项目,包括为 Apple、Nike、Adidas、Pepsi、FOX、FIFA 和 Cartier 等品牌制作商业广告,以及为 Shakira、Black Eyed Peas、Paul McCartney 和 Justin Bieber 等艺人制作演唱会视觉和内容。我还参与过与 MTV 音乐录影带大奖、英雄联盟全球总决赛、Billboard 活动和 TEDx 等活动相关的项目。

这些项目本身可能千差万别,但往往面临同样的挑战:商业制作节奏很快。截止日期可能很短,创意方向可能变化迅速,而客户往往在得到最终结果之前需要看到多个变体。这就是 Houdini 对我来说变得特别有价值的地方。

Breakdown:

Houdini 成为我的核心工具

我仍记得我最早使用 Houdini 的专业项目之一。那是在 2018 年左右,我学习这款软件才大约六个月的时候,就接到邀请参与 Paul McCartney “Freshen Up” 巡回演唱会的视觉制作。该项目需要创建多个不同的环境,包括沙漠和海底世界,涉及地形生成、FLIP 瀑布模拟、粒子模拟以及大量建筑和环境元素。

挑战之一是在短时间内创建许多不同的房屋。手动逐个给建筑建模会极其耗时,尤其考虑到制作周期。于是,我在 Houdini 中构建了一个程序化房屋生成器。该系统暴露了建筑尺寸、高度、窗户数量、屋顶设计以及其他建筑特征的参数。我不必逐个建模,而是可以利用同一套程序化系统生成大量变体。

我将同样的思路应用到了海底环境中,在那里我创建了另一个用于生成不同珊瑚形态的程序化系统。

那个项目成为我与 Houdini 关系中的一个重要时刻。我意识到,与其问“这个对象怎么创建?”,不如开始问“我如何构建一个能够创建这个对象多个版本的系统?”这一区别成为我如今工作方式的根本。

转向程序化商业工作流

程序化工作流最大的优势之一并不仅仅在于能够加快制作速度。更重要的是,它们让项目更具适应性。在更传统或破坏性的工作流中,一个重大的创意变更有时意味着重建一个特效或资产的很大一部分。在 Houdini 中,我尽量这样搭建设置:让关键的创意决策仍然以参数形式暴露出来。

回到房屋生成器,如果制作需要 50 栋不同的建筑,我不一定需要逐个建模 50 个独立资产。相反,HDA 可以暴露尺寸、楼层、窗户、屋顶、比例以及其他属性的控制项。这样系统就能在保持一致的视觉语言的同时生成大量变体。

这在商业广告中尤为强大,因为客户反馈是创意过程的一部分。诸如“能把它做得更高吗?”、“能不能换一个不同的对象试试?”或“能做出二十个变体吗?”之类的请求,不一定需要重建这个作品。只要系统设计正确,这些就只是参数变更,而不是制作问题。

设计能经受客户变更的特效

另一个例子来自 MDL Beast 音乐节的项目:

我当时在开发一些粒子模拟,需要显现出不同的图形图案。我没有为每项内容单独制作模拟,而是围绕一个可替换的源来设计设置。

这个源可以是视频、图像或图形图案,而系统其余部分负责将其转换为模拟。这意味着我可以把完全不同的图像输入到同一个设置中,快速生成新内容,同时保持相同的视觉行为。

这是我认为 Houdini 最宝贵的理念之一:将内容与处理内容的系统分离。当这两个部分被恰当地分开时,迭代就会变得容易得多。

Breakdown:
Breakdown:
Breakdown:
Breakdown:
Breakdown:
Breakdown:

Houdini 超越传统特效

Houdini 仍然常常与大规模特效(FX)、海洋、破坏、爆炸、烟火(Pyro)及类似模拟联系在一起,但我自己的创作经验越来越清楚地表明,它在这些传统应用之外也同样非常有用。我曾将 Houdini 用于抽象商业动画、程序化字体设计、平面设计动画、程序化建模、角色相关特效、生长系统,以及能够自动生成复杂资产的工具。

例如,最近与 Estudi-Image 合作的一个项目需要一种更具图形感、几乎带有 2D 风格化视觉语言的表现方式。我非常喜欢那个项目,因为它让我能够重新连接自己的平面设计背景,同时通过 Houdini 来完成动画。与其将 Houdini 仅仅视为一个模拟工具包,我更倾向于利用它的程序化特性,把它作为一种设计工具。

Breakdown:
Breakdown:
Breakdown:
Breakdown:
Breakdown:
Breakdown:

为 FIFA 22 构建可复用特效

另一个很好的例子是《FIFA 22》发布预告片,我们在球员周围制作了多种图形特效的组合。

挑战并不仅仅是针对某一位球员制作一个特效。系统需要有足够的灵活性来适配不同的球员和几何形态,同时保持相同的整体视觉语言。

因此,我用程序化的方式构建了特效,将不同组件分层,包括线条、粒子、排版和其他图形元素。球员几何体实际上成为了系统的一个输入。

Breakdown:
Breakdown:

如果客户提供了更新后的几何体,我可以在网络(network)的开头替换模型,并让下游的程序化设置自动适配。这在制作中特别有用,因为资产很少会从项目开始到交付始终保持不变。围绕这一假设来构建系统,会让整个系统更具韧性。

为《异形:地球》组合不同 Houdini 工具

最近我最喜欢的项目之一是与 Tendril 合作制作的《异形:地球》预告片。我的研究与开发(R&D)探索了几种不同的有机特效,包括程序化蛛网、撕裂皮肤、生长中的血管结构,以及蛇形形态向镜头移动的效果。这个项目特别有意思的地方在于,并没有哪一种单一技术能够解决全部问题。

相反,我可以根据所需的动态行为,结合 Houdini 中的多个领域。例如,FEM 可以用来探索类似皮肤材质的撕裂和变形,而 Vellum 则为蛛网状结构提供了很好的基础。基于 POP 的系统和程序化生长技术也被用于部分有机运动和结构的制作。

Breakdown:
Breakdown:
Breakdown:
Breakdown:
Breakdown:
Breakdown:

这也是 Houdini 一直处于我工作流程核心的另一个原因。我不一定把 Houdini 看作是一堆独立工具的集合——粒子、Vellum、FEM、FLIP、程序化建模等等。我更多地把它们视为可以组合起来、为特定创作问题设计解决方案的积木。这种自由度在研究与开发(R&D)阶段尤其宝贵,因为你往往在刚开始时并不确切知道哪种技术能产生最终结果。

Tendril – 《异形:地球》R&D:

制作中高效设置的建议

以下是我在制作一线工作十年多来学到的一些建议:

  • 不要只是为了程序化而把一切都做成程序化。

有时候构建一个庞大的程序化系统,比直接解决镜头要耗时更久。关键在于识别出程序化何时能真正带来价值。

  • 找出哪些部分很可能会变。

如果客户很可能会修改模型、文字、颜色、数量、速度或其他创作变量,这些就是适合作为参数暴露出来供调节的候选对象。

  • 将输入、处理和输出分离。

保持这些阶段有条理,会让你在替换资产时更容易,而不会破坏整个设置。

  • 为迭代而构建。

一个好的商业项目设置不应该只生成一个漂亮的结果;它应该能让你快速生成十个有说服力的变体。

  • 策略性地使用缓存和检查点。

网络(network)末尾附近发生更改时,不应该迫使你从开头重新计算一切。

  • 知道何时构建 HDA。

如果一个系统很可能会被重复使用、共享或反复调整,那么把它封装成一个设计良好的 HDA 能显著提高工作流程的效率。

通过程序化获得创作自由

最后,我想分享一些个人性质的 Houdini 实验,这些实验在客户项目之外探索程序化,并展示当实验本身成为主要目标时,一套系统能走多远。

Breakdown:

程序化机器人

我对程序化机器人设计的兴趣,始于观看了 Scott Robertson 演示 Modo 中的生成式设计工作流程。他的展示让我思考,类似的想法如何能适配到 Houdini 基于节点的程序化环境中。

这个问题最终发展成了一系列程序化机器人实验、讲座、分步讲解(walkthroughs)以及可复用的 Houdini 工具。我还分享了一个 Houdini HIP 文件,供任何想探索这套设置并从中学习的人使用。

定义强有力的基础剪影

从简单开始。先创建一个基础形状,它之后将作为主要表面,用于在其上进行硬表面设计。一个简单的低多边形 T-pose 身体就很合适。如果你之后想引入纹理或遮罩来驱动新形状的生成,UV 也可能会派上用场。

随后你可以加入噪波(Noise)或置换(Displacement),并结合 Clip 和 Mirror 等操作。与其只处理一个固定的角色剪影,不如通过 Noise Type、Amplitude、Frequency、Roughness 等参数来生成范围更广的形态。

将角色分成组也会很有用——手臂、躯干、头部和腿部——这样之后就可以对每个区域应用不同的程序化方法。

Breakdown:

生成可复用的硬表面组件

基础轮廓就绪后,下一步就是构建可复用、可重新组合的硬表面元素。在 Houdini 中实现这一目标的方法有很多,而这也是实验显得尤为重要的环节。我个人特别喜欢的一种方法是将矢量形状投影到角色上。例如,你可以使用 Trace 导入矢量形状,应用 End SOP,对曲线重新采样,然后使用 Ray 将设计投影到目标表面。

然后,PolyCap 可以填充投影形状,Thickness 为其增加体积。一旦你开始使用多种形状——或者为手臂、躯干、头部和其他区域分配不同的形状族——系统就能开始生成越来越独特的角色。

Breakdown:

创建 HDA 并随时间驱动参数

每个主要阶段都可以转化为带有暴露控件的 HDA。例如,初始角色生成器可以包含随时间改变轮廓的参数。Mountain SOP 可以使用基于帧的表达式(如 $F)来变化其偏移量,从而在每一帧上生成不同的轮廓,并有效地将时间轴变成设计变体的生成器。

同样的方法也可用于硬表面形状。开关或菜单参数可以在导入的 Illustrator 矢量或直接在 Houdini 内创建的形状之间循环切换。组合这些控件,可以让一个相对紧凑的系统生成大量机器人变体。

Breakdown:

利用程序化结构打造隐藏的复杂性

一旦外部硬表面元素就位,内部骨架或次级结构即可增加另一层视觉复杂度。一种方法是将基础角色转换为 VDB,运行 VDB Analysis 生成梯度场,然后将该场与 Volume Trail 结合使用,以创建具有生物感的内部结构。

另一种方法是使用 Shortest Path。你可以定义一小组起点——例如头部、双手和双脚——并将剩余点中的一定百分比作为潜在目标点。这样就可以在整个角色中生成类似脉络或结构性的路径。

Breakdown:

探索替代性硬表面技术

还有很多其他方法可以生成硬表面细节。例如,PolyReduce 可以创建角色的低多边形版本,然后使用 PolyExtrude 进一步加工。通过挤出 ramp 可以引入更多样、更有趣的表面细节。

Voronoi Fracture 也是生成面板状结构的有用工具。通过控制 cluster 并将它们与自定义 wrangle 结合,你还可以创建类似电路的图案,然后将其投影到几乎任何表面上。

重要的理念是不要依赖单一技术。当多个简单系统层层叠加,并通过一小组有意义的控件暴露出来时,程序化设计会变得有趣得多。

Breakdown:

以下是一些有用的链接(我做的关于程序化机器人的演讲/教程):

结论

对我来说,程序化并不是要把艺术家从流程中剔除。而是给艺术家更多探索的可能性。与其花时间重建同样的东西,我可以把这些时间用来思考:这个系统还能变成什么?这最终是让 Houdini 始终处于我工作流核心的原因。它让我能够在高效处理商业项目的同时,仍然为实验、迭代和创意发掘留出空间。

Ezequiel Grand(Caskal),3D 艺术家

相关链接

原文链接:https://80.lv/articles/breakdown-how-houdini-is-reshaping-commercial-animation

喜欢这篇内容吗?