游戏原型系列 vol.19 在Unity中创建解谜跳台游戏
摘要
这是综合运用各种Unity功能,来探索如何制作小项目的系列教程。
我们本次将介绍如何制作一款2.5D平台游戏,其中用到了一些解谜元素以及专业独立开发者的一些建议。我们将创作过程分解为几个部分。首先是,如何获取创建原型所使用的资源,如何使用Unity官方可视化编程工具,来改善项目的视觉效果。
详细内容请参考官方视频。

教程

在Unity中新建项目时,有一套可用来设计主要游戏机制的资源,总是很有帮助的

资源商店就是寻找道具和角色的好地方,对于这个项目来说,我们下载了3D Beginner Tutorial资源,来开始构建原型

我们还创建了高清渲染管线的项目,因为3D Beginner资源有一种卡通风格的外观,我们希望试验一下这个管线,在改善游戏光照效果,制作逼真外观上会带给我们多大帮助,这个项目的主要设置,就是角色具有用于运动和其他物理对象交互的刚体,当然,为了控制角色,我们还要为它添加一些行为,通常,我们会通过C#脚本来实现,但现在Unity有一款官方的可视化工具,供大家使用,就是BOLT。

使用BOLT就能创建游戏机制和交互系统,无需写一行代码,在角色的Main Scripting Graph中

我们可以更新角色的Rigidbody velocity

做法是获取键盘信息,即水平轴输入

再与Speed变量相乘,我们还可以使用这些参数,来设置角色动画的当前状态

对于跳跃行为(Jump behavior),我们使用Button Input节点

来为刚体和Y轴添加力,它可以确保角色仅在落地时跳跃

并使用Sphere Cast节点,作为跳跃发生的条件。

我们还想添加可以打开门的小触发器,来为游戏添加解谜元素

因此,我们创建了一个新的Scripting Graph,并使用On Collision Stay节点,来检测当有物体在它的上面时

启用名为isPressed的布林(Boolean)函数

对于门这个对象,我们创建了另一个Graph,并引用了触发器对象的isPress函数,这个触发器对象将决定对象旋转的插值。
为了优化项目的视觉效果,如果要创建震撼的视觉视觉效果,需要强调三个基本原则,颜色原理,光照对比,视差的深度。

第一个原则,因为角色是淡黄色的,蓝色会是不错的颜色组合,这是因为蓝色在色轮正好与黄色相对,可以互补,调整全局的雾效和光照设置,让整个环境都具有朦胧的蓝色。

接下来,对比(Contrast)或负空间(Negative Space),会让对象在拥挤的环境中凸显出来,我们希望能够轻松看到角色的轮廓,所以我们添加大大的窗户让光照进来,并在角色跑过窗户时凸显它的轮廓。

我们不希望黄色被阴影遮住,所以添加了白色点光源来跟随角色,电影摄影技师将这个称之为“用光作画(Painting with light)“,这也可以用在游戏上。

最后,可以制造视差(Paralax)来 添加深度错觉(Illusion of depth),我在靠近摄像机的位置添加了椅子和蜡烛台

用有起伏山脉的简单Unity地形作为背景,景深(Depth of field)效果也会让我们聚焦在角色上

山上隐约可见的房屋让毛骨悚然的感觉更加立体。
可以看到,在HDRP工作流中稍作调整,就会为原型带来完全不同的外观,创建一个更加吸引人的世界。这个原型设计项目非常有趣,尤其是能够使用Bolt以可视化的方式组合代码。