본문 바로가기
유니티 공부/Unity

Unity - Scene전환 후 Player가 직진만 하고 좌우, 회전 이동 안하는 오류 해결 방법(Quaternion.Slerp)

by 코딩하는 돼징 2023. 7. 6.
반응형

Scene전환 후 Player가 직진만 하고 좌우 이동 및 회전을 안하는 오류가 발생한 경우

PlayerController.cs파일에서 Quaternion.Slerp을 사용했는지 확인해보자

 

Quaternion.Slerp과 FixedUpdate의 관계

Player이동과 회전부분을 FixedUpdate메서드안에서 이루어지도록 코드를 작성하였다.

Quaternion.Slerp는 보간을 위해 시간에 따라 값이 변경되는 함수이기 때문에 FixedUpdate의 호출 빈도와 Quaternion.Slerp가 서로 충돌하여 예기치 못하는 문제가 발생할 수 있다.

결론

그러므로 FixedUpdate함수안에서 Quaternion.Slerp를 사용할때는 주의하자

Quaternion.Slerp을 굳이 사용하지 않아도 될 경우 transform.rotation으로 바꿔 사용하는 것을 추천한다.

 


Quaternion.Slerp 알아보러 가기

 

Unity- Quaternion.Slerp()

Lerp에 대해 알아보러 가기 유니티 - Mathf.Lerp() 1. Lerp(Linear Interpolation) 두 값을 선형 보간(linear interpolation)하여 새로운 값을 계산 매개변수 a : 시작 값 b : 종료 값 t : a와 b 실수 값 사이의 보간 비율

code-piggy.tistory.com


FixedUpdate 알아보러가기

 

 

Unity- Update vs FixedUpdate vs LateUpdate

Update() 스크립트가 enabled 상태일때 프레임마다 실행된다. 물리 효과가 적용되지 않은 오브젝트의 움직임이나 단순한 타이머, 키를 입을 받을 때 사용된다. Update는 불규칙한 호출이므로 물리 엔

code-piggy.tistory.com

 

반응형

댓글