//구글콘솔 광고 추가가

Layer Mask 와 Layer Tag 둘다 유니티에서 추가 해서 사용할 수 있다.


Tag : 각 게임 오브젝트를 구분하는 용도로 사용. OnCollision 과 OnTrigger에서 tag를 이용해 충돌한 오브젝트를 검사할수 있다.

Layer : 충돌 체크를 할수 있다. 또한 카메라 컴포넌트에서 컬링 마스크를 설정하기 위한 용도로 사용될수 있다.


int layerMask = (1 << 레이어 번호);   ex >> int layerMask = (1 << 8);

LayerMask layerMask = LayerMask.GetMask("레이어 이름");  

int layerMask = (1 << 레이어 번호) | (1 << 레이어 번호);

LayerMask layerMask = LayerMask.GetMask("레이어 이름") | LayerMask.GetMask("레이어 이름"); 

  •  | 를 사용하여 또는 이라는 의미로 레이어를 추가 할 수 있음

if (Input.GetMouseButtonDown(0)) //왼쪽 마우스 클릭시
        {
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);

            Debug.DrawRay(Camera.main.transform.position, ray.direction * 100f, Color.red, 1.0f);

            LayerMask layerMask = LayerMask.GetMask("Monster") | LayerMask.GetMask("Wall");

            RaycastHit hit;
            if (Physics.Raycast(ray, out hit, 100f , layerMask))
            {
                Debug.Log($"Raycast Camera : {hit.collider.gameObject.name}");
            }
        }

 

728x90

+ Recent posts