7-8 Creating A Simple 2D Game For Reinforcement Learning (4)
今天要來介紹Unity的TileMap這套工具,在此之前,我將Unity的版本升級到2018.1.8f1,我之前用的Unity版本中的TileMap有Bug,所以無法使用。 首先,我新增了兩個資料夾,分別是『TileAsset』、『TilePalette』,『TilePalette』是用來儲存TileMap產生的存檔文件,而TileMap會將原始的2D Sprite另存成Asset檔案,所以這些Asset檔案要放在『TileAsset』。 使用這兩個資料夾名稱只是為了方便分類,並不一定要使用跟我相同的名稱。 然後我將場景中的地板都刪掉了,只留下背景。 開始使用TileMap 接著在Hierarchy中點右鍵,選擇2D Object/Tilemap。 這時,場景中會出現一個物件名為Grid,底下還有一個物件名為Tilemap。 接著,選擇Window/Tile Palette,開啟繪製Tilemap的視窗。 視窗如下圖,請選擇Create New Palette,我的名稱取為GroundTile,因為這個Palette是要用來繪製地面的。Grid與Cell Size的設定維持不變。 然後會跳出存檔訊息,這邊就選擇資料夾『TilePalette』吧。 接著最重要的一點,就是要把切割好的2D Sprite拉進Palette中,如下圖那樣操作。 然後會問你要在哪邊存檔?這邊是儲存Palette需要使用的Asset檔案。 接著Unity會進行處理,如下圖正在產生128個Asset檔案,這是因為我們的2D Sprite就是切割成128塊。 儲存好以後,應該就能在Tile Palette中看見如下圖的景象。如果你看不見任何圖樣的話,你有可能也使用了有Bug的Unity版本。接著選擇其中一個想要繪製的圖案,然後再選擇第三個畫筆功能。 在場景中會出現很多格子,接著請你畫上去吧,但是你會發現怎麼圖案那麼小,格子那麼大! 請點選你使用的2D Sprite檔案,在Inspector視窗中可以看見Pixels Per Unit選項,預設為100。由於我的圖案是用16x16像素繪製的,如果使用預設值100的話,就會在旁邊產生許多空白的部分。 所以這邊要將數值調整為16,