유니티에서 제공하는 LayerMask를 통해 해당 레이어와 오브젝트의 레이어를 비교한 뒤 충돌 처리를 하고자 한다.
LayerMask는 레이어 전체 또는 다수의 레이어를 선택할 수 있는 Flag 이기 때문에 단순 비교연산자 '==' 으로 비교할 수 없으며, 비트 연산자 '&' 를 사용해야 한다.
using UnityEngine;
public class LayerMaskSample : MonoBehaviour
{
public LayerMask targetLayerMask;
private void OnTriggerEnter(Collider other)
{
if ((targetLayerMask & (1 << other.gameObject.layer)) != 0)
{
// 충돌 처리
...
}
}
}
'게임 개발 공부 > Unity' 카테고리의 다른 글
빌드 리포트 인스펙터(Build Report Inspector) (1) | 2024.09.07 |
---|---|
Unity Script에서 HEX(Hexadecimal) 값으로 Color 변환하는 법 (1) | 2024.01.28 |
유니티 드로우콜 (0) | 2022.07.08 |
New InputSystem 에서 마우스 스크롤(휠) 값으로 카메라 줌 만들기 (0) | 2022.02.20 |
Cinemachine Free Look Camera 민감도 조절 (0) | 2022.02.20 |