老師!我想用Tilemap做元氣騎士款地圖!

作者:Yumir


哈嘍~大~家~好~我是Yumir~

馬老師最近發佈了一系列從零開始做橫板遊戲的教程,用的都是unity近期的新功能,其中最有意思的就是Tilemap這個功能啦,系列傳送門:

【萌新圖形學】TileMap瓦片地圖簡介,以及它的優化原理https://www.bilibili.com/video/av78424146


現在的Tilemap不僅可以實現正方形的瓦片,還有六邊形瓦片,斜45度瓦片,基本涵蓋了所有的2D遊戲地圖類型,目前看來還是邏輯簡單的正方形瓦片最受歡迎,但是正方形瓦片要怎麼做出層次感呢?

大部分情況下美術會將所有的透視投影關係都畫在一個方格子中,於是這些地圖都是薄牆,稍一對比就會發現元氣騎士的牆是比較特別的——他們看起來全都是正方體。我把這種正方體的正面正交+投影的效果在PS裡面模擬了一下:

老師!我想用Tilemap做元氣騎士款地圖!

接下來是我在Unity中實現該效果的過程:

首先需要準備好要用到的瓦片素材,我是用UnityAssetStore的免費資源2D PixelArt - Isometric Blocks自行修改得到的,已上傳到網盤:
https://pan.baidu.com/s/1GALEo-zXO1L94A7jjdDyDg


打開Unity,開始烹製我們的食材(劃掉)開始畫元氣騎士的地圖。

1、素材預設:

新建一個2D項目,將素材文件拖拽到項目中。將SpriteMode設置為Multiple,PixelsPerUnit設置為32(表示一個單位為32像素),FilterMode設置為Point。

老師!我想用Tilemap做元氣騎士款地圖!

點擊SpriteEditor打開SpriteEditor窗口,點擊Slice設置Type為GridByCellSize,設置PixelSize為32*32(素材就是32*32),點擊Slice再點擊Apply保存,圖片設置完畢。

老師!我想用Tilemap做元氣騎士款地圖!

2、製作瓦片調色板:

點擊Window>2D>TilePalette打開TilePalette面板,點擊CreateNewPalette新建一個調色板,再將上一步切割好的素材文件一併拖拽到Palette面板的空白處,系統會自動生成瓦片(Tile),這些就相當於是我們的顏料啦。

老師!我想用Tilemap做元氣騎士款地圖!

3、繪製地圖:

從前文的示意圖可以分析出這個地圖需要多層疊加,並且上下層錯開,這個通過修改上層Tilemap的Transform>Position>y偏移0.5個單位即可。

為了有前後關係需要新建幾個SortingLayers,用於設置渲染順序。

老師!我想用Tilemap做元氣騎士款地圖!

我將地圖分為四層(另有一層純色背景)分別是地板層、牆側面層、牆陰影層、牆頂面層。我畫了一張圖來表示各個層之間的位置關係以及SortingLayers設置,當然只要能把層分開怎麼設置都行。

老師!我想用Tilemap做元氣騎士款地圖!

首先繪製地板,房間的位置更加清晰明瞭:

老師!我想用Tilemap做元氣騎士款地圖!

再沿著地板鋪上側邊的牆以及柱子:

老師!我想用Tilemap做元氣騎士款地圖!

添加頂面和陰影,可以看到效果有很大的不同:

老師!我想用Tilemap做元氣騎士款地圖!

地圖繪製很簡單,但是這樣繪製出來的地圖還缺少一點靈魂,作為一面牆他得可以擋住牆內的角色,所以我在牆側面層上添加了TilemapCollider2D組件,這時候會出現如下效果。

老師!我想用Tilemap做元氣騎士款地圖!

這密密麻麻的格子,實在是不忍直視,這時候我勾選了UsedByComposite,unity會提示需要一個CompositeCollider2D,通過搜索組件添加即可。

由於這個組件會自動附帶Rigidbody2D,看看我們的牆,他怎麼能往下掉呢,BodyType應該是Kinematic才對,找一個“player”放到場景裡面看一看效果,多好啊,我真是個小機靈鬼~


老師!我想用Tilemap做元氣騎士款地圖!

當然roguelike遊戲不可能是手繪地圖,而Unity也提供了Tilemap繪製地圖的方法,可以通過代碼控制地圖生成,但是我們想要做一些簡單的遊戲固定地圖的話,本文的內容已經完全夠用了,推薦到B站去看該系列的其他視頻,畢竟一個遊戲可不僅僅只用到地圖哦。


歡迎加入遊戲開發群歡樂攪基:869551769

對遊戲開發感興趣的童鞋可戳這裡進一步瞭解:http://www.levelpp.com/


分享到:


相關文章: