반응형
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
반응형
'유니티 공부 > Unity' 카테고리의 다른 글
Unity - 3D GameObject를 버튼 처럼 사용하기 (0) | 2023.07.07 |
---|---|
Unity - 물체와 닿았을 때 선택창 띄우는 법 (0) | 2023.07.06 |
Unity - RangeAttribute을 사용해서 범위 지정하기 (0) | 2023.07.04 |
Unity - Grid Layout Group (0) | 2023.06.21 |
Unity - AsyncOperation을 사용해서 Scene 전환하면서 로딩화면 나오게 하는 법 (0) | 2023.06.18 |
댓글