SRPG遊戲開發(四)第三章 繪製地圖
第三章 繪製地圖
這一章我們來建立自己的Tile,繪製我們的地圖,然後顯示我們的角色。如果你已經對Tilemap非常的熟悉,可以跳過本章。
首先,我們新建一個場景(File => NewScene),另存為TestScene(File =>Save Scene as)儲存到我們之前建立的Scene資料夾內,之後的工作,我們使用這個場景。
一 匯入素材
1 素材許可(Licenses)宣告
本章所匯入的素材由網路蒐集:
- 角色素材(Character),作者ArMM1998,放入Artwork/Sprite資料夾內。
- 地形素材(Terrain)
,作者Hyptosis,放入Tile/Texture資料夾內。- UI素材,作者Kenney,放入Artwork/Texture資料夾內。
所有素材的Licenses均為CC0()。
暫時連結:https://pan.baidu.com/s/1kWgAZNh2 匯入設定(Import Settings)
匯入素材後,點選素材,在Inspector面板中可以看到匯入設定,下面列出我們需要改動和需要知道的設定。
圖 3 - 1匯入設定
- Texture Type:貼圖型別,我們選擇Sprite(2Dand UI);
- Sprite Mode:素材需要拆分選擇Multiple,不需要選擇Single
;
- Packing Tag:舊版圖集名稱,使用舊版圖集請設定;
- Pixels Per Unit:Unity中每個單位(米)所使用的畫素數,這裡根據素材我們設定16,如果貼圖大小不一,需要適應地圖修改;
- Mesh Type:在舊版圖集中網格的生成方式,我推薦FullRect;
- Advanced:高階設定
- Alpha is Transparency:有沒有透明度;
- Read/Write Enabled:沒有放入圖集或放入舊版圖集時,是否可讀取和寫入素材的畫素,需要顏色對映的貼圖請勾選;
- Generate Mip Maps:請勿勾選;
- Wrap Mode:素材uv的顯示方式,這裡我們是Clamp。
- Filter Mode
:這裡我們選擇Point,點過濾,會出現畫素塊。- Compression:表示壓縮等級,這裡設定成不壓縮,防止失真。
如果你要使用舊版圖集,找到選單Edit => Project Setting =>Editor開啟Editor Setting的Inspector面板,將其中Sprite Packer的Mode項改成帶有“(Legacy Sprite Packer)”字樣的選項,如下圖。如果你要開啟舊版圖集打包面板,找到選單Window=> Sprite Packer開啟Sprite Packer面板。
圖 3 - 2 Editor Settings設定舊版圖集
3 拆分貼圖(Sprite Editor)
我們的素材中有很多是需要拆分的,在匯入設定的Inspector面板中,有一個按鈕“Sprite Editor”,我們點選它來拆分我們的Sprite。
打開面板後,我們先點選左上角的“Slice”按鈕來開啟拆分設定。地形素材是一個以16*16的規則素材,Type中選擇“Grid By Cell Size”,把x和y都設定成16,點選其中的“Slice”按鈕,Unity就幫我們拆分好了,記得還要點選右上角的“Apply”按鈕進行儲存。
圖 3 - 3拆分地形貼圖
再看我們的角色素材,也是規則素材,但長寬是16*32和32*32,假定我們的地圖是以16*16(畫素)為標準,那麼就超出一個Cell了,更不用說不規則素材。按原來的方法拆分後,拉入到場景中任意Cell的中心點後總覺得哪裡不對(當然,你也可以移動他們整體所在父物件或程式碼新增Offset變數來控制,但如果素材有各種各樣的大小的,就可能不適合)。
圖 3 - 4 Pivot為Center,Cell參考點為Center
在這種素材中,我們要有兩個參考點,一個是Cell的參考點,一個是Sprite的參考點,根據素材來決定。多數情況下,Cell的參考點與Sprite的參考點都是為正下方,如圖。好了,我們設定Pivot為Bottom,重新Slice,Apply儲存。
圖 3 - 5 Pivot為Bottom,Cell參考點為Center
圖 3 - 6 Pivot為Bottom,Cell參考點為Bottom
如果是特別不規則的素材,請把Pivot設定成Custom,自己來設定並測試,直到滿意為止。
選取不是正好佔一個Cell的素材,是因為FE4中,騎兵,天馬,飛龍等大型職業的素材是16*24(畫素)的,Pivot是Bottom,以Cell的Bottom為基準點;步兵等小型職業是標準16*16(畫素);而它們的移動動畫素材又是32*32(畫素),Pivot是Center,以Cell的Center為基準點。當然我們不會那麼麻煩,選取的素材都可以用Bottom與Bottom。