인프런 커뮤니티 질문&답변

kunwoo3121님의 프로필 이미지

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

LayerMask

LayerMask를 사용하면 왜 최적화가 되는지 잘 이해가 되지 않습니다.

해결된 질문

23.03.03 09:36 작성

·

412

1

LayerMask를 통해 RayCasting을 하면 하지 않았을 때보다 최적화가 된다고 하셨는데 왜 그런지 잘 이해가 되지 않습니다. 혹시 더 자세하게 알려주실 수 있나요?

답변 1

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

2023. 03. 03. 13:08

예를 들어 Ray를 한 번 쏘는데 물체가 1만개라면,
그 1만개랑 모두 피격 판정을 해야 하는데요.
심지어 물체가 일반 구형이 아니라, 조금 더 복잡한 Mesh 형태라면 연산 부하가 더 심합니다.
(mesh는 삼각형이 몇백~몇만개 모인 집합이기 때문)

LayerMask를 설정하면 자기랑 충돌 판정을 할 물체를 지정할 수 있는데
몬스터랑만 충돌 판정이 필요한 경우 (ex. 스킬)
벽이나 지형지물이랑만 충돌 판정이 필요한 경우 (ex. 카메라)
등으로 세분화해서 물체 판정까지 들어가지 않고 걸러버릴 수가 있게 됩니다.

kunwoo3121님의 프로필 이미지
kunwoo3121
질문자

2023. 03. 03. 15:03

그러면 LayerMask를 설정하면 설정된 오브젝트를 제외한 나머지 오브젝트들은 Ray가 지나가도 아무 연산을 하지 않는다고 이해하면 되는걸까요?