Notifications
Article
快来下载我们最新的2D示例项目《失落的地穴(Lost Crypt)》吧
Published a month ago
2.9 K
14
随着新的2D工具不断推出,我们用最新的技术制作出了一个2D横版演示游戏。在本文中,我们将向大家演示如何使用这些2D工具在Unity中制作出高端图像。
作者:Eduardo Oriz和Rus Scammell,2019年12月18日
原文链接:https://blogs.unity3d.com/2019/12/18/download-our-new-2d-sample-project-lost-crypt/

有许多水平高超的团队多年以来用Unity制作出了许多让人赞叹的2D游戏,而我们希望让每个人,不论是个人艺术家还是大型团队,都能拥有更多的2D工具来制作同样吸引眼球的游戏。而许多工具将在Unity 2019.3中作为正式产品上线,请期待引擎的beta测试结束。
我们使用了一整套2D工具来制作《失落的地穴》。在游戏栩栩如生的场景中我们使用了包括动画、光效、自然的地形、着色器和后期处理等功能,所有内容都以原生2D制作。任何规模的团队和项目,现在都能更高效地制作出漂亮又吸引人的作品了。
《失落的地穴》可在任何桌面电脑上流畅运行,同时如果想要在iOS或者安卓设备上运行游戏,我们也使用了新的输入系统应用了屏幕控制器。在测试中,游戏可在如iPhone 6S这样的常见设备上以30帧每秒流畅运行。

项目安装

从资源商店中下载完《失落的地穴》后,我们建议在引擎中新建一个New Project(新项目),类型选择2D,然后在资源管理器中从My Assets(我的资源)中导入项目,或者点击资源商店页面的My Assets选项。项目中包含了所有制作2D内容所需的资源包。在导入完成后,资源包将改写项目设置,将通用渲染管线中的渲染设置转换到2D渲染器选项。
在导入完成后,我们将看到一个主场景。点击运行按钮,我们就可以正常地使用方向键和空格键来游玩游戏。
游戏的脚本和逻辑都是比较简单的,该演示项目的主要关注点是项目中用于实现概念美术的2D工具。
我们将演示项目的风格实现拆分成了许多个小任务,让玩家了解制作单个图像效果所需的是哪种2D工具。

人物动画

我们使用Photoshop设计出了人物,并使用2D PSD导入器直接将文件导入到了引擎中。使用精灵编辑器打开Sara.psb文件可以查看人物的设置和动画绑定。如果使用Photoshop打开文件,可以看到不同身体部位和图层信息都保存完整。
通用渲染管线的一个新功能是Sprite-Lit(精灵光照)材质。与普通的Sprite-Default(默认精灵)材质相比,该材质能让精灵受到2D光照条件的影响。
我们在精灵编辑器中使用了Secondary Textures(次级材质)下拉菜单选项导入了人物的法线贴图。我们可以为2D人物动画、普通的精灵、块图和精灵形状加上法线和遮罩贴图。
人物的腿部还使用了2D IK解算器,动画制作只需将脚踝和脚部的位置摆放好,剩余的部分就能正确地形成动画了。
在完成动画绑定后,我们使用了动画工具制作了不同的动画,还用动画器来控制不同的状态。你可以在这个GDC 2019演讲中了解到工具的使用方法。
人物的马尾辫则是一个独立的子对象,受2D Physics影响。辫子随人物运动会有逼真的动画,每个辫子的节点上都有一个Hinge Joint(铰链关节)组件和一些约束。这样一来,主角的发辫就能随着移动自由摆动,还不会卷曲成团或者过度摆动。

白天/黑夜光照循环

在精灵上使用动态光照的一个最大的好处是改变整个环境的外貌。在同样的精灵中,我们可以改变氛围、时间或者特定区域的明暗,实现更多的游戏机制,如潜行机制和更富细节的世界。
我们在场景中使用了一个简单的脚本来控制光照。在脚本中,保存有一个渐变的颜色设置(从白天到夜晚的光照颜色),而光照和材质会随着父游戏对象的时间参数变化而改变颜色。有了这种设置方式,我们可以控制不同的光照互相糅合,形成不同的光照效果。

大型户外纹理地形

在早些时候,2D游戏开发者们所面临的一个大问题是高效地制作如山丘、山坡或其它不规则的地面,这些地面通常布满植被,只有用精心制作的图块表单才能高效地加入到游戏中。但是多年以后的现在,我们可以使用不同的精灵来组合成一块地形,更快地制作出生机勃勃的地形,同时工作流及性能表现会有更大的改善。
有了2D精灵形状图形,我们可以像作画一样通过拖动来生成地形和碰撞体。我们可以调整笔刷(在精灵形状图形配置中)后直接开始创作,还无需在更改环境时调整成堆的精灵或碰撞体。
《失落的地穴》还使用了一些额外的精灵形状图形,比如NodeAttach脚本可以确保元素贴近样条,随样条展开。在演示项目中,石块部分使用了脚本和花朵图层上的ConformingSpline,确保岩石能跟随草地的样条生成。各位可以学习我们在关前的草地图层上的做法,使用这个功能制作游戏或装饰性元素。

用网格布局构建一个墓穴

块图可能是最重要的2D工具之一了,它不仅能将地图分成一个个图形小块,节省许多内存空间,还能让我们重复“堆砌”地图,对关卡设计至关重要。
在《失落的地穴》中,我们使用了2D块图编辑器(可在包管理器中下载)来构建墓穴的内部景观,还用了额外的块图工具(可在GitHub上或在下方下载)让关卡设计更加高效。比如,我们在制作时使用了Rule Tile(尺规块图),可以像用笔刷一样在关卡中画出块图。块图会根据相邻的块图或端点自动生成正确的块图。

火焰效果

火焰效果是游戏中最常见的元素之一了,我们在《失落的地穴》中也加进了火焰。我们先用2D的Paritcle System(粒子系统)和Shader Graph(着色器节点图)创建了一些火炬游戏对象,然后在输出着色器上使用了Sprite-Lit(精灵光照)主节点。我们使用了传统的精灵表单制作出了火焰动画,再使用了粒子系统来播放动画。
在火焰的着色器上使用了一种HDR颜色,还使用了Volume(体积)后期处理效果来增加对象周围的光照强度。在母父对象上还包含了一些火星粒子和特殊光照来照亮壁龛。

水面反射

游戏中另一种常见的着色器使用方法是反射和折射(比如水、冰、镜面或显示器上的景象)。
在墓穴中的水体效果完全使用Shader Graph制作的。我们将不同的参数(如水体颜色、波纹速度、图像扭曲和涟漪效果等等)公开到了场景中,方便调整最终效果。为了将环境的图像镜面投射到水上,我们添加了一个额外的镜头,将纹理输出到Shader Graph中用于进一步处理。此外,我们还添加了一个Bloom(泛光)后期处理通道,来制作水体焦散发光,给水的表面加上更加漂亮的效果。

风的动画和混合风格

我们给环境添加的一种动画是让树枝随风摆动。为了实现此种特效,我们决定为每个树的枝叶预制件单独添加一个着色器,以做出多样的动画,防止单调地重复。
在Vegetation Wind-Lit(植被风力影响)图表中,可以看到我们是如何制作出两种效果的。其中在晃动动画制作中,我们添加了一个噪声模式,将顶点位置偏移到相近的位置上。第二种效果则是使用G(绿色)通道来调整枝叶周围环绕光的色调。
“Light Blend Styles(光照混合风格)”是一个2D渲染器属性集合,它描述了光照如何影响精灵。比如,我们可以创建一种只影响特定通道的混合风格。当在场景中添加进该种风格的光照时,光照只会影响遮罩贴图通道中指定的精灵区域。
在下方示例中,光照使用了Direct Lighting(直接光照)混合风格,会只影响精灵的遮罩贴图R通道指定的区域。

过场动画和粒子效果

《失落的地穴》中,当我们的探险者抓起地穴的魔棒时,会播放一个简短的过场。为了让过场显得更为特殊,我们改变了环境的氛围,同时为了体现出晚上环境的不同,还根据时间轴在正确的时机生成粒子。为了让镜头跟随粒子飞进丛林中,我们还加上了一个混合动画轨道镜头,用于替换原来的Cinemachine镜头。
当玩家拾起魔棒时出现的光环是用精灵类型的光照制作的。光环图像会扩大、淡出,形成一种照亮环境的光圈效果。
大部分的粒子发光效果都是用Volume(体积)后期处理中的泛光效果制作的。同时,粒子和尾迹的材质/着色器使用了HDR颜色,来定义该对象上后期处理效果的强度。

食尸鬼的动画

如果仔细观察树丛,会发现那里有一些幽灵般的生物。为了做出这种效果,我们创建了一个鬼怪身上通用的着色器。生物本身是透明的,但是我们用菲涅尔效果为精灵的边缘添加上了一些发光效果,让生物像漂浮着一样晃来晃去。
着色器中有一个非常有意思的效果:追踪魔棒游戏对象变换的位置。当魔棒靠近食尸鬼,它们会变得更加明亮。而为了实现这种效果,我们为魔棒添加上了一个小脚本,在材质着色器上更新对象的位置。
食尸鬼还有一个由两张图形互相切换构成的小动画。为了实现这个效果,我们在每个通道上用不同的规划图表创建了一个遮罩贴图:R包含了一个图像,G包含了另一个图像,而B上则是菲涅尔效果。

添加Volume 后处理

最后为了加上一个润色层,我们添加上了通用渲染管线中的部分后期渲染效果。举个例子,我们创建了一个空游戏对象,在其中加入了一个Volume组件。在《失落的地穴》中,我们使用了泛光、白平衡和剪影,此外还有许多可以用到2D项目中的效果,如动态模糊、胶片颗粒效果中的颜色矫正。

总结

希望《失落的地穴》能帮助各位学习如何在类似项目中使用我们的整合2D工具套。如果有任何关于《失落的地穴》的问题,可以在论坛上联系我们。
如果对我们的2D工具有疑问,可以看看论坛2D板块和Beta & Experimental下的专门话题。

我们将在1月9日晚上11点举行一场《失落的地穴》网络研讨会,快来加入吧

想要了解《失落的地穴》幕后制作吗?那就来参加我们的网络研讨会吧。会上全球内容布道Andy Touch将详细解释我们在《失落的地穴》中使用的2D光照、着色器和后期处理效果。同时R&D的2D团队也会在会上解答大家关于2D工具和项目的问题。
席位有限,请尽快报名,并且别忘了将研讨会加入你的日程。

开发过程中遇到问题?打开Unity Connect App或者Unity编辑器内置群聊工具,在“技术交流”群聊组中提问。
Unity China
735
Comments
M
Metetron
24 days ago
我的导入都是错误 无法运行
0
PROS
a month ago
探险家麦哲伦
江南没有,就手动重启了
好的👌感谢
0
江南
a month ago
PROS是吗 我之前也是在Editor里运行时 按键盘没反应 你居然重启了一下就解决了😯没配置什么其他的东西吗
没有,就手动重启了
0
PROS
a month ago
探险家麦哲伦
江南要手动重启
是吗 我之前也是在Editor里运行时 按键盘没反应 你居然重启了一下就解决了😯没配置什么其他的东西吗
0
江南
a month ago
江南为什么我导入后没法控制呢?
要手动重启
0