[Unity3D] 2D像素游戏(三) 贴图再次陷入纠结与利用Tilemap绘制场景

  • 回顾
  • 调整游戏分辨率
  • 再次!使精灵变清晰
  • 制作瓦片地图(TileMap)
    • 新建瓦片调色板(Tile Palette)
    • 新建空白Tilemap
    • 使用Tile Palette绘制Tilemap
  • 最终效果
  • 拓展阅读

回顾

上一篇:(二) 准备图像素材并认识预制件Prefab
经过一段艰苦的素材准备过程,我们制作出了3个重要的预制件,分别是Player,Wall,Floor。预制件可以统一属性,也可以规划所有的游戏对象——在一个集中的环境里。

调整游戏分辨率

unity默认设定是可以让玩家在游戏开启前选择分辨率,不过我们也可以跳过这个步骤,让游戏以我们规定的分辨率大小启动。
设置方法是:

  • 在上面的工具栏里,选择File -> Build Settings...
  • 在弹出的窗口里的左下角找到Player Settings...
  • 转到属性,修改为下图所示
    [Unity3D] 2D像素游戏(三) 贴图再次陷入纠结与利用Tilemap绘制场景_第1张图片

这样我们的游戏就会以默认800x800的分辨率启动。
当然这样还不够,既然规定了分辨率,那么我们就可以去游戏窗口调整测试分辨率为800x800。
[Unity3D] 2D像素游戏(三) 贴图再次陷入纠结与利用Tilemap绘制场景_第2张图片

于是最终的游戏画面就变成了这个样子。
[Unity3D] 2D像素游戏(三) 贴图再次陷入纠结与利用Tilemap绘制场景_第3张图片

再次!使精灵变清晰

来到游戏窗口也使我发现了一个严重的问题,我曾经煞费苦心准备的高清素材,在最后的新分辨率里还是失真模糊了。万般无奈之下,我重新搜索了相关问题。最后为了适应新分辨率,做了如下调整。

  • 修改Main CameraSize属性,设置为3.5
  • 修改spr_Wall等三个贴图文件的Filter Mode属性,从默认的Bilinear改为Point

[Unity3D] 2D像素游戏(三) 贴图再次陷入纠结与利用Tilemap绘制场景_第4张图片
成品如上。
Point的模式会消除掉模糊,但会留下锯齿,而锯齿对我们像素画的影响不会很大,处于可以接受的地步。

制作瓦片地图(TileMap)

现在我们准备构建第一关的游戏场景,这将用到大量WallFloor,Unity2017版本之后,为我们提供了一个内置的工具,让我们快速地构建2D世界。那就是TileMap。

新建瓦片调色板(Tile Palette)

首先,让我们打开Tile Palette窗口。它在Window -> 2D -> Tile Palette
[Unity3D] 2D像素游戏(三) 贴图再次陷入纠结与利用Tilemap绘制场景_第5张图片
按照提示,我们新建一个调色板Create New Palette。因为我们准备在这个调色板上放“墙”和“地板”两种瓦片,所以名字就叫Environment Palette(环境板)。按下Create后跳出文件窗口,示意我们保存调色板的位置,我们就暂且先放到Sprites文件夹下吧。
[Unity3D] 2D像素游戏(三) 贴图再次陷入纠结与利用Tilemap绘制场景_第6张图片
新的提示,现在可以拖动贴图资源进来了。我尝试将spr_Wall拖入,结果又是个文件窗口,一看是Unity把jpg文件转变成了asset文件,那么我们就在Sprites文件夹下新建一个Assets文件夹来保存瓦片资源吧。成功后,把spr_Floor也拖进调色板里。

[Unity3D] 2D像素游戏(三) 贴图再次陷入纠结与利用Tilemap绘制场景_第7张图片

一个拥有两个瓦片的调色板就准备就绪了!

新建空白Tilemap

此时还不能直接将瓦片画到场景里,我们需要一张专门绘制瓦片的画布,那就是Tilemap。
层次里空白处右键,2D Object ->Tilemap。成功的话会生成一个父对象Grid,一个子对象Tilemap。我们把子对象重命名为Environment Tilemap
选中Environment Tilemap之后,当鼠标在场景里面挥舞的时候,可以看到方格边框会白色高亮。这其实就说明瓦片地图是以1x1 unit的方格为单位绘制的。
[Unity3D] 2D像素游戏(三) 贴图再次陷入纠结与利用Tilemap绘制场景_第8张图片

使用Tile Palette绘制Tilemap

Tile Palette里面选中地板,然后会看到场景里的鼠标上也出现了地板的图片,此时就可以开始随心所欲的绘制了。大概步骤就是:

  • Tile Palette里面选中所需瓦片。
  • Environment Tilemap上绘制。

[Unity3D] 2D像素游戏(三) 贴图再次陷入纠结与利用Tilemap绘制场景_第9张图片

Tile Palette里的画笔和橡皮擦决定了你目前是添加瓦片还是删除瓦片。
如果嫌一下一下点太慢,就按住鼠标拖动。
绘制完成后就可以把Tile Palette关掉了。

最终效果

记得删除之前的Wall,Floor
不花10s,就可以设计出一个像模像样的场景出来,当然现在这还称不上半成品,但算是又向前迈进了一大步。
[Unity3D] 2D像素游戏(三) 贴图再次陷入纠结与利用Tilemap绘制场景_第10张图片
看来还是有点假呢,可能会和之后新的精灵一起再改一下贴图文件。(没错,严重强迫症-.-)

拓展阅读

TileMap快速创建2D世界
http://gad.qq.com/article/detail/38693
2D精灵变糊的处理办法
https://blog.csdn.net/qq617119142/article/details/43345339

你可能感兴趣的:(Unity3D)