2015年6月23日 星期二

【Unity】2D地圖設置插件 2D Tilemapper

(註:在一開始測試Tilemapper時,曾發生Unity當掉後專案損毀的狀況,請事先備份專案或使用新專案嘗試。)
這是在設置背景地圖做到有點煩的時候找到的插件,主要功能是能快速的設置Tile類型的Sprite2D背景。
Tilemapper
Tilemapper

大概的效果可以從上圖中看到,透過插件建立的視窗將Sprite圖檔依Scene中的格線建立物件,而且只需要使用滑鼠點擊就好,可以看看作者拍的影片
另外作者並沒有在功能上作太多的詳述,不過有其他使用者拍了影片教學,可以看這裡:Part1 Part2 Part3

正文開始:
首先從以下的連結下載插件Tilemapper。
http://www.kaisirak.com/
進入頁面後找到有格子狀的Unity編輯器點下去。
Tilemapper

 接著找到 Unity Editor Plugin,按下去下載壓縮檔。
Tilemapper

下載名為2DTileMapsV4的壓縮檔後,可以看到裡面含有名為TileWindow的cs檔,把cs丟進Unity專案裡。
(註:請將TileWindow.cs放在Assets/Editor資料夾下,在build專案時才不會出錯。)
Tilemapper

可以看到Unity工具列多出Tools的選項,底下可以叫出TileWindow視窗,這就是Tile的設定欄位。
在開始介紹功能之前,這裡先將TileWindow程式碼造成的介面錯誤解決掉,這部分在上面教學的Part3內也有提到。
TileWindow.cs點開,找到[CustomEditor(typeof(GameObject))]後將它註解掉,下圖看到的介面錯誤就可以解決。
Tilemapper

解決調顯示錯誤後把Tools->TileWindow打開,這時會產生一個放Tile圖檔用的資料夾Tilemaps。
Tilemapper

從這裡找了一張圖片來做測試:
http://yms.main.jp/page2/tilesets.html
將圖檔放進Tilemaps後設定為Sprite,Unit設定32,接著選擇Multiple,按下Sprite Editor,選擇Grid將尺寸設定成32*32。
(設定的部分依圖源不同會有所差別。)
圖片設定好後可以看到TileWindow視窗出現切割好的區塊,而且是可以點擊的。
Tilemapper

Grid Size:打勾後可以將參考格線顯示出來,X和Y值可以設定格線大小,方格的中心點就是Sprite物件產生後的中心點,另外方格大小並不會影響產生物件的大小。
(大小參考:X和Y為1*1時,Sprite圖檔Unit值32剛好可以把方格塞滿。)
Parent Object:設定產生Sprite物件的父物件,物件產生後方便管理。
Tilemapper

Add Box Collider:將這個選項打勾後會自動幫Sprite物件加上Box Collider2D。
Layer Order:設置產生物件的階層,另外要注意的是這裡的Order並不是Sprite Renderer上的Order in Layer,而是物件的Z值,所以產生的Sprite物件Order in Layer都為0,再透過Z值來調整前後。
Tag:為產生的物件加上Tag,TileWindow.cs在這裡並沒有作防呆,所以Tag不加的情況生成物件是會跳出錯誤的,請注意一下。
Select:這裡就是最重要的設置功能,依序為
(1)Paint:生成物件。
(2)Paintover:改變物件圖檔。
(3)Erase:刪除物件。

下圖是快速作好的一個結果,約五分鐘左右。
Tilemapper

跟之前一格一格慢慢拉的做法比起來,真的快了許多,至於一開始提到造成專案損毀的問題,從把介面錯誤修改掉後就沒有再出現過,但這裡就不保證一定不會發生,有疑慮的人就考量一下吧,這次就到這裡。
以下素材:
臼井の会:http://usui.moo.jp/frame2.html
ドット絵世界:http://yms.main.jp/index.html

2 則留言:

  1. 請問Unity 5.2.2f1 (64-bit)這個版本 要丟到哪個資料夾呢?
    我丟到 C:\Program Files\Unity\Editor
    或是 C:\Program Files\Unity\Editor\Standard Assets
    都沒有顯示出 TOOLS 這個選項
    麻煩您了

    回覆刪除
    回覆
    1. 屙 不好意思
      我發現原因了
      是專案檔Assets/Editor
      已解決

      刪除

【自製小遊戲】水平思考猜謎(海龜湯)

遊戲連結 海龜湯的玩法是由出題者提出一個難以理解的事件,參與猜題者可以提出任何問題以試圖縮小範圍並找出事件背後真正的原因。但出題者僅能以「是」、「不是」或「沒有關係」來回答問題。 本遊戲蒐集各種論壇、平台的42個題目,提供給想玩海龜湯卻愁找不到題目的你們。 ...