강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

hwakyeom님의 프로필 이미지
hwakyeom

작성한 질문수

레트로의 유니티 C# 게임 프로그래밍 에센스

Enemy AI (7/12)

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

작성

·

299

0

var direction = target.position - eyeTransform.position;

direction.y = eyeTransform.forward.y;

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

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

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

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

답변 2

1

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)일수도 있습니다.

hwakyeom님의 프로필 이미지
hwakyeom

작성한 질문수

질문하기