网页游戏开服表-9K9K.COM
当前位置:首页 > 页游产业 > 研发经验 > 在Unity中创作高质量硬面场景的经验与技巧
  • 在Unity中创作高质量硬面场景的经验与技巧

  • 来源:Unity官方平台    日期:2018-10-16 08:38:47
摘要:现在玩家对于游戏画面的要求越来越高,这对于开发者在设计游戏场景时提出了更高的要求。下面我们就来了解一些在Unity中创作高质量硬面场景时所用到的一些经验与技巧。主要涉及到机甲和场景的绘制。

  游戏观察消息,现在玩家对于游戏画面的要求越来越高,这对于开发者在设计游戏场景时提出了更高的要求。下面我们就来了解一些在Unity中创作高质量硬面场景时所用到的一些经验与技巧。主要涉及到机甲和场景的绘制。

  本文将由英国环境艺术家Callum Tweedie-Walker分享他在使用Unity创作致敬著名画家Simon Stalenhag的作品时所适用到的一些经验与技巧。

  下面是场景的视频展示。

  创作构思

  Simon Stalenhag的画作是创作场景的基础。最初我只打算参考第一张图制作机甲,然而当机甲完成后,如果不将它放在主题环境中,那真感觉有一些浪费了。

创作构思

  但我没有把机甲放回原始画作直接改编的场景中,我认为将它放进另一个Simon Stalenhag创作的场景中会更有趣,因为他的作品有许多宇宙穿越的桥段,这样会让机甲更为炫酷。

  因此我找到了第二张图片,然后决定加入加油站,我希望能展示出一个废弃机甲尝试为载具加油的故事。

创作构思

  描绘草图

  在进行描绘实际环境的草图时,我已经完成建模和烘焙了机甲。我将一些临时材质放到机甲上,把它导入Unity,然后开始思考如何处理摄像机和光照。由于场景的创作目的只是为了凸显中心资源,我希望让光线投射到合适的位置,然后在其周围构建出相应的场景。

  我决定把机甲放到第二张概念图的街道中,所以添加了一排灯柱,它们沿直线排列,有助于将观众的注意力吸引到机甲身上。我通过快速分级来设定作品的沉重基调,我认为使用引人注目的二级颜色能很好地突出机甲的侧面部分。我决定利用在《The Electric State》的画作中经常出现的红光,这将有助于将这件作品与宇宙联系起来,同时还能用蓝色和红色展示出典型的正邪之分。这到底是个“正义”还是个“邪恶”的机甲呢?

  通过设置了一些临时光源,用于模拟我大致需要的光照效果,《The Electric State》中超大企业”SENTRE”所用的灯光成为了红光源的来源。因此我很快确定它能联系到加油站。为了得到更好的深度和距离感,我加入了一些在《The Electric State》中出现的高层建筑。我使用立方体和圆柱体构建了场景的大致结构,效果如下图所示。

描绘草图

  在上图你可以看到我添加了一些架空轨道灯,它们拥有电影《Tron》的感觉,有助于引起了人们的注意,但最终决定将它们移除。事后看来,这是个正确的选择。因为它们会大大分散观众的注意力,而且样子非常花哨。

  我很快去掉了这些内容,决定使用上面画作中的加油站作为合适的前景对象,它将与机甲头部、红色灯光组成三角结构。现在场景布局确定了,所以接下来我将花些时间来处理机甲的基本纹理。

描绘草图

  所有的草图部分都是经过调整后的Unity内置网格。背景的高塔和前景的水坑是缩放后的胶囊体或圆柱体,加油站由立方体修改而来。我不会用Maya 来处理这类内容,因为它们都很基础,并且能够提供摄像机画面和光照调整的即时反馈,这对于作品的创作而言非常重要。

  主角资源

  当我们将作品中的建模划分为基本的体积和形状时,几乎所有的建模都非常简单。机甲上的多个特征主要是圆柱体,所以这里唯一的难题是将特定切口及孔洞与周边网格齐平。

  如果使用像Maya的Quad Draw工具进行处理,这个过程会很简单。Quad Draw能够在基本的圆柱体上绘制你想要的形状。对于这类形状的最好处理方法是尽可能长时间地保持少量多边形,专注于所需的核心形状,因为它们会影响其余的建模内容。

Maya中的高多边形模型截图

Maya中的高多边形模型截图

  天线由模型周围实例化的锥形圆柱体组成,而盖子和面板则是将选中的一些面片做了偏移,然后将它们叠在一起而完成。制作活塞时,建议使用简单的绑定技巧。因为从工程的角度看,虽然不能确保机甲的结构良好,但它增加了一定程度的合理性。

  在Maya或其它DCC中执行此操作非常简单。通过在活塞任一端添加空白Locator,使头部或顶部成为它们的父对象,然后使用面向另一对象的Aim限制链接它们,我们便得到了一个非常简单的工作活塞。

  当我调整某些腿部长度或是调整需要修改活塞的设计时,这能节省大量的时间。我可以选取其中一个Locator,将其移动到新位置,并确保它能正确对齐。

活塞

  建模的大部分工作是收集参考资料。网上有大量资源可以用于制作重型机械、载具等类似物件,其中包括Photobash,所以很容易找到灵感。

  我非常喜欢电缆和管道,所以机甲上有很多链接着多个结构的液压管路,它们提高了可信度,有助于切分形状,并给机甲的脚部增加了更多细节。除此之外,我从很多简单的内容上获得良好的效果,例如:在形状上加入小型分离效果,或是在圆柱体上嵌入橡皮圈。

  周围环境

  实际上,周围环境明显不如机甲复杂。环境在描绘草图阶段就确定好了,我保留了原型布局,作为一种突出主角资源的风格化方法。这个想法很有意思,但是我不希望场景看起来还未完成,所以保留了所有关键形状,只在对原型影响较小的层面上建模。

  此后,我需要一种方法来填补场景的其余部分,并分离不会转移机甲注意力的迷雾。我的解决方案是添加组织混乱的立方体,它们离摄像机越远,看起来会越像原始形状。这也是背景塔仍保持原样的原因。

  材质

  在我完成机甲上的建模后, 使用了Substance Painter Live-Link插件。它能够实时在Unity引擎中更新材质,极高的提升了项目的质量。

  我通常使用的绘图方法是尽可能尝试和模拟真实世界中对象的“故事”。为对象创作有力的故事能在很大程度上提高该对象的可信度,Substance Painter 能够非常直接地实现对象,因为它是围绕分层过程的想法来构建的。我首先添加原始材质,例如:金属和塑料。然后处理绘制图层,最后加入机甲的战损和风化的效果。

  在最初步骤中,最重要的是不要坚持使用单一的通用的金属材料。金属的种类繁多,每一种都有微妙的色调变化,选择一些在模型中使用不同的金属会增加更精细的材料变化。 例如:钢是一种冷色金属,但钛有一种金色的微暖色调。

Substance Painter中模型加入风化效果的对比

Substance Painter中模型加入风化效果的对比

  材质分离可能是最重要的步骤,但是粗糙度的变化也很关键,这是我在风化阶段所关注的。这个处理过程非常容易让人联想起中世纪的彩饰画,这种画作最开始由各种基色组成,然后用干刷制作出一些磨损和尘埃效果,这是为了塑造出历史感。

  所有材质都是这样进行处理。这个阶段可以充分享受创作的乐趣,有时候很难忍住不过度处理模型。相对于建模,我更喜欢制作纹理,因为这个过程中有大量时间思考对象在其生命周期所经历的一切,包括它所遭受的损伤,为它构思一个故事,这个阶段将帮助你思考如何使角色真正融入场景。

  着色器

  场景中的内容除了道路和人行道,都是使用Unity标准着色器制作完成。下图是我基于Sébastien Lagarde分享的出色作品而制作的自定义着色器。该技术使用了大量遮罩来抵消波纹效果,而且能动态创建用于折射下层纹理的法线。红色通道用作各个溅射点的距离场,指明波纹的大小,绿色和蓝色通道存储每个圆形中心的方向,用于生成法线,而Alpha通道用作时间偏移,当每个波纹的溅射开始时变化。

Sébastien Lagarde制作的雨水遮罩

Sébastien Lagarde制作的雨水遮罩

Sébastien Lagarde 制作的雨水法线

Sébastien Lagarde 制作的雨水法线

  该效果可以通过分层和偏移来增加降雨的强度。这种方法非常高明,你可以在Sébastien的博客上找到其伪代码,并轻松将它调整为基于节点的着色器编辑器;所有内容都很好地呈现了出来,而且用到的数学原理并不复杂。

水的流动效果

  我根据自己喜好调整了一些内容,例如:水的流动效果。此后我又发现这恰巧是UBER着色器资源包所使用的逻辑,所以如果你想要带有内置小技巧的简单解决方案,它会是一个不错的选择。

水的流动效果

  光照

  这个项目中几乎所有的光照都依赖Unity为《ADAM》演示项目而创建的Volumetric Lighting资源包,它可以在GitHub上免费获取。资源包中有很多体积雾,但我更多地为实时区域光使用这个资源包。

  场景中实际上没有全局光照,因为全局光照不会对该场景有太大作用,所以我禁用了全局光照。我为所有对象通过类似的分层方法加入光照,但我认为将这个过程和后期处理协同运作非常重要。

  在为场景制作光照时,我首先关注的是环境光。因为在夜晚的照明度较低,而且环境颜色会进入体积雾,所以来自天空的环境颜色是奠定作品基调的重要部分。此后我设置了一个方向光来建立某种形式的方向性。由于场景中是阴云密布的夜晚,所以阴影应该更为分散,这会帮助观众更好地理解画面。

  当主要工作从主要光源转到次要光源,目标是在场景中设置焦点,本示例中的焦点是机甲。有些人喜欢让所有光照基于场景中的真实来源。我却认为这并不重要,因为真实性不是主要关注点,我认为更重要的是关注有助于引导观众在场景中注意力的部分。

  这个问题在于是否以真实性研究为目标,还是仅仅制作吸引人的画面。举例而言,我在机甲头部后面放入了一个光源,通过给迷雾加入泛光效果,我在背景中凸显出了机甲的头部。真实生活中该光源是不存在的,但是它有助于更清晰地呈现图像。

  你可以在下图看见光照过程的动态变化过程。

光照

  后期处理

  现在到了创作场景中我最喜欢的部分:后期处理。对于游戏创作引擎而言,后期处理特效是非常重要内容,但很少人会分析后期处理流程,但是它在最后渲染时会发挥巨大的作用。

  下图是禁用所有后期处理效果时的场景。画面看起来有点阴森,场景看上去整个泛白,红色灯光逐渐暗淡,而且场景中没太多色彩平衡。

后期处理

  首先是最重要的色调映射。我使用的是新版后期处理特效包Post Processing v2资源包中内置的ACES Filmic色调映射预设置,没有使用任何第三方Asset Store资源包。

  我通常会使用自定义曲线,但ACES分离了我认为非常适合场景的沉重外观。这也许不太合适一些人的品味,但是之后在颜色分级阶段还可以调整大量对比度。

后期处理

  此后我启用了一些特别效果:泛光、屏幕空间反射和环境遮蔽。环境遮蔽只会遮挡间接光线,它对场景的影响很小。当渲染器的环境遮蔽太明显时,通常是因为其直接光线也被遮蔽,这个功能现在已默认启用。

  泛光有助于突出光线,且效果容易过度明显。在这里起到最大作用的是屏幕空间反射。除去了柏油马路的反射效果后,公路就没有被雨淋过的感觉,而且大量视觉兴趣点也丢失了。我很想让光线在水面产生些效果,屏幕空间反射则帮助我实现了这个想法。

后期处理

  启用了这些效果后,我转而处理颜色分级。使用颜色分级可以大幅修改作品的基调。我将图像投射为蓝绿色,作为对《The Electric State》的致敬,然后稍微提高该数值来柔化对比度。

后期处理

  光线为这一切提供了基础,现在已经建立好关键数值和颜色分组,可以将它们调整到不同的极端。我非常喜爱这部分,因为可以轻松使用完全不同的外观创建变体。

  是否想要场景看起来像受核辐射的废土?那就加入绿色和黄色。

后期处理

  是否想要加入赛博朋克风?那就加入紫色和粉色。

后期处理

  无论如何,回到现实后,我所做的第一步就是添加典型的摄影和镜头特效。例如:晕影、色差和粒度。它们非常符合我的品位,但是最好精妙地处理这些特效。我很喜欢强烈的晕影效果,它通过专注于中心数值来帮助构建图像。

后期处理

  在处理后期特效时,我一般进行三次尝试,每次迭代都是一次改进,帮助我更好地构建场景的理解。

  项目时间

  这个项目我与项目组的成员同时制作,花费了二个星期的时间。最难的部分是决定小型对象的设置,因为想法太多。但最终实现非常让人满意。

  但从技术的角度而言,机甲的建模更难,尤其是机甲的腿部。但是无论如何,在创造时候,一定要解读概念设计,并使整体设计结构更为可信。

  • 将此文分享给好友
相关阅读:
产业新闻
观点报告
行业会议
思想观点
投资信息
行业动态
经验分享