查看原文
其他

《Afterlight》:在游戏设计中结合象征符号

Unity Unity官方平台 2022-05-07

Silent Road团队将介绍他们正在开发的作品《Afterlight》,这是一款2.5D科幻象征主义横向滚屏游戏,本文将介绍游戏的环境设计、着色器、光照等方面的开发经验。


团队介绍

Silent Road团队是源于三个企业孵化器项目团队的融合。包括负责原画的2D艺术家Salvador Martín、负责游戏制作Alberto Boder、负责游戏设计并担任编剧的Víctor Franco、处理3D建模的技术美术Alberto Prieto和制作动画的Francisco Ruiz等人。


在经历半年各自团队的独立开发工作后,他们发现无法完成原来设想的项目。经历失败的打击并认识错误后,三个团队决定联合起来,共同开发一个新项目,这就有了《Afterlight》。


《Afterlife》

《Afterlight》是一款2.5D横向滚屏游戏,具有高度叙事性,关注控制,信任和强迫的友谊等主题。一切内容都通过寓言的形式展示,娓娓讲述。



《Afterlight》把玩家带到了22世纪,各国的航天机构为了征服宇宙而联合。征服宇宙的第一步是在泰坦星建立殖民地。泰坦星的大气可以避免辐射中毒,因此这里是理想的起点。


泰坦星的任务代号是“阿耳戈斯”,但在普罗米修斯号飞船着陆时就开始出现问题,飞船上所有的成员几乎都在事故中丧生,只有Xin活了下来,这次灾难性事件给Xin留下了严重的心理问题。


在游戏开始时, Xin在游戏中扮演一名化学家,而不是医生。她受到了这次痛苦经历的严重影响,使她自以为是另一个人,这种心理问题叫分离性身份识别障碍。


Xin的机器伙伴C.O.G.尝试帮助她痊愈并生存下来,但由于C.O.G已被普罗米修斯号飞船的AI入侵,C.O.G的行为有不为人知的目的。这一切到底是怎么回事?C.O.G是唯一的生存途径,但这将伴随着代价。



游戏的设想起源于孤独宇航员渴望回家的故事。Silent Road把游戏设定为“硬核科幻”与“象征主义”结合的游戏,介绍心理创伤中的情感变化。


《Afterlight》介绍了认知和现实的分离和失调, 这是一种非常罕见的方法,更为密切也更加真实。在游戏的创作过程中,他们得到了欧洲航天局ESA和美国航天局NASA的心理学家们帮助。


创作灵感

《Afterlight》的创作从电影,建筑和游戏中获得很多灵感。


《Afterlight》讲述了人类如何痴迷于在宇宙传播物种,并为此影响和改变一切事物。在《Afterlight》中,我们希望把人类展现为行星上的外星人。


建筑师Lebbeus Woods的作品讲述了斗争和伤痕的主题,以及冲突留给事物的印记。我们借鉴此种方式表达了人类在泰坦星“殖民”,“征服”并“留下印记”,同时和自然本身进行抗争。


在《Afterlight》中,我们把人类作为泰坦星自然的征服者,让人类成为寄生者一方。Lebbeus Woods的建筑成为人类在殖民冲突中给自然留下的伤痕。



在电影方面,我们非常欣赏安德烈·塔科夫斯基的作品,因此在角色情感方面借用了他在电影里使用的手法,包括电影中自然的光照效果以及组成画面的方法,从而给角色的情感状态提供准确的表达。


我们也运用了大量纹理去展现一些表面效果,以吸引观众对特定元素的注意力或实现组成效果,《Inside》游戏中也使用了这种相同的方法。



在游戏方面,我们大量参考了《Inside》和《风之旅人》。我们也从《Hyper Light Drifter》得到了很多关于机器伙伴的灵感,从《GRIS》得到的启发有影片元素和精神状态的情感方面。


游戏中的机器人伙伴C.O.G也受到了《半条命2》中Alyx Vance的机器伙伴阿狗的很大影响,非常感谢Valve和Viktor Antonov的支持。


环境设计

《Afterlight》中环境设计的主要目标是强化游戏的叙事。考虑到这一点,我们实现了发展故事的平行记录,并作为主角心理状态的反映。


我们希望勾画出结构合理的画面,让场景的元素引导玩家。这是一种面向2.5D游戏的造型艺术,就像制作插图或画作一样。


我们使用的视觉方法包括:

  • 对轮廓和视差的使用。

  • 强调光线对其它元素的重要性。

  • 利用简洁的形式并选择性使用纹理。



在关卡设计后,打造环境的第一步是思考场景的构成。我们生成轮廓以便进行构图,同时也简化观察过程,把玩家注意力引导到理想的位置。这一切取决于3D模型的设计,我们希望使用光线的粗线条和反差明显的平坦表面来绘制形状。


另一层是场景的全局光照。我们希望通过光线和颜色传达什么呢?关于颜色,我们尝试使用二个颜色组成的简化调色板,加入少量第三种颜色元素,用于使玩家专注于特定元素。们还加入了一些雾效果,寻求简化场景,从而实现更好的观感,并形成多个深度层。


最后,我们选择性地使用有限纹理作为表现资源。我们仅在对设计必要时使用纹理,这也是为了使玩家观察我们想要的位置。


烟雾着色器

我们使用的烟雾着色器是通过修改Unity标准Alpha混合粒子着色器而实现的。我们非常喜欢Playdead实现迷雾或烟雾效果的方法,这种方法简单,而且具有高度可定制性。


烟雾着色器主要由二个图层组成:光照和扭曲。



UV扭曲效果是通过混合主要UV和其它粒子方向的双平面滚动纹理的UV实现的。通过修改扭曲的纹理并调整参数,我们可以得到不同风格的迷雾或烟雾,从而取得了更好的多样性和移动效果。


光照是使用法线贴图在片元着色器中实现的,它支持三个光线:一个定向光和二个点光源。无论是作为光线对象还是其它游戏对象,这些光线都通过Unity编辑器提供给着色器。


使用这种方法的目的是为了使光照系统独立于Unity自身的光照系统,尽管这种方法仅作用于三个游戏对象,但它也给每个瞬间提供理想的光线,并且给整套粒子提供体积光效果。


雾效果的优化

我们想通过使用后期处理特效包的屏幕空间雾等效果来尽可能优化雾效果,并且使用雾粒子实现特别的场景效果,例如:烟雾、暴风雪等。


当我们需要大型独立雾效果积云组成的场景时,问题出现了。我们使用的雾粒子造成了严重的性能问题,所以我们最终使用模拟局部雾体积云的后期处理效果来解决该问题。


我们参考了Slightly Mad的体积光使用方法,详细信息请访问:

https://github.com/SlightlyMad/VolumetricLight


冰沙着色器

冰沙着色器基于表面着色器,以便它保持在延时渲染。这样我们可以继续使用SSAO或SSR等光照和后期处理方面的一些优势。


高光效果使用了边缘来遮罩,使高光保持为沙丘上方的发光亮点。起初,我们使用了菲涅尔效果,但效果在阴影中显得非常奇怪。



实现闪烁效果的方法很简单。我们使用视图的方向投射白噪声纹理,并在每个轴方向上进行少量平移。这样一来,在摄像机移动时会有闪烁动画,而这种效果在摄像机静止时也会继续。


建模和纹理制作

为了实现高效的资源制作过程,我们选择使用主要带纯色纹理的低多边形模型。这种建模方法非常符合美学和艺术方向,我们使用环境的光线来塑造场景并提供色彩。通过这种方式,大多数材质是没有任何纹理的灰度图。因此为了展现污迹,粗糙和贴花,我们谨慎使用纹理。


资源在Blender和3ds Max中建模。大多数时候,纹理使用Photoshop制作,有些时候,出于对角色或特定细节,我们会使用特别的软件,例如Substance Painter。


我们通过原画开始进行建模,很多情况下,我们也会从游戏原型使用的灰盒体积开始建模。场景以传统方式在Blender中组成。


为了使过程更灵活,我们根据情况使用了不同的方法,例如:为了塑造特别的元素,包括:地面平铺、石块、电线和布料,我们会在Blender中使用物理模拟效果。



另一个有趣的示例是冰块,冰块以高多边形模型进行雕刻,然后会进行简化并清理网格,这些方法给场景提供了更加鲜明的外观。在建模和纹理制作阶段,资源会被多次导出到Unity,这将不会丢失剩余资源的整体外观。


为了更加灵活的构建场景,我们一直考虑到可重用性。大多数资源被设计为具有模块化效果,石块或其它有机元素会以稍微不同的方式制作,以实现多样性,具体取决于资源在场景中的角度和位置。


风的动画

角色的动画是手工制作的,我们使用了真人被风吹的视频作为参考画面。


角色身上的物品不是角色网格的一部分,例如:口袋和灯笼,我们给这些对象添加了Dynamic Bone组件,从而使它们按照物理规则进行运动。


此外还添加了一个脚本,用于在指定方向加入模拟的风作用力,并且添加噪声使效果保持随机性。


光照

我们使用二种类型的光照:一种用于户外环境,另一种用于室内环境。


对于光照管线,我们希望给人自然的感觉,让玩家感受到温暖,并实现一种和“霓虹”美感及其它典型科幻效果不同的氛围。另一方面,我们希望使用悬停的粒子实现浓密的大气,以实现效果一致的画面,并且尽可能实现真实感。


如下图所示是经典的“主体光、辅助光、轮廓光”三点照明方案,我们通过调整使该方案适用于每种情况,它特别适用于叙事序列和主要的解谜场景。


我们会根据需求设置该方案,例如:在特定情况下,为了突出前景的轮廓,我们会突出辅助光,以清除背景中的阴影,同时让轮廓光勾勒轮廓。



我们对实时全局光照使用了实时光照,从而减少了光线烘焙时间和项目大小。


光照设置包含反射探针和光照探针。因为游戏中的晶体反射效果很少,所以反射探针的分辨率很低。对于不烘焙间接光线的对象,我们会对小型对象使用光照探针,对大型对象使用光照探针代理体积。


我们根据需求使用不同的光线。在实现应用于整个场景的光照效果时,我们会使用定向光。这种情况适用于白天的室外环境,但有时我们会为辅助环境光照或全局轮廓光使用这种方法。聚光灯的使用效果很好,用于补充局部空间,形成叙事效果或游戏元素。点光源主要用作辅助光。


小结

《Afterlight》的游戏的环境设计、着色器、光照方面的开发经验为大家介绍在这里,下一篇中,我们将介绍如何实现游戏中泰坦星的环境。


更多Unity最新精彩内容,尽在Unity Connect平台(Connect.unity.com)。

 

下载Unity Connect APP,请点击此处。 观看部分Unity官方视频,请关注B站帐户:Unity官方


推荐阅读

《不可思议之梦蝶》开发经验分享

模拟经营游戏《Project Hospital》的优化经验

《CF穿越火线》引擎动画案例分享

《Hoa》:使用Unity创作吉卜力艺术风格的冒险游戏

在Unity中程序化生成地牢环境

Unity Downloader:通过嵌入持续集成来增强编辑器

Unity出海游戏扶持计划,助力拓展海外市场


官方活动

活动一:直播预告|Unity最新程序化动画绑定Animation Rigging

7月31日7月31日20:00-21:00的直播课程,Unity技术团队将通过实际案例帮助大家熟悉和了解Animation Rigging的使用。[了解详情......]

直播地址:

https://connect.unity.com/i/9234d220-6cc0-4240-8bae-49964e8c2ebc 


活动二:Unity at ChinaJoy :线上线下同步开启

8月2-4日,Unity将参展ChinaJoy 2019,展位及周边活动精彩纷呈,线上线下同步开启。了解Unity at ChinaJoy精彩活动内容,请点击此处


展位地点:上海新国际博览中心  W4馆B601号

开展时间:8月2-4日 (星期五-星期天)


活动三:成为Unity Buddy,享受专属福利

7月22日-8月21日加入Unity Connect,创建个人频道,成为与Unity社区同行的伙伴-Unity Buddy,享受专属福利。


了解如何成为Unity Buddy,请点击此处

Unity Connect评论区支持你认可的Buddy,获得免费门票。


喜欢本文,请点“在看”

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存