unity3d 绘制小地图_老师!我想用Tilemap做元气骑士款地图!
作者:Yumir
哈嘍~大~家~好~我是Yumir~
馬老師最近發布了一系列從零開始做橫板游戲的教程,用的都是unity近期的新功能,其中最有意思的就是Tilemap這個功能啦,系列傳送門:
【萌新圖形學】TileMap瓦片地圖簡介,以及它的優化原理https://www.bilibili.com/video/av78424146
現在的Tilemap不僅可以實現正方形的瓦片,還有六邊形瓦片,斜45度瓦片,基本涵蓋了所有的2D游戲地圖類型,目前看來還是邏輯簡單的正方形瓦片最受歡迎,但是正方形瓦片要怎么做出層次感呢?
大部分情況下美術會將所有的透視投影關系都畫在一個方格子中,于是這些地圖都是薄墻,稍一對比就會發現元氣騎士的墻是比較特別的——他們看起來全都是正方體。我把這種正方體的正面正交+投影的效果在PS里面模擬了一下:
接下來是我在Unity中實現該效果的過程:
首先需要準備好要用到的瓦片素材,我是用UnityAssetStore的免費資源2D PixelArt - Isometric Blocks自行修改得到的,已上傳到網盤:
https://pan.baidu.com/s/1GALEo-zXO1L94A7jjdDyDg
打開Unity,開始烹制我們的食材(劃掉)開始畫元氣騎士的地圖。
1、素材預設:
新建一個2D項目,將素材文件拖拽到項目中。將SpriteMode設置為Multiple,PixelsPerUnit設置為32(表示一個單位為32像素),FilterMode設置為Point。
點擊SpriteEditor打開SpriteEditor窗口,點擊Slice設置Type為GridByCellSize,設置PixelSize為32*32(素材就是32*32),點擊Slice再點擊Apply保存,圖片設置完畢。
2、制作瓦片調色板:
點擊Window>2D>TilePalette打開TilePalette面板,點擊CreateNewPalette新建一個調色板,再將上一步切割好的素材文件一并拖拽到Palette面板的空白處,系統會自動生成瓦片(Tile),這些就相當于是我們的顏料啦。
3、繪制地圖:
從前文的示意圖可以分析出這個地圖需要多層疊加,并且上下層錯開,這個通過修改上層Tilemap的Transform>Position>y偏移0.5個單位即可。
為了有前后關系需要新建幾個SortingLayers,用于設置渲染順序。
我將地圖分為四層(另有一層純色背景)分別是地板層、墻側面層、墻陰影層、墻頂面層。我畫了一張圖來表示各個層之間的位置關系以及SortingLayers設置,當然只要能把層分開怎么設置都行。
首先繪制地板,房間的位置更加清晰明了:
再沿著地板鋪上側邊的墻以及柱子:
添加頂面和陰影,可以看到效果有很大的不同:
地圖繪制很簡單,但是這樣繪制出來的地圖還缺少一點靈魂,作為一面墻他得可以擋住墻內的角色,所以我在墻側面層上添加了TilemapCollider2D組件,這時候會出現如下效果。
這密密麻麻的格子,實在是不忍直視,這時候我勾選了UsedByComposite,unity會提示需要一個CompositeCollider2D,通過搜索組件添加即可。
由于這個組件會自動附帶Rigidbody2D,看看我們的墻,他怎么能往下掉呢,BodyType應該是Kinematic才對,找一個“player”放到場景里面看一看效果,多好啊,我真是個小機靈鬼~
當然roguelike游戲不可能是手繪地圖,而Unity也提供了Tilemap繪制地圖的方法,可以通過代碼控制地圖生成,但是我們想要做一些簡單的游戲固定地圖的話,本文的內容已經完全夠用了,推薦到B站去看該系列的其他視頻,畢竟一個游戲可不僅僅只用到地圖哦。
歡迎加入游戲開發群歡樂攪基:869551769
對游戲開發感興趣的童鞋可戳這里進一步了解:http://www.levelpp.com/
總結
以上是生活随笔為你收集整理的unity3d 绘制小地图_老师!我想用Tilemap做元气骑士款地图!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: glonee刷机绿色机器人无命令_小图编
- 下一篇: 提示用户输入一个高考_2020年湖南省高