LayerMask 實際上是一個位碼操作,在Unity3D中一共有32個Layer層,並且不可增加。
Unity 中的使用:
LayerMask mask = 1 << 3;表示開啟Layer3。
LayerMask mask = 0 << 8;表示關閉Layer8。
LayerMask mask = 1<<1|1<<9;表示開啟Layer1和Layer9。
LayerMask mask = 0<<4|0<<5;表示關閉Layer4和Layer5。
LayerMask mask = ~(1 << 9) 開啟除了第9之外的層。
也就是說
也可以使用層的名稱設定,例如:
LayerMask mask = 1 << LayerMask.NameToLayer(“TestLayer”); 表示開啟層名“TestLayer” 的層 。
LayerMask mask = 0 << LayerMask.NameToLayer(“TestLayer”); 表示關閉層名“TestLayer” 的層 。