unity camera.cullingMask 相機層
阿新 • • 發佈:2018-12-21
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");
}