可以用Tilemap工具來構建游戲世界的地圖,創(chuàng)建瓦片地圖時,Grid組件自動作為瓦片地圖的父級,相比于傳統(tǒng)使用照片搭建地圖的方式,使用瓦片地圖用來搭建地圖可以更加迅速,而且使用傳統(tǒng)方式搭建地圖時,需要添加大量的碰撞體,但是使用瓦片地圖就可以避免該問題
瓦片地圖的構成:瓦片地圖由五個部分組成,可以與現(xiàn)實生活中的畫畫結合起來

精靈:繪畫時的原料,就可以理解為圖片,是作為瓦片的普片素材
瓦片:就相當于自己調(diào)制出的一個顏色,瓦片包含一個精靈,兩個屬性(顏色和碰撞器類型)
調(diào)色板:包調(diào)制好的各種顏色放在調(diào)色板中,這里就是把做好的瓦片放在調(diào)色板中
筆刷:不同的筆刷繪制出不同的效果,瓦片地圖中就是用筆刷工具在調(diào)色板中蘸取不同的瓦片繪制出不同的效果
瓦片地圖:就相當于畫板,用瓦片在上面作畫



創(chuàng)建瓦片地圖的流程
創(chuàng)建瓦片地圖
在層級窗口中右鍵創(chuàng)建->2D對象->瓦片地圖 新建選擇想要的瓦片地圖類型
(右擊后沒有2D Object選項的, 需要在packag manger中下載 2D Tilemap Editor 包)

這將自動創(chuàng)建兩個GameObject對象,一個是名為Grid的父對象,上面帶有Grid組件。
另一個是名為Tilemap的子對象,它在Grid對象下,帶有Tilemap和Tilemap Renderer組件。

創(chuàng)建調(diào)色板
點擊Grid組件,選擇場景窗口,在右下角就能看見tile palette


創(chuàng)建出調(diào)色板保存在指定的文件夾中(最好單獨創(chuàng)建出一個文件夾保存瓦片地圖)
創(chuàng)建瓦片
拖動精靈到調(diào)色板中,會打開一個新窗口,詢問瓦片的保存位置。
(1).你也可以通過精靈圖集拖動多個瓦片。(這是傳統(tǒng)制作瓦片的方式),推薦使用下方的方法,可以制作出功能更為強大的瓦片(比如規(guī)格瓦片),但是需要用到插件,2d tilemap-extras插件(安裝方法放在文章最下方)
(2).在Assets文件夾中,最好是剛才創(chuàng)建的保存調(diào)色板的文件夾中,點擊右鍵->瓦片->規(guī)則瓦片(這里由于安裝的插件版本可能不同,右鍵->創(chuàng)建->2D->瓦片->規(guī)則瓦片),這里用RuleTile為例子(最常用)
創(chuàng)建完成,開始在場景中繪制:
瓦片加入調(diào)色板后,就可以用筆刷繪制場景了。
最基本的瓦片地圖的使用方法就講完了,接下是對瓦片地圖拓展知識的講解
(1).規(guī)則瓦片(Rule Tile)


(2)Rule override Tile
規(guī)則覆蓋瓦片是用來拷貝規(guī)則瓦片的規(guī)則的,意思就是當我們制作出了一個規(guī)則瓦片后,如果還想制作另一個規(guī)則瓦片,上之前的規(guī)則一樣,但是就是精靈圖不一樣就可以使用規(guī)則覆蓋瓦片(創(chuàng)建方式和規(guī)則瓦片一樣)

(3)Advanced Rule Tile
Advanced Rule Tile也是用來拷貝規(guī)則用的,但是與Rule override Tile不同的是Rule override Tile只能完全復制規(guī)則,但是Advanced Rule Tile可以復制規(guī)則后可以再對瓦片規(guī)則進行更改

(4)瓦片繪制工具

從左至右:
選擇工具
用來選擇Tile資源更改屬性。
移動工具
用于移動選中的Tile資源。
筆刷工具(最常用)
用于繪制矩形塊,并由選定的Tile資源來填充。
選取工具
用于選取要繪制的Tile資源,按下左鍵并拖拽可以一次選取多個Tile。
擦除工具
用于擦除Tile資源。
填充工具
用于將選定區(qū)域填充為選定的Tile資源。
TilePalette面板上有一個Edit(編輯),如果選上的話可以編輯在TilePalette面板中的Tile資源(比如想要使用擦除工具就需要點擊編輯按鈕,進入編輯模式)
(5)給Tilemap添加碰撞體
第一步:首先給Grid下的TileMap組件添加Tilemap Collider 2D 組件

第二步:給想要的瓦片設置碰撞器類型(無就是沒有碰撞器,精靈就是系統(tǒng)按照精靈圖設置碰撞器,網(wǎng)格就是按照瓦片所在的網(wǎng)格設置碰撞器)

第二步設置完成后會出現(xiàn)每個瓦片都是一個單獨的碰撞體,這就會導致兩個問題,第一就是物理系統(tǒng)的計算量會更大,減慢游戲速度,第二在瓦片之間的邊界上會產(chǎn)生小問題。由于瓦片是兩個并排的碰撞體,并且兩者之間存在微小間隙,因此有時計算上的微小誤差也可能導致仍會發(fā)生碰撞的罕見情況。
為了解決這些問題就需要將單個的瓦片碰撞體合并成一個整體,Unity 提供了一個名為Composite Collider 2D的組件。此組件可以獲取對象(或對象的子對象)上的所有碰撞體, 并由此創(chuàng)建個大碰撞體。
第三步:為Tilemap再添加一個composite collider 2d(添加它的同時,系統(tǒng)會自動添加Rigidbody 2D組件,最好是將其類型勾選為static靜態(tài)的,因為地圖是不會移動的)

再把tilemap collider2d設置為Used By Composite


調(diào)整edge raidius(邊緣半徑)使tilemap邊緣呈現(xiàn)細細的管狀
2D Tilemap-extras的安裝
插件的安裝地址https://github.com/Unity-Technologies/2d-extras/tree/2020.3

好像2020之后的版本就可以在包管理器中下載插件,如果沒有的就可以在該鏈接下載,下載好之后,解壓到當前的文件夾,這時就有兩種方法把該插件安裝到unity 中
第一:直接將解壓好的文件拖拽到unity的Assets中
第二:在包管理器中選擇天機來自磁盤的包,選擇解壓后的包中的pakage,并安裝文章來源:http://www.zghlxwxcb.cn/news/detail-494833.html


這樣插件就安裝好了文章來源地址http://www.zghlxwxcb.cn/news/detail-494833.html
到了這里,關于Tilemap瓦片地圖的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!