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");  

   }  

猜你喜欢

转载自blog.csdn.net/u012909508/article/details/84306580