TIL 48 layerMask 오류

qkrrlcks00·2024년 11월 4일

 void PreviewPostionUpdate()
 {
     Ray ray = camera.ScreenPointToRay(new Vector3(Screen.width / 2, Screen.height / 2));
     if (Physics.Raycast(ray, out hit, range, layerMask))
     {
         if (hit.transform != null)
         {
             Vector3 location = hit.point;
             preview.transform.position = location;
         }
     }
 }

크래프팅 시스템을 만들던중 프리뷰 포지션을 내가 쏜 레이 방향에 나타나게끔 했는데
레이가 인식하는 레이어마스크를 프리뷰는 다른걸 써야 했는데 동일한 레이어를 쓰는 바람에 콜라이더를 단 프리뷰가 처음에 땅에 생성되고 지속적으로 콜라이더에 부딪혀 점점 내 시야 앞으로 다가왓다가 다시 시야에 안보이면 땅에 프리뷰가 생기고의 반복이 일어낫다.
그니까 맨처음 레이에 맞은 땅에 프리뷰 생성 > 그 프리뷰에 레이가 맞고 프리뷰앞에 프리뷰 생성 > ... 의 반복이었던것


레이에 맞는 레이어마스크는 Default

프리뷰인 객체의 레이어를 Default에서 Preveiw로 바꿔주어 해결했다

0개의 댓글