코딩/유니티

[유니티] 레이어가 레이어 마스크에 포함되어 있는지 확인하기

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인지 체크해 레이어에 포함되어 있는지 확인한다.

'코딩 > 유니티' 카테고리의 다른 글

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