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

루테닛댄님의 프로필 이미지
루테닛댄

작성한 질문수

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

LayerMask

LayerMask 여러 값 설정 관련

작성

·

250

0

안녕하세요

강의 때 비트연산 대신 LayerMask구조체를 활용하여 LayerMask 관리를 하는 방법을 배우고 있는데요,

여러 Layer를 동시 적용시킬 때 사용하는 연산자의 관점에서

하기 두 가지 방법의 차이가 있는지 궁금합니다.

여러 Layer를 동시 적용시킬 때 강의에서는  "|" 를 이용한 or문으로 연산을 하라고 하셨는데

이것저것 시도해 보았더니 "+"를 이용하여 연산하여도 Debug 상 값이 같게 나오더라고요 (위 연산의 경우 둘 다 768)

"|" 대신 "+"를 사용하여도 관계가 없는지 궁금합니다.

감사합니다.

답변 2

3

0010 | 0100 = 0110 
0010 + 0100 = 0110

0011|0101 = 0111
0011+0101 = 1000

이 차이입니다.

2

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

비트플래그에서 서로 겹치는 비트가 없으면 상관 없지만,
그렇지 않다면 문제될 수 있습니다.
위에서 mask2 + mask2를 할 때 결과물을 살펴보시기 바랍니다.

루테닛댄님의 프로필 이미지
루테닛댄

작성한 질문수

질문하기