TIL 0214 게임개발 숙련 팀 과제 - 3

강성원·2024년 2월 14일
0

TIL 오늘 배운 것

목록 보기
35/70

오늘 개발한 내용

오늘은 어제 겪은 문제를 해결했다. 생각보다 간단히 원인을 파악했고(구글링) 해결도 빠르게했다.

미리보기 오브젝트 다가오는 문제 해결

미리보기 오브젝트에도 박스 콜라이더를 두었었다.

  1. Ray를 처음 쏠 때는 목표지점에 도달해서 미리보기 오브젝트를 위치시키고

  2. 그 뒤에 쏠 떄는 오브젝트의 박스 콜라이더에 부딪히고 그 부딪힌 지점에 오브젝트를 옮긴다.

이런 식으로 계속 Ray의 원점으로 가까워지는 문제였다.

일단은 박스 콜라이더를 비활성화 시켜주니 문제는 해결됐다.

같은 문제 및 해결이 적힌 페이지


그런데 박스 콜라이더는 건설 가능 여부를 판단하는 것에 필수 요소라서 수정이 좀 필요했다.

private void PreviewPositionUpdate()
{
    if(Physics.Raycast(player.position, player.forward, out hitInfo ,range, layerMask))
    {
        if (hitInfo.transform != null) 
        {
            Vector3 point = hitInfo.point;
            point.

            go_Preview.transform.position = point;
        }
    }
}

Physics.Raycast()의 인자로 레이어 마스크를 주고 있는데, 해당 레이어 마스크의 오브젝트에 레이가 쏘였을 때에만 건축이 가능하도록 해준다.

  1. Terrain레이어 마스크를 추가해주고

  2. 위 코드의 layerMaskTerrain으로 설정해준다.

그러면 미리보기 오브젝트의 박스 콜라이더를 끄지 않아도 정상 작동한다.

profile
개발은삼순이발

0개의 댓글