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인지 체크해 레이어에 포함되어 있는지 확인한다.
'코딩 > 유니티' 카테고리의 다른 글
A* 알고리즘 (0) | 2024.05.14 |
---|---|
2D 시야각 (0) | 2023.06.08 |
[유니티] 3D 랜덤 맵 생성 3 (0) | 2023.05.26 |
[Unity] 3D 랜덤 맵 생성 2 (0) | 2023.05.23 |
[Unity] 3D 랜덤 맵 생성 1 (0) | 2023.05.23 |