动画片<料理鼠王>CG技术制作细节分析

简介
“对于厨艺的热情” 是Pixar的电影《料理鼠王》 的中心思想。这部复杂而又挑战无处不在的电影最终在使用了多方软件及相关技术的背景下被解决了。这篇文章涵盖了包括 模型、厨房布局、材质、灯光、特效 等等多个方面的知识讨论。
这个故事需要一个杂乱的并且功能齐全的厨房。我们将会从概念设计、视觉分镜甚至从动态解算技术方面出发找到灵感并且完美的展现这个厨房的格局。我们将使用像镀金的盘子、mis-en-place(一个神奇的厨房)或者橱柜之类的这些元素出发来慢慢展现。
给食物赋材质并且符合这部电影的风格是其中的一大挑战,并且能够让观众感觉到这就是食物并且想吃。我们开发了一个软件并且添加了一个精细照明的技术,这个软件可以使用在多种物体上面。我们将会从蔬菜类的物体到镀金的盘子这些案例一一说起。
灯光在让食物变得可口方面帮助很大,在之后的让不同种类的食物像 面包、奶油、汤和酒等模型的边缘提亮方面更是起到了关键作用。我们将讨论灯光在照明食物、特殊挑战和解决不同盘子照明方面遇到的问题和解决方法。
这部电影需要不同的烹饪手法,例如:剁碎、剥皮、搅拌、舀汤等等,我们将讨论这部电影遇到的创造性问题和在解决方案方面遇到的潜在的挑战。这些解决方案还会用在如切胡萝卜、揉面、做汤等多个镜头中。
尽管这篇文章主要是讨论《料理鼠王》中如何做美食的,但需要强调的是这些基本解决方案可以被应用到更复杂更严峻的视觉挑战中。



编辑整理和翻译 : Happy_高兴


第一章

食物模型和空间布局

1. 简介

食物和厨房是《料理鼠王》电影的关键部分,我们把它们视为人物角色并且随着故事主线的发展而变化,因此做出一个令人信服的厨房空间是极其重要的,而且要有鲜美可口的食物在里面。我们将全局考虑概念设计风格去组织空间关系,之后加上技术应用使得我们能做出更加真实而且有细节的食物来装扮我们的厨房。

2. 厨房 – 多功能空间布局

在制作伊始,我们需要考虑一个看似简单的问题,怎样使得这个厨房更加可信?我们的挑战是为观众精心安排一个厨房体验区,就好像一个真正的餐厅厨房应该有的感觉。对于所有的动画电影来说,它的优势是我们在大屏幕上只需提供它应有的故事情节而且可以抹去现实中的写实感。我们的故事开始于一个有审美性质的法国烹饪评论 – mis-en-place(翻译为 任何东西在它适合的位置)Mis-en-place 的特点是:在做任何美食之前,所有的配料和厨具都事先测量、规整、收集,最后定位在厨房中一个平常的地方。这个思想便于整合所有必要元素并且放在厨房中应有的位置,最终使得整个厨房变得活灵活现。这个厨房简洁、雅致、多功能并且能够展现 人物-厨房-食物 之间的背景关系。

视觉上,这个概念被解释并执行到一些特定的、有结构的规则中来装扮我们的厨房:

1. 当观众的视线穿梭于厨房时,一组组的配料和厨具提供一个间断但有节奏的厨房感觉;

2. 多功能厨房可以被设计成不同的菜系在不同的地方做(做汤区域、烤肉架、烤鱼架、传热区域、冷却区域、咖啡厅等等)。与mis-en-place的概念非常吻合,这一套组合为之后的视觉框架提供更好的服务,并且让观众更好的吸收和理解。

3. 随时改变厨房组合的格局可以暗示整个场景的情节发展(例如:厨房中是在做晚餐还是午餐?)

在下面的案例中,mis-en-place的概念被使用在一个不明显的个人关系中 – 食物与厨师的关系。同样的概念被映射到视觉上的每一个厨房空间中(例如:Linguini的灶台),或者厨房的整个流程中。下面的案例将演示如何将一个简单的想法组合并搬到屏幕上并且使得观众理解这个厨房布局的合理性(例如:一个炒肉的灶台、一个准备沙拉的灶台)。

图片1

 

1mis-en-place 设定

图片2

2mis-en-place 设定在最终场景中的展示

 

2.1空间概念设计

我们的主要挑战是打破厨房原有的布局,让它随着故事情节的不断发展而有所变化。这对观众来说是非常重要的,就是当一个故事氛围已经做好,随着情节的发展,当主角的知识和自信心逐渐提升时,观众能从厨房环境中吸收并且看到更多细节。但是如果做的很烂的话,影片故事情节与屏幕展现的不和谐感会留给观众的情绪有停顿和不舒服的感觉。

这里有一些《料理鼠王》的案例 设置了厨房布局随着项目制作的过程而转变。厨房空间的配料和格局的控制影响着这些变化。请注意下面的案例中是怎样贯彻实施mis-en-place的概念设定的。

图片4

 

4:主角在一个安全祥和的时刻VS一个危机重重的时刻

下面的场景是分开的两个, 从这两个场景可以看出Remy的双重性格变化, 其中一半是胆怯柔弱的:当Remy从厨房中遮遮掩掩的逃离时(这不仅是保护自己,还从它的内心深处暗示它不属于人类的世界),另一半是自信坦率的:当他的雄心让他面对新的挑战时。这不仅是分镜简单的设定从胆怯到自信,而且是暗示着 从孤独单一到形形色色的食物配料围绕Remy时的自信坦率的内心变化。

图片5

 

5Remy的胆怯柔弱VS自信坦率

设定中有关角色的因果关系也驱使着厨房布局的改变。Linguini的灶台随着故事弧线中角色的发展逐渐改变着。从刚开始是一个不属于这里的某人到后来逐渐找到自己的位置时周围空间颜色变得活泼和温暖。

图片6

 

6:场景随着角色的变化而变化

3. 烹饪 – 视觉细节的技巧

表现精良的烹饪技巧需要使用一个全面的配料系统来表现食物的吸引力。问题是,尽管观众不能品尝或者闻到食物,但我们怎样才能将视觉设计的烹饪很好的通过数字化电影传达出来呢?观众依靠他们的视觉和想象力来决定我们展现的烹饪食物是可口的并且值得品尝的。美食的展现和盛食物的盘子本身就是一个很大的问题,尽管其中一个被艺术部门解决了。我们将焦点放在正确的将分镜设计传达到电脑世界中而不是技术挑战。

我们在早期决定的结果是 手动或着编程的方法制作三维模型都会表现出硬朗的外表。他们缺少“自然美”的感觉,这种自然的感觉或许可以从重力、接触碰撞、松弛或者堆积等方面体现出来。手工雕刻出来的模型不足以表现出一个有重量感的柔体。因为他们会随着周边环境表现出松弛、低垂或者变形的效果。手工雕刻会使食物堆积变得很不自然,就好像有人小心翼翼的将他们堆积在一起。最重要的是他们不像柔体堆积并且互相影响。最后的结果是非常硬的塑料玩具非常整齐的堆积在一起而不是一堆柔软的蔬菜随机的扔在箱子里。由于对刚体、柔体解算的使用和奇怪问题的出现,我们觉得有相应的解决方案。

《料理鼠王》是Pixar第一部将解算大量使用在场景设定和模型创建方面。尽管模型师和场景设计师在解算方面知之甚少,我们还是必须贯穿整个发展阶段,这就意味着我们需要试验怎样才能将解算工具应用到食物模型和场景设计流程中。在这个流程中最重要的一步是我们将如何应对艺术方面的挑剔和指导方向。因此在使用一个工具时就不停的问自己:我们能使用这个工具做出满意的效果吗?当我们解算完后我们能得到很大的改进吗?我们反复修改时会很快吗?

3.1 体积预留碰撞

我们在第一部分关于解决使柔体表现出搁置感的问题通过  将晶格动画应用到物体上来解决的。我们可以对晶格上的固定点进行体积预留碰撞变形。

 

图片7

7:将晶格应用在马铃薯袋子上的变形,蓝色的地面是与晶格进行碰撞

结果非常振奋人心。麻袋与其他麻袋还有地面相互的碰撞效果非常到位。麻袋的位置和形状在晶格的约束下也非常的容易控制。最终满足了艺术的需求。但是,晶格在对不规则物体的控制方面很浪费时间和精力。每一个晶格点都必须被移到离麻袋非常近的位置才能保证碰撞的准确性。因此,我们不打算再用这个方法来设定模型和场景布局方面(尽管它对角色的动画方面意义重大)。假如我们有能力将体积预留碰撞直接赋予到模型本身的话 – 忽略晶格 – 我们将有可能将这个方法应用到多个模型中。

图片8

8:马铃薯麻袋的碰撞变形

3.2 柔体解算

我们打算使用的另一项技术是physBam柔体解算。不像晶格那样没有物体被详细绑定并且需要手动雕刻出细节部分,这种方法是通过脚本来绑定物体,另外,解算也使得我们可以将脚本扩充并应用到大量的模型中。

这将使得许多试图将箱子填满像水果和蔬菜这样的柔体的效果成为可能。解算是一个动态的效果,但我们需要的是一个静态的结果。在解算将物体填充到箱子里的过程中,当运算到一个静止位置将导致不希望的结果。熵将导致箱子中的物体看上去太平坦。但所有的有趣的细节都被解算出来了。

图片9

9:箱子解算的效果太差了,看上去很平并且缺少吸引力

很明显我们不能接受这样一个解算结果。我们需要在解算中有特定的控制,这样我们才可以将艺术设定表现的更加生动。调节多个解算属性是一种方法,尽管它很难完美的直接展现艺术,而且与艺术指向也没有相关性,例如:让这块地面高起来,转到参数上调节来达到这个效果。一个更简易的控制方法是通过解算,然后挑选一帧满意的效果。

这提供了许多选项来决定最终的静态结果。将解算停在任何一帧的功能是一个受益匪浅的方法。

因为在大部分情况下我们看不见堆积物下面是什么,我们可以人为的创建一个需要的基础模型。这个模型之后被用来做碰撞。我们不用担心所有的物体都平整的躺在基础模型框架中,因为我们可以在这之前停止解算。

图片10

10:箱子左右图用来表示最后的效果

我们不担心再次手动雕刻位置。柔体解算已经解决了将多个水果堆放在一起的最难的部分,剩下的就是小部分的修饰以达到完美的形态。水果堆放成为了现实。没有空隙浪费,所有的水果都一个挨着一个紧凑的堆积在一起,最重要的是实现了真实的物理接触效果还有形象的暗示接触时产生的吱吱声。

图片11

11:左图为解算后的,右图为没有解算的

最后,我们决定不再考虑某些细节,像大辣椒的茎就很难解算的准确,因此省略这些,在最后的结果上再吸附上去。

3.3 层

下一个挑战是创建一个招牌菜。呈浆状的扇贝这道招牌菜占用了很多时间,这也意味着我们需要一个更高的艺术指标。扇贝菜的制作应用了我们之前提到的装食物的箱子的相关技术,但是另外我们将这道菜摆放的富有层次感,就像是真实的样子。

韭菜被设计放在这道菜的最下面,效果使用我们之前的技术。韭菜设定了初始位置,之后给了一个很小的重力有下沉到盘子上的感觉。很小的重力将防止他们之间在还没有设定好一个满意的静帧前互相滑行的太快。

扇贝的摆放也是使用韭菜的方法。最后结算出一个满意的形态。这个形态强调扇贝之间及韭菜与扇贝之间由于重量而形成的松弛微微下垂的动态感,这样能显示出是刚刚出炉的一道菜。

最后,physBam解算给了扇贝和韭菜之间很好的放在一起。没有重力,这些配料会收缩并且之后互相膨胀,形成一个很好是形态。结果往往是微妙的,但就像做菜时使用调味品一样,最终真的将这道招牌菜做出来了。

鱼子酱是一个新问题。从整体来看它好像又重量感并且停留在扇贝的上面。 考虑到它是由多个独立的卵组成的,并且每一个都需要感觉好像互相挤压在一起。我们可以试着使用之前的方案,把它们当做扔进箱子里的水果,当解算完后再除去箱子这个容器。这个方法将会很牵强的感觉是故意弄成这个形状的。

那么假设将鱼子酱的最终形态看做一个物体,这是一个柔体堆放在扇贝的上面。鱼子酱的形态就好像它停留在扇贝的上面。这些卵将用另外的方法来处理而不是像之前水果箱那样,尽管他们也不需要像是堆在一个容器中。这些卵只需表现出它们占据着这一团的整个位置。我们之后可以取消固定单个卵的形态位置的解算,使用它只是想要一个不错的相互影响的静帧。使用一个脚本来随机向团状体积中摆放粒子,然后替代卵。我们不关心怎样填充这个团状空间,只是需要足够的卵来填充整个体积空间。然后使用physBam解算,将团状壳当做碰撞体,直到卵之间互相连接并且有互相挤压的感觉。

图片12

12:左图为没有解算的, 右图是解算的

图片13

13:最终成品

3.4刚体解算

尽管我们花了很多时间来讲解如何使得食物在屏幕上变得更加可口,我们现在继续一些不一样的东西 – 垃圾废物。如何将垃圾做的具有吸引力呢?为了达到这个效果,我们想做的是将垃圾在屏幕上堆积的更加真实。垃圾废物看似好像一个可怕的地方,使用柔体解算,组合腐烂、枯萎等元素加在一起使得最终效果变得懒散的、邋遢的。不幸的是,我们的垃圾是一大堆一大堆的,如果将这么多的物体模型放在一起解算,最终出来一个令人信服的垃圾堆,但是这些数据量之大、解算时间之长实在是超出应有的管理范围了。

我们再次考虑到将垃圾一层层的堆在一起,但是不像扇贝那样离散的、小心奕奕的摆放在那里。垃圾堆是更加随性的被扔在一起,因此我们想解算出一层一层的堆积但是又希望削弱层级感。我们最终的方案是向前解算两帧,然后再向后解算一帧。我们先解算一层食物,撇去这层的顶端,然后再解算这层上面的一层。这样就会避免每层顶端的食物好像没有重力那样向下堆积。一个碰撞体在外面,一个土堆在里面,这样我们就可以更好的控制堆积的形态了。

图片14

14:垃圾堆积的最终效果

我们转移到一个更大的项目中来 – 混合堆积,我们意识到即使垃圾堆积的方法会花费很多时间并且艺术方面又需要一个冗长的过程。我们的主要目标是既能缩短解算时间又能保持跟垃圾堆积效果相同的接触碰撞和重量感。我们最终决定依靠刚体解算ODE,结合巧妙的使用physBam柔体解算。

只有最上面的几层混合堆积模型制作出来了(下面的看不见)。大部分的堆积元素都是我们预变形成为至少四种不同的碎块。我们尝试使用刚体解算这些碎块并试着让它们自然的堆积成特有的土堆形状的方法最后被证明是不可能的。故事版、艺术、布局都对堆积的形态有明确要求的。解决方案就是倒过来解算。创建一个明确的土堆形状模型作为碰撞体,然后倒过来形成一个筒状物容器,然后将碎块掉落进这个容器的过程做一个缓存。经验显示,如果我们使用更多的碎块而不是只有看见的,然后解算到一个稳定的状态(不像physBam解算), 最终形成的结果是所有的碎块看起来都堆积到一起了。然后将堆积物翻转过来,再额外添加碎块来达到细节上的处理。

图片15

15:初始化混合堆积解算。绿色的模型用作碰撞体

最终的结果是解算的堆积有一个合理的密度和接触碰撞。ODEphysBam解算更加的快速,因此我们可以更好、更快的反复解算来完美的符合艺术要求了。

下一步就是使用physBam解算在模型上添加元素来给它添加细节 。将一个简单的碰撞表面做出来,通过使用Zbrush的凹凸贴图渲染来得到土堆的顶面。这个碰撞表面被证明在解算与堆积物碰撞方面的速度比单独碎块相互碰撞快得多。通过这种方法,结合使用之前提到的扇贝的堆积方法我们又仔细的解算了小部分的在特定位置的混合堆积。这部分提供了在实现最终艺术要求方面的自由度。

但结果在视觉上感觉太密了。看着这些碎块很容易产生视觉疲劳。因此完美最后又从这一大堆上撇去了一部分。我们使用同样的方法来创建碰撞体,为physBam解算做准备(但是摄像机是从下面并且让原来的土堆模型可见),来创建一个“杂乱的”表面。这个表面与之前解算的混合堆积物非常贴切的合在一起。然后赋予适当的材质,这个表面组合了成了另一部分作为视觉背景或者静态的堆积物。使得最后的混合堆积看上去更加的可信。

图片16

 

a)杂乱的表面                              (b)碰撞表面

a)显示了基本的杂乱表面(b)显示了用于physBam解算的碰撞表面。太突出的部分被修改为下下图显示的,因为这样的话会出现解算问题。

图片17

 

17:最终的混合堆积物

4. 结论

在装扮《料理鼠王》的厨房时我们拥有明确的概念设计。最主要的概念是mis-en-place,还有它在不需要使得设定太麻烦的情况下创建视觉细节方面的贡献。将这个概念作为基础思想,我们就能够可以随着故事情节的发展而修改厨房的格局。

技术挑战都出现在能够让这些食物表现的更加具有可信度方面。在布景方面不需要考虑太多技术,我们有能力让布景模型更加生动。对我们来说最重要的功课是使用什么软件并且如何将这个软件灵活运用到项目中来。我们相信一个全新的配料设定可以使得我们的电影更具吸引力。

0回复动画片<料理鼠王>CG技术制作细节分析"

留下信息

电子邮件地址不会被公开。 必填项已用*标注