프로그래밍 공부!!

Raycash LayMask 용도 본문

프로그래밍/Unity

Raycash LayMask 용도

StingW 2018. 6. 2. 01:05
레이어 마스크가 헷갈려서 정리 해두자.

LayMask의 용도는 해당 레이어를 무시하거나 그 특정 레이어만 작동 하도록 설정 할수있다.

-1는 모든 레이어를 충돌하게 한다.
 

ex 1)

int layMask = -1 - ((1 << 8) | (1 << 9)); //전체 충돌에서 8번과 9번 레이어만 충돌을 무시한다.


layMask = ~layMask; //둘만 해당한다. //8,9번만 무시 출동에서 반전시키면 8,9번 레이어만 충돌하면 다른것은 무시하는것으로 됨.


// 사용법.

Vector3 view = target.position - transform.position; RaycastHit hit; if(Physics.Raycast(transform.position, view, out hit, float.PositiveInfinity, layMask)) { Debug.Log(hit.transform.name); }



ex 2)

int layMask = -1 - ((1 << LayerMask.LayerToName("Ground")) | (1 << LayerMask.LayerToName("Enemy");));

//전체 충돌에서 Ground 레이어와 Enemy 레이어만 충돌을 무시한다.


layMask = ~layMask; //둘만 해당한다. //Ground와 Enemy만 충돌함


// 사용법.

Vector3 view = target.position - transform.position; RaycastHit hit; if(Physics.Raycast(transform.position, view, out hit, float.PositiveInfinity, layMask)) { Debug.Log(hit.transform.name); }



'프로그래밍 > Unity' 카테고리의 다른 글

EditorWindow - Editor  (0) 2018.06.07
Property Draw 사용하기 - Editor  (0) 2018.06.03
Editor 시작하기 - Editor  (0) 2018.02.22
Editor 사용 함수들(추가중)  (0) 2017.12.08
Unity 실행시점  (0) 2017.12.07
Comments