大家好,我是小兵,今天给大家带来Untiy开发超级马里奥游戏的第3课,瓦片地图搭建,如果你想查看完整的教程,请访问我的个人博客geekape.net。
前两节课都没涉及具体的游戏制作,算是一个开胃菜,但是从本节课开始,就会有一定的难度,并不适合小白看,需要有编码经验,最好是unity开发经验,当然有兴趣的还是可以尝试看看。
由于本课程不是基础课,不会讲的很细,你需要先了解Unity的基础包括安装,网上有很多视频或文章比我写的详细多了,在这里推荐B站UP主麦克的Unity基础入门教程。
最主要的目的还是给对游戏开发感兴趣,刚入门Unity的小伙伴看,也给自己学习Unity2d游戏开发做个总结。
前期准备
- 假设你已经安装好了Unity,并会基础的操作。
- 本课程会使用到
2D Timemap Editor 和 2D Sprite 两个内置包,你可以通过点击【window]→【Package Mange】→【Unity Registry】查找安装。 - 还使用到了一个第三方插件包
[TileMap Extras](https://github.com/Unity-Technologies/2d-extras/) ,这个包的功能主要是增强瓦片地图。
游戏分层的思考
任何游戏的制作都是需要分层的,举个例子来说,和平精英中地图中的地面都是一个单独的层,像道具车子,枪械也在一个单独层,因为它们一个层是静态的,一个层是可交互的。
在超级马里奥这个游戏中,我们对游戏的分层如下:
开发步骤
雪碧图切割
首先在Unity中,每张图片 Texture Type默认都是 Default,这种模式是无法使用的,
- 更改图片 Texture Type 为 Sprite(2D and UI)
- Sprite Mode默认是Single,但是由于我们的图片是雪碧图,是有很多张的,所以要修改为 Multiple
- Pixels Per Unit是每个像素在游戏中的大小,一般都修改为16,到时看瓦片地图的方格大小
设置好之后,我们点击 Sprite Editor开始把雪碧图切割为多张。
一般来说,png图片都是使用自动切割,Unity引擎会根据每块区域不间断的点切割,完成后点击右上角的 Apply。
点开这个,就可以看到这张雪碧图下的所有分割的图片了。
搭建地面层
- 我们首先在 Hierarchy 窗口右键创建一个方形的地图
- 然后把关卡地图图片透明度调整一下,并拖动到 Hierarchy 窗口
- 点击顶部菜单 【window】→ 【2D】→【Tile Palette】打开瓦片编辑器,首先我创建了一个名为 New Palette的调色板,并把地图中需要的瓦片拖动到里面。
- 选中地面瓦片,选择区域绘制瓦片工具,完成地面的绘制。
搭建静态层
天上的云朵,地上的草木都是静态的,并且重复性多的,就可以新建一个瓦片地图,并按上面的步骤逐一绘制完成。
搭建元素层
在场景中,还有一些元素是要与角色进行交互的,如怪物,金币砖块,水管等,我们再在 Hierarchy 窗口右键创建一个方形的地图。
这个时候我们就要用到那个第三方扩展包了,使用瓦片来批量生成Prefab。
- 首先在 Project 窗口右键创建一个
Prefab Brush 。
- 并把对应的Prefab拖动到这里来,这里把一个jinbi 的Prefab对应起来了,同样怪物,水管也这样操作。
- 在 Tile Palette窗口就可以看到新建的这些Prefab的瓦片了。
- 选中它们依次绘制砖块,金币,水管,怪物
拖拽单一层
接着我们把角色,旗杆和城堡的图片拖动到 Hierarchy 窗口,完成整个地图的搭建。
好了,本篇文章到此结束,讲的不是很细,有兴趣可以看后期视频的讲解,文章的话流程不是太好表达出来,谢谢你的阅读,我们下期见。
|