1、添加Tilemap Collider 2D 組件
image.png
Tilemap上所有的格子都添加上碰撞器了夸浅,但是我們只是想讓一些固定的物體添加碰撞器例获,比如只想讓河添加碰撞器但指。
image.png
image.png
- 找到Tiles 文件夾溯饵,選中所有除了河的Tile資源
- 選中后修改它們的Collider Type贮竟, 從 Sprite 改為None阱佛, 這樣這些瓦片就不會產(chǎn)生碰撞器組件了
這時我們的Tilemap中除了河之外的瓦片余耽,就沒有碰撞器組件了
image.png
下面需要對河這部分碰撞器做一個優(yōu)化:
河這些碰撞器都是一個一個格子的善榛,它是以tile瓦片為單位去添加碰撞器的辩蛋,這樣雖然沒問題。但是從性能角度考慮不太好
锭弊。
因為這里會使用Unity物理系統(tǒng)堪澎,使用物理系統(tǒng)就會涉及到物理計算,碰撞器越多味滞,物理計算消耗的性能就越大樱蛤。如果場景很大時,計算量就更大了剑鞍,游戲的運行速度就會變慢昨凡,可能導致卡頓。
還有一個問題是蚁署,如此多的小格子碰撞器便脊,我們的Ruby與碰撞器發(fā)生碰撞時,可能卡到某個縫隙中光戈。
為了優(yōu)化上述兩個問題
哪痰,Unity提供一種方式可以把每個瓦片上單獨的碰撞器遂赠,組織在一起變成一個大的碰撞器
,我們只需要在Tilemap節(jié)點上添加一個 Composite Collider 2D
組件晌杰。
image.png
我們發(fā)現(xiàn)跷睦,當我們的Tilemap添加了一個 Composite Collider 2D 組件后,會自動掛上一個 Rigidbody 2D這樣一個剛體組件:
image.png
不想讓它們受力移動肋演,改為Static
抑诸。接著,勾選上Tilemap Collider 2D中的 Used By Composite
選項:
image.png
這時爹殊,就會變成一個整體的大的碰撞器