프로그래밍 공부!!
Raycash LayMask 용도 본문
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 |