• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

AI (7/12) 질문입니다.

20.03.13 22:57 작성 조회수 132

0

var direction = target.position - eyeTransform.position;

direction.y = eyeTransform.forward.y;

여기서 forward.y가 이해가 안 갑니다;;

그냥 position.y하면 되지 않나요?

그리고 forward라는 게 정확히 어떤 건지 감이 잘..

eyeTransform의 앞면이라는 게, 로컬 좌표로서 z방향 단위벡터로서 글로벌 좌표로 표시되는 거라는 건가요? 아어 복잡쓰 ㅠㅠ

답변 2

·

답변을 작성해보세요.

1

꿀잼코딩님의 프로필

꿀잼코딩

2021.01.24

203번줄

if(Vecter3.Angle(direction,eyeTransform.forward))> fieldofwiew * 0.5f)가 이해가 안감니다

편의상

(Vecter3.Angle(direction,eyeTransform.forward)= A

fieldofwiew * 0.5f= B

로 부르겠습니다 왜 식인 A>B인가요?

만약  B=30 이라면 A=40이면 안되야 정상인데 저코드 는 작동 되는거 아닌가요?

정면을 기준으로 A의 값을 구하면  시야각 안쪽이니 A<B

맞지 않나요?

0

direction은 방향이지만, position은 위치값이기 때문입니다.

예를 들어 방향으로서 (1, 0, 0)은 오른쪽을 뜻합니다. 그런데 오른쪽(1, 0, 0)을 보고 있는 물체의 위치는 (1, 0, 0)이 아니라 (-10, 0, 0)일수도 있습니다.