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

작성자 없음

작성자 정보가 삭제된 글입니다.

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

Rotation

Slerp 함수에 관한 질문

21.03.31 23:12 작성

·

253

0

Slerp 함수를 사용해서
북쪽을 본 상태에서 남쪽으로 방향으로 전환을 하게 되면 그 즉시 방향이 남쪽으로 변환이 되는건가요?

            transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation(Vector3.back), 0.5f);

            transform.position += Vector3.forward * Time.deltaTime * _speed;

코드를 살펴보고 실행결과를 보면  캐릭터가 북에서 남으로 자연스럽게 움직이지만 월드 좌표 방향으로 즉시 전환되는 듯 합니다. (즉시 전환되기 때문에 ransform.position += Vector3.forward * Time.deltaTime * _speed; 이 코드가 실행됐을 때 월드좌표 방향으로 가는 것이 아닐까 하는 생각입니다..)

제 개인적인 추측이지만 궁금해서 질문 올립니다.

감사합니다.          

답변 1

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

2021. 04. 01. 01:06

position에 직접 수치를 더해줄 때는,
내가 바라보는 방향과는 아무런 상관이 없습니다.
말 그대로 World Position을 우리가 원하는 값으로 세팅해주는 것입니다.

참고로 Vector3.forward는 [내가 바라보는 앞방향]을 의미하는게 아니라
말 그대로 (0, 0, 1)이라는 벡터를 의미합니다.
(0, 0, 1)은 북쪽을 의미하기 때문에
그 방향으로 position을 더해줬으니 북쪽으로 이동하게 됩니다.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기