目錄
1 TileMap概念
主要思想
優(yōu)點(diǎn)
創(chuàng)建的層級(jí)
2 Unity中的TileMap
2.1 自動(dòng)父級(jí)Grid 網(wǎng)格
2.2?Sprite精靈
2.3?Tile 瓦片
2.4?Tile Palette 調(diào)色板
2.5?Brush 筆刷
3 Tilemap Renderer 瓦片地圖渲染器
3.1 Sort Order 瓦片排列順序
3.2 Mode 渲染模式
?Chunk 分塊渲染
?Individual 單獨(dú)渲染?
3.3?Detect Chunk Culling Bounds 如何檢測(cè)邊界
3.4 Mask Interaction 遮罩
3.5 Material 材質(zhì)
4 瓦片地圖的創(chuàng)建流程
4.1 創(chuàng)建Sprite&Tile
4.2?創(chuàng)建Tilemap&Tile Palette
4.3?可以開始繪制瓦片地圖
4.4 問(wèn)題處理:Grid有縫隙
1 TileMap概念
Tilemap就是被用來(lái)創(chuàng)造2D游戲世界地圖的,常見的側(cè)視、俯視、斜45度視角的2D游戲地圖繪制都可以用它來(lái)實(shí)現(xiàn)。
主要思想
將游戲世界的每一種地形繪制成單獨(dú)的整塊,例如RubyAdventure項(xiàng)目資源中就提供了不同地形可以用來(lái)生成Tile的精靈:
用正方形、菱形或者六邊形三者之一作為每一塊的形狀把整塊分隔開,再像瓦片/瓷磚一樣拼接起來(lái)。關(guān)于具體是如何分割的,后續(xù)會(huì)進(jìn)行介紹。
優(yōu)點(diǎn)
提高了美術(shù)資源的重用性,而且用這樣一個(gè)工具可以大大簡(jiǎn)化地圖繪制的工作量。
創(chuàng)建的層級(jí)
一般在一個(gè)2D游戲項(xiàng)目中,Tilemap創(chuàng)建會(huì)分成三個(gè)層次
- background——地圖背景
- bound——邊界
- foreground——前景,主要是地形
2 Unity中的TileMap
Unity中TileMap是作為一個(gè)游戲?qū)ο蟊皇褂玫?,用以?chǔ)存和處理Tile Assets,它更像是一個(gè)系統(tǒng),將Tiles傳輸?shù)狡渌嚓P(guān)的組件中。
Unity中的TileMap由五個(gè)部分組成:
2.1 自動(dòng)父級(jí)Grid 網(wǎng)格
創(chuàng)建一個(gè)Tilemap:
GameObject -> 2D Object ->Tilemap選擇類型
當(dāng)我們按照這個(gè)路徑創(chuàng)建一個(gè)瓦片地圖時(shí),Unity會(huì)自動(dòng)創(chuàng)建一個(gè)當(dāng)前瓦片地圖對(duì)象的父級(jí)對(duì)象(默認(rèn)名稱叫Grid),這個(gè)Grid就相當(dāng)于一個(gè)個(gè)相連網(wǎng)格的合集,每個(gè)網(wǎng)格會(huì)存放一個(gè)Tile,Grid的Cell Size等屬性可以改變網(wǎng)格的尺寸。
2.2?Sprite精靈
在【Unity入門計(jì)劃】基本概念(6)-精靈渲染器 Sprite Renderer介紹了什么是精靈,它其實(shí)就是一個(gè)2D的Texture容器。
2.3?Tile 瓦片
瓦片包含一個(gè)精靈以及兩個(gè)組件。創(chuàng)建方法:
Project窗口?-> Create?-> 2D -> Tiles選擇類型
新建的Tile需要給它一個(gè)精靈,也就是給它一個(gè)紋理。Select中選擇精靈即可。還可以改變它的碰撞體類型,默認(rèn)是Sprite精靈。
2.4?Tile Palette 調(diào)色板
可以快速地進(jìn)行瓦片地圖的繪制,創(chuàng)建方式有兩個(gè):
第一,從Project面板創(chuàng)建
Project窗口?-> Create?-> 2D -> Tile Palette選擇類型
第二,創(chuàng)建了Tilemap后,從Scene打開Palette窗口面板創(chuàng)建
二者都需要選擇存儲(chǔ)的文件路徑。
2.5?Brush 筆刷
調(diào)色板中用以繪制瓦片地圖的工具。
3 Tilemap Renderer 瓦片地圖渲染器
它是Tile Map游戲?qū)ο笾械囊粋€(gè)部分,跟精靈渲染器之于精靈一樣,它也用來(lái)控制當(dāng)前Tile在Tilemap上的渲染,有以下屬性.
3.1 Sort Order 瓦片排列順序
這個(gè)很簡(jiǎn)單,就是規(guī)定每個(gè)Tile在整個(gè)Tilemap上的排列順序。通過(guò)圖層順序體現(xiàn)前后關(guān)系。
3.2 Mode 渲染模式
渲染模式有兩種
?Chunk 分塊渲染
使用分塊模式進(jìn)行批量渲染,這也是默認(rèn)的渲染方式,選擇Chunk后渲染器會(huì)按位置將瓦片進(jìn)行分組,將瓦片上的精靈一起批處理渲染,可以在瓦片地圖中獲得最佳渲染性能。
?Individual 單獨(dú)渲染?
單獨(dú)渲染每個(gè)瓦片并考慮位置和排序順序。
3.3?Detect Chunk Culling Bounds 如何檢測(cè)邊界
有兩個(gè)值,Auto和Manual,自動(dòng)和手動(dòng)。默認(rèn)是自動(dòng)監(jiān)測(cè)。此時(shí)渲染器會(huì)自動(dòng)檢查使用的精靈。當(dāng)選擇Manual時(shí)需要輸入提出邊界拓展的值。
3.4 Mask Interaction 遮罩
這里跟精靈渲染器的類似,就不贅述,用到了就知道是什么作用了。
3.5 Material 材質(zhì)
定義用于渲染精靈紋理的材質(zhì)。
剩下的就是圖層關(guān)系了,不贅述。
4 瓦片地圖的創(chuàng)建流程
4.1 創(chuàng)建Sprite&Tile
首先需要有個(gè)想要成為瓦片地圖元素的瓦片Tile,還需要精靈作為紋理,因此通常會(huì)傳入一個(gè)2D圖片作為精靈。
例如RubyAdventure官方教程中就給出了一個(gè)PNG紋理素材,導(dǎo)入并將Type改為Sprite?
下面是創(chuàng)建Tile,按照2.3中的創(chuàng)建思路創(chuàng)建一個(gè)Rule Tile基礎(chǔ)瓦片,命名為BrickTile,并把剛才創(chuàng)建的精靈賦給他。
4.2?創(chuàng)建Tilemap&Tile Palette
GameObject -> 2D Object ->Tilemap創(chuàng)建Rectangular類型的瓦片地圖,同時(shí)自動(dòng)創(chuàng)建了父級(jí)Grid。
點(diǎn)開Palette Window,新建一個(gè)Palette命名為GamePalette,并將之前創(chuàng)建的Tile拖進(jìn)去。
4.3?可以開始繪制瓦片地圖
4.4 問(wèn)題處理:Grid有縫隙
如下,瓦片沒(méi)有填充滿整個(gè)Grid
更改Tilemap精靈的像素大小,更改成64即可。
修改后的結(jié)果:
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-402577.html
這是初始創(chuàng)建瓦片地圖的方法,但對(duì)于一般項(xiàng)目而言,提供的會(huì)是多個(gè)瓦片的集合,02部分會(huì)介紹關(guān)于Tile的其他方面的內(nèi)容。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-402577.html
到了這里,關(guān)于【Unity入門計(jì)劃】基本概念(8)-瓦片地圖 TileMap 01的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!