• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

RaycastHit hit 할당 궁금점

21.07.18 14:29 작성 조회수 282

0

안녕하세요 강의 잘 듣고 있습니다.

10:40초에서
RaycastHit hit;

Physics.Raycast(ray, out hit, 100.0f)

Debug.Log($"{hit.collider.gameObject.name}")에서

두번 째 줄을 지우면 hit이 할당되지 않는다고 합니다.

어떤 방식으로 Physics.Raycast(ray, out hit, 100.0f)가 hit을 할당해주는지 궁금합니다.

답변 1

답변을 작성해보세요.

3

2번째줄을 삭제하면
RaycastHit hit; 이렇게 선언만 하고
Debug.Log에서 hit을 바로 사용하려고 하니 C# 문법에서 이를 잡아줍니다.
(hit = null이건 hit = new 무엇무엇이건 어떤 식으로든 의도적으로 채워줘야겠죠)

Raycast을 사용하게 되면, Raycast 코드 내부에서 out hit으로 넘겨준 hit에다가
hit = 무엇무엇; 이런 식으로 데이터를 채워줄테니 문제가 사라집니다.
out 문법이 헷갈리시면, 복습을 추천 드립니다.