在本系列之前的博文中,我们介绍了The Blacksmith的创作团队,以及短片美感的制作流程。因为打算用Unity 5来开发这个项目,所以现在我们不得不把更多的注意力转移到技术问题上,在这篇博文中,我们将关注场景建设、着色和照明。
引擎版本和内部测试
The Blacksmith的制作在Unity早期的alpha和 beta版本中进行,并在Unity 5.0.b22中最终稳定下来,然后发布。因此,整个项目也跟着升级到了发布时的Unity版本。使用一个研发中的引擎意味着无法避免会有许多不稳定因素,导致产品制作效率低下。我们每周都要面对两难的选择。到底是要升级新版本补丁?还是跳过一个版本来避免打断团队现有的工作流程此外,The Blacksmith中的动画和摄像机序列是基于Director系统的。它是Unity叙事工具的一部分,而Unity叙事工具这在当时仍处在发展的早期阶段(它的发布日期至今也没有公布)。我们在项目进行到差不多一半时,为了添加叙事工具功能,每次的Unity更新我们都得重新把系统集成到新版本。一直持续到我们最终发布为止。因为我们是Unity的内容制作团队,我们会提交bug或功能需求,事实上,我们提出的反馈会和广大Unity用户的需求放在一起被权衡,通常不会得到任何优先待遇。
场景搭建
在The Blacksmith的制片伊始,我们便在Unity中利用白模搭建了一个场景。
来自Asset Store的一些素材,比如Quantum Theory的Better Rocks and Cliffs, 非常有助于我们对原型的设计,同时,这也确保了我们能够尽早开始视觉相关的开发工作。我们很快做出了细节丰富的场景:
根据我们的故事情节,我们在前期制作过程中需要做的是,利用一组相机进行迭代,缓缓地接近所要拍摄的景象。在此基础上,我们需要划分好每一个镜头都需要的哪些资源。
与此同时,角色的3D美术设计也正式开工。尽可能地保留对每一个镜头中的艺术把控能力对我们而言非常重要。因此,我们基于Unity编辑器专门扩展了一个场景管理器,然后用它为每个镜头中的对象分组。我们用它来启用或禁用某些物品,或更改它们的属性——地点,规模,材料等等——来求得一个特定的镜头,以获得更好的构图。同样地,每一个镜头都可以拥有自己特定的光照设置,也多亏了实时全局光照系统,我们可以对镜头切换之间的光照做出即时改变。
着色
Unity基于物理的着色系使用和配置起来都相当容易上手。我们对它的运用可谓贯穿了整个项目。这个项目中,我们并不打算开发一个专门的皮肤着色器,于是我们就直接采用了Standard Shader标准着色器:
Unity 5中标准着色器最大的优势之一就是:我们可以根据项目需求随心所欲地扩展和修改它,因为它就是为此而生的。标准着色器的源码可以从这儿下载:http://Unity3d.com/get-unity/download/archive(在对应平台的“下载”下拉菜单中选择“内置着色器”)。有了源码后,在此基础上开发具有项目针对性的着色器是非常容易的,我们在The Blacksmith中做了很多这样的工作。我们下面就来分享一些例子。我们修改了标准着色器,使之能够感知到我们已经在项目中添加的自定义着色器。我们对这种修改进行了两个不同版本的运用:一个用在环境上(例如:让它感知到我们的大气散射)另一个更复杂一些的用在角色上(用来感知我们独特的角色阴影和皱纹贴图)。后者的界面用滑块对镜面贴图选项做了小小的增强。