1. 程式人生 > >unity camera.cullingMask 相機層

unity camera.cullingMask 相機層

int layer1

int layer2

1.開啟某個層

camera.cullingMask= 1 << layer1

2.關閉某個層

camera.cullingMask= 0 << layer2

3.開啟多個層

camera.cullingMask= 1 << layer1  |  1 << layer2

4.關閉多個層

camera.cullingMask= ~(1 << layer1  |  1 << layer2)

5.開啟Enemy層

(1)camera.cullingMask |= 1 << LayerMask.NameToLayer("Enemy")

(2)camera.cullingMask = (int) 1<<LayerMask.NameToLayer("Enemy")

6.關閉Enemy層

camera.cullingMask &= ~(1 << LayerMask.NameToLayer("Enemy"))

7.射線

LayerMask mask =  ~(1<<3|1<<7);  

void Update() {  

 if (Physics.Raycast(transform.position, transform.forward, 1000, mask.value))  

        Debug.Log("hit");  

   }