[ Unity 2D ] 教學 #12 – Layer(層級)

標籤: , , ,

另一個與Tag很像的東西叫做Layer,是層級、階層的意思,在Unity中與Tag有同樣的功能,但是Layer會牽扯到碰撞判定。

Layer的設定方式與Tag一致,位置就在Tag的右邊而已

比較不同的是,程式碼中的layer是int,若要在程式碼中去判斷Layer必須使用數字或著將layer轉換成字串,程式碼如下

if (gameObject.layer == 0)
{

}
if (gameObject.layer == LayerMask.NameToLayer("Default") )
{
    
}

 

將Layer轉換成字串,或著將文字轉換成Layer,可以使用LayerMask的NameToLayer(字串轉數字)函數與LayerToName(轉字串)

 

點擊工具列中Edit->Project Settings->Physics2D 可以設定2D物理

在Physics2D中會看到有個倒三角形,這是不同Layer之間的碰撞設定,若將勾取消掉兩個層級就不會互相碰撞,不會觸發OnCollision與OnTrigger,在製作一些碰撞判定複雜的遊戲時很常要設定這些東西。

例如讓玩家會撞到牆壁,而怪物不會撞到牆壁,就可以將玩家、牆壁、怪物設成3個Layer(A、B、C),A跟B的碰撞勾選、B跟C則不勾選,就能做到這種效果。

 

[ Unity 2D ] 教學 #13 – Camera(攝影機)

 



相關文章

教學 #05 – 物件創造、物件銷毀 這次來講到物件創造與物件銷毀,我們繼續使用先前的小飛兵專案來教學,這次要做的功能是「按下鍵盤Z發射子彈」並且「子彈超過一定距離時銷毀」,在這次教學中會使用到先前的移動與鍵盤事件。 創造...
教學 #02 – 基本的移動 在Unity中,所有與位置、旋轉、縮放相關的功能都由Transform這個組件控制 而transform這個屬性便是用來抓取遊戲物件(GameObject)上的Transform組件 以...
教學 #07 – 碰撞器、觸發器、剛體(二)... ---Rigidbody - 剛體--- 想必第一次看到這詞的人一定會問:「剛體是什麼?」這東西不像碰撞器與觸發器那樣可以從字面上來解讀,想知道完整解釋的話可以查查維基百科。 大...
教學 #15 – 發佈設定 點擊工具列中的File -> Build Settings 開啟發佈設定的視窗 開啟後會看到一大堆選項跟按鈕可以點,很明顯的左下角是發佈的平台,比較值得一提的有 ...