unity第n堂
TileMap & random brush
講師自介
水母
- 北資地社網管
- 拖延症
- 好睡

組合
git
2D Tilemap Extra Pack
random brush
目錄
Tile map
這是什麼
- 中文翻譯「瓦片地圖」or「圖塊地圖」
- 顧名思義由tile(瓦片)和map(格線地圖)組合而成
- 能更有效率建立遊戲場景

如何建立
- 在Hierarchy上點右鍵->選「2D Object」->選「Tilemap」->選「Rectangular」


如何建立
- 點Grid可以看到許多網格出現在Scene裡

- 右邊的Grid component可以調整一些參數

單個網格長寬
網格間隔
網格類型
空間座標編排
建立TilePalette
- 要放置Tile首先需要TilePalette
- 可以理解為儲存各種瓦片的調色盤
- 按上面的「Windows」 -> 選「2D」->選「Tile Palette」
- 應該會出現在Inspector旁邊,沒有的話也可以自己把它丟過去


選擇目前編輯的Tile
選擇目前用的調色盤
選擇目前用的筆刷(後面會提到)
建立TilePalette
- 第一種取得瓦片的方式是去unity asset store找
- 匯入正常來說第一堂你們都聽過了
- 忘了的去看貝ㄙ簡報
- 匯入之後如果Pack裡已經有Palette就可以直接在下方選取
- 沒有的話可以找看看有沒有附檔名是.prefab的,可能沒讀取到
- if以上都沒有or你有自己的圖像資源要使用,可以將自己要用的瓦片放上Palette
- 在「選擇目前使用的調色盤」的地方下拉選「Create New Palette」
- 如果你的Sprite是正方形就直接按Create


如果是長方形就改短邊的Cell Size
(比如長方形x:y是1:0.8,就把y改成0.8)
建立TilePalette
- 接著在Asset創立兩個資料夾:
-
Tiles:用來存瓦片Assets檔
- TilePalette:用來存調色盤
-
- 在彈出視窗選擇「TilePalette」,你就會獲得一個空白調色盤
- 如果你的sprite是正方形就將Pixel Per Unit改成sprite大小
- 如果是長方形就改成長邊的長度

- 記得按下面的apply
-
將改好的Sprite直接拖進TilePalette視窗裡
-
在彈出視窗中選擇Tiles資料,按「選擇資料夾」後就可以使用該瓦片了
如何使用
-
選取Hierarchy中的「Tilemap」(Grid的子物件)
-
Tile Palette介面的功能很像常見的繪圖軟體的,大家可以自己摸索一下~

選取
(大範圍刪除可使用)
移動選取範圍的Tile
畫筆
選取同時放置瓦片
取色器
(會同時取到Tile跟畫筆)
橡皮擦
(無法大範圍)
封閉區域填充工具
Tilemap Collider
- 之前上課教過放置角色and加上Collider、Rigidbody等讓角色移動
- 開始遊戲之後會發現剛剛畫的地圖對角色一點用都沒有
- 這時候就需要「Tilemap Collider」:D
-
在Add Component搜尋Tilemap Collider 2D並加入
-
把Rigidbody改成Kinematic或Static


Tilemap Collider
- 但現在的Collider可能會吃效能也可能會卡到遊戲移動,所以我們要把它變成Composite Collider
- 把Tilemap Collider 2D的Used By Composite打勾

- 之後加入Composite Collider 2D

大功告成:D
Tilemap Collider
- 如果不想要每個tile都有collider的話
- Tile大小一樣可以在同個Grid底下多開tilemap
- 不一樣的話可以多開Grid
- (不過畫的時候要記得選正確的Tilemap喔:D


組合
安裝git
安裝2D Tilemap Extra Pack
- 字面意思:TileMap的延伸模組
- 今天要教的是筆刷的延伸
- 先點上面的windows -> package manager


安裝2D Tilemap Extra Pack
- 按左上的+,選「Add package from git URL」
- 輸入https://github.com/Unity-Technologies/2d-extras.git
- 然後就可以看到有個Package出現在Package Manager裡,旁邊有git標示


Random Brush
- 當我們需要做一些隨機的地圖的時候,一個一個點就太慢了
- 這個Package提供了幾種筆刷可以達成這種隨機的效果
- 先在Assets資料夾裡創一個Brushes資料夾來存筆刷
- 然後按右鍵 --> Create --> 2D --> Brushes --> Random Brush

Random Brush
-
點到Tile Palette介面,在筆刷處選擇剛剛新建的筆刷
-
勾選「Pick Random Tiles」,選取要用的Tiles
-
選好會發現下面多了你剛剛選的東西,選好就可以把上一步勾選的取消掉了


Random Brush
- 然後就可以看你需要的範圍在Tile Palette裡隨便選取大小來決定筆刷大小(不用管選取範圍內是否有Tile)

完成啦:D大家可以去快樂的畫地圖ㄌ
下課回家:D
有問題可以問或回家在dc問
unity-Tilemap
By jellyfish
unity-Tilemap
- 93