코딩/유니티
[유니티] 레이어가 레이어 마스크에 포함되어 있는지 확인하기
Hun die
2024. 2. 6. 15:39
public LayerMask mask;
if((mask & (1 << gameObject.layer)) != 0)
{
Debug.Log("레이어에 포함 O");
}
else
{
Debug.Log("레이어에 포함 X");
}
LayerMask와 Layer는 모두 int로 저장된다. 그리고 Unity는 32개까지의 레이어를 지원하며 int는 32 bits로 같다.
즉 1을 그 Layer의 위치로 shift하고 LayerMask의 해당 위치가 1인지 체크해 레이어에 포함되어 있는지 확인한다.