此前已为大家分享过Unity引擎实时渲染短片《Adam》的产品设计,今天这篇文章将揭晓《Adam》的资源创作部分。

关于作者

本文作者Plamen (Paco) Tamnev,负责制作AdamDemo中的许多资源。Plamen曾在Black Sea Studios和Crytek担任角色美术一职,之后加入Unity的Demo团队,投身于实时Demo的制作,例如Adam、The Blacksmith,以及一些小环境Demo(Viking Village, Bedroom, Courtyard)。

025748f43373aek3qy3q37.png

世界观

资源创作之路始于对富有创造性的目标以及项目价值的透彻理解:世界观,我们所叙述的故事,以及怎样去设计人物才能有助于传达理念。关于这点,可以阅读Georgi Simeonov 此前的博客文章,其中介绍了“Adam” Demo的设计流程。

我与Georgi以及我们的导演Veselin Efremov紧密合作,进行角色与环境方面的工作。我们的首要工作就是确定整体比例,细节分配以及明确正确的轮廓。我们使用一种迭代的工作方式,从基本模型开始,再逐渐精细打磨。

025748kbcclv2gcvu8h998.png
Unity 5 编辑器中的屏幕截图

Adam的视觉预览与功能(Adam的创造过程)

制造Adam还是有一点点挑战性的,因为我们要在不破坏概念中的外观设计与印象的前提下创造出一个真实的东西出来。我们知道他能做非常多的动作,而且它还有非常多的微距特写镜头。Adam的另外一个用途是当做同类群体的基础模版,而我们另外两个主要角色因为故事设定的关系,自然地也使用了Adam身上的一些零件。在模型制作阶段我必须要把这些细节牢记在心,制造Adam几乎就像在制造某种灵活的可重用模型工具箱一样。我们从角色的草图版本入手,这个草图也处于不断更新的状态。我和动画导演、产品设计师之间也保持着紧密无间的合作:许多东西都需要重新调整甚至全部重做。虽然它们开始看起来不错,但为了改进角色的运动范围或轮廓,我们就不得不重新返工。

025749xppm2phvxv2gv3vf.png025750z4c2ogxfa78gxs3s.png025751w7tk74rckhfrbut4.png
制作中的Adam高模VRay参考渲染图

这里是我在进入低模制作阶段前,对Adam上需要进行复杂运动的部分所做的功能视觉预览渲染。手臂作为复杂部件之一,有着非常多的细节与层次,大部分微小的部件还需要能够恰当的移动与滑动。虽然在最终的影片中看不到所有的这些细节,但它们对于确定正确比例是很有帮助的,同时也能给我们提供一些有关细节的新思路。

025752wykbajjqkhj9oy55.png
制作中的Adam高模VRay参考渲染图

视觉预览渲染还可以作为材质使用方面的参考,在进入低模及材质制作阶段前,能够快速预览附有基础材质与颜色的高模给了我们进行迭代的时间。它的设置非常的简单:我大部分使用的是ZBrush中松弛后的自动化UV,之后再设置VRay平铺纹理材质用以调整粗糙度与漫反射率。

025752j2hlc324khz6dlhz.png
制作中的Adam高模VRay参考渲染图

对于包裹材质,我使用了Marvelous Designer作为基础。它能快速地展现出不错的效果,还能方便地将数据导入到ZBrush中进行细节调整与打磨,然后得到最终效果。

025753wlcw6qfjxj0dze6p.png025753o6ryrb1brrrullrl.png
在Marvelous Designer中进行包裹材料测试的屏幕截图
025754cx5wazbwy0z0rw5r.png
用于进行模型预览反馈的一组3DS Max屏幕截图。这是我们最后确定是否还需要做重大更改或添加什么东西的机会,后面将开始打磨模型细节并着手以高模为基础制作低模
025754kivynatuv7qiytu1.png
3DS Max中被分解的Adam低模屏幕截图。此时已经可以用来烘焙各种贴图(法线、闭塞、曲率等等)以及纹理集展开图了

纹理贴图

此处我使用了Substance Painter 2对Adam进行纹理贴图。他的头、身体和四肢分别用了不同的独立纹理。此外我还直接在Painter中为法线添加了一些二级细节。

025755gjswrjxvu9jznw9n.png
低模在Marmoset Toolbag 2中的最初纹理样子(此图用作下文的示例)

在本阶段,我对数值与风化的分配操作进行了一系列测试。在这个例子中,金属的风化效果有些过度了,某些颜色的色彩饱和度还不够。解决了这些问题后继续进行细节优化,并添加表面裂痕与贴花。

025755mbjp0bpqr2vp0w9b.png
Painter 2中对手臂进行纹理贴图的屏幕截图
025755tqxtqcowqoxrxkqu.png
Painter 2包裹材质的大体初级阶段
025756wa9s0n5vz1v94u44.png025757idtluktqwkz72kyk.png
Painter 2中对破碎面具进行纹理贴图的屏幕截图
025757ruu7yost8vurt2f2.png
在3DS Max中进行UV展开前的手臂低多边形屏幕截图
025759w0xsqq33nxaqntgq.png
LOD0级别的部分Adam低模成品线框图
025759jz3b6bk44qb8qjr8.png025801nqfdqgjtsxqdq0zx.png025801qpsvkxkktgozwddb.png
Marmoset Toolbag 2 中用于最终确认用途的低模预览图

人群与变化

制作方面的另一个挑战是,我们必须实时生成一群囚犯,其中一些会离摄像机很近 —— 在某些镜头中,甚至比Adam还近。我们肯定不会对所有成员都使用默认的Adam模型,所以必须根据与摄像机的距离使用不同级别的LOD模型。

025802c8ddzuxcof288sjc.png
Marmoset Toolbag 2 中人群的LOD预览30K LOD模型用于接近摄像机的成员,而900顶点的LOD模型则被用于背景中的角色。对于每个LOD级别而言,我们必须使用更少的材质ID与纹理分辨率,这个根据每个LOD网格的具体距离而定

此外我们还想让不同的囚犯具有不同的特征,因此我制作了一个完全包裹好的Adam作为基础,然后用自定义灰度遮罩着色器来制造包裹分布的差异。

025803piizrumrntuxxu28.png
Marmoset Toolbag 2 中用于最后确认的人群差异纹理预览图
025804bizedebq362chxqa.png025805t56r622v2ggjggh2.png
Unity 5 编辑器中的屏幕截图

Adam的面具

025805rhnt3thta99iktjj.png

Adam的面具经过了数次迭代,因为我们想找到一种最符合我们故事背景的样子。面具的材质要看起来像某种3D打印材质表面,拥有残缺多层次的特征,还要有些透明感。

025807fd00pgp0equ1x7fz.png
我们早期做的一些面具实验,最后决定使用的是最下面那个。方向确定后就进入了打磨阶段

我们最早的一个视觉预览模型比最终使用的版本看起来要更真实,但经过数次迭代后,导演Vess认为他想要的是一张看起来像藏在面具之后的脸,而不是一张真脸。所以我们开始对它进行简化,直至所有的脸部特征全部消失。早期阶段,我主要使用了ZBrush。这让我可以以一种非破坏性的方式进行工作——所有的东西都在不同的层里,同时使用噪点生成器以及遮罩来尝试不同级别的风化效果,并根据需要对它们进行混合。

025808qznn4v6pp2n4ca4y.png

我们的视觉特效美术Zdravko Pavlov对破碎的面具做了一些实验,他使用了完整的面具和最终版本UV的纹理来保持面具的一致性。在3DS Max的Bullet物理插件帮助下,他在面具上做了多个破坏效果作为选择。当我们选定想要的那个效果后,我将它作为基础,添加一些修改及残缺效果。因为它已经具有来自原始完整面具的UV以及纹理,我只需为新增的几何体添加UV即可,而这部分UV空间也已在原先的纹理中保留。随后我将它导入Substance Painter,进行最后的细节修改与材质处理工作。

025810e90eh5qhttdg4ehq.jpg
Marmoset Toolbag 2中的参考屏幕截图
025810qlp796m9q69q7l1s.jpg
Unity 5 编辑器中的屏幕截图

Sebastian, Lu, 警卫

Jonas Törnqvist, Vincent Joyau, 以及Sergey Samuilov帮我们设计了Demo中的其他角色。

025810svvfkn2tfu2fuvtt.jpg
Unity 5 编辑器中角色Sebastian与Lu的屏幕截图(Jonas Törnqvist, Vincent Joyau)
025810w7psztxrp0meprxp.jpg
在Marmoset Toolbag 2中Sebastian半成品的屏幕截图(Jonas Törnqvist, Vincent Joyau)
025810wl7lm01p427pmyhy.jpg
在Marmoset Toolbag 2中Lu半成品的屏幕截图(Jonas Törnqvist, Vincent Joyau)

为了保持世界观的连贯与一致,Sebastian与Lu的模型使用了Adam模型中的部分身体零件。

025811c11w27g1kmabbc25.jpg
Unity 5 编辑器中警卫角色的屏幕截图((Sergey Samuilov)


环境艺术

内部场景

我们为内部场景制作了一些独立的物体,例如门、管道、床等等,以及一些只需要平铺纹理以及几何贴花的资源。

025811lobb5b13bp112y55.jpg
Unity 5 编辑器中牢房内景的屏幕截图
025811v4hfmqu5o3o34ho3.jpg
Substance Painter 2 中牢房管道的屏幕截图
025811ay5pz1wygmg51mqq.jpg025811pgi2fx90gomgs9hf.jpg
Substance Painter 2 中牢房门的屏幕截图(基于Georgi Simeonov的高模)
025811lk6za9im2eekc356.jpg
Substance Painter 2 中地面的屏幕截图(基于Myles Lambert的模型)
025812qy9xb91tyj119l9b.jpg
Substance Painter 2 中地面的屏幕截图

小道具

025812y6po4pppsohu4hhp.jpg025812cmgunuucy6f3u777.jpg
我在制作撕开版本前的最初囚犯床铺模型VRay参考渲染图

对囚犯床铺的设定如下:它们是存放囚犯身体的装置,且必须使用与囚犯包裹物相似的材质制作。我使用Marvelous Designer制作了基础仿真,并将它们导入ZBrush进行最终打磨与细化。我制作了两个模型,一个是囚犯仍在其中的,一个是已开封的。在最终的影片中,我们只使用了第二个。

025812e49gtvvbstscnbjf.jpg
Marmoset Toolbag 2中的参考屏幕截图
025812gm4jn84j88yng8rb.jpg
Marmoset Toolbag 2 中用于最终确认的囚犯床铺的屏幕截图
025812oqt03quli2miuwvy.jpg
Substance Painter 2 中用于在开场中禁锢Adam的金属框架预览
025812bqc91z6qci98iwwg.jpg
开场中连接到Adam背部的电缆接合状态示例。Marmoset Toolbag 2中的预览图(基于Zdravko Pavlov的高模)

外部场景

对于影片的外部场景,我们知道离摄像机很近的位置会有一些非常巨大的物体。因此,我们在一个基础纹理上使用了许多平铺纹理与贴花,以便这些物体在不同的镜头中能获得所需的分辨率。对于平铺纹理,我们主要使用了Quixel Megascans的数据,并使用自定义灰度遮罩将不同纹理进行混合,增加多样性。

025813m5o51loxokxmw0xk.jpg025813e9m9uz99nmxiemfg.jpg
Unity 5编辑器中的屏幕截图

这是一个完成的城墙示例,它使用了Substance Painter加工的基础材质及遮罩,Unity中的细节纹理数组,以及几何体贴花,最终得到了我们在Demo中大型资源所需的外观及足够的分辨率。

025813bzaq6pvtmvd6a9mh.jpg
平台金属部分的基础模型由Tibor Toth制作
025813qn19qnelflrez3qf.jpg
我们在Demo多个镜头中看到的平台混凝土基础例子 —— Unity 5 编辑器中的屏幕截图

对于平台混凝土地基部分,我使用了类似于城墙制作的方法:
漫反射中使用基础纹理 Quixel Megascans制作的极端特写细节(在Unity标准着色器中平铺) 最后添加破损细节几何体用于表现混凝土的风化边缘


025813kj72xb2272acw2wc.jpg
Unity 5 编辑器屏幕截图中高速公路的几何模型由Ayi Sanchez制作,细节及纹理由Tihomir Nyagolov添加

后续计划

我们的Demo团队希望能尽可能地分享我们的工作经验与专业知识,并分享尽可能多的内容。我们已经看到不少人在使用我们之前Demo中的资源,将其用于测试、原型制作、他们的成果展示、教程甚至研究论文等 —— 我们很高兴人们能让我们的作品在不同的领域大放异彩。

所以,我们现在正准备将“Adam”中大部分资源发布到资源商店,目标时间是秋季。请理解 —— 我是我们团队唯一的3D美术。

Unity, Adam, 资源锐亚教育

锐亚教育 锐亚科技 unity unity教程