-
24년 6월 7일 TIL공부 기록 2024. 6. 8. 17:00
Quaternion.Slerp 3번 째 매개변수는 0~1 사이에 숫자여야 하며, 문을 점진적으로 회전시키기 위해 반복 호출하면서 이 값을 증가시켜야 한다.
왜냐하면 문을 열려고 하고자 할 때 Quaternion.Slerp을 사용 하게 되면 시작 점과 끝 점의 거리를 구하고 거기서 3번째 인자만큼의(0~1, 1이면 끝까지) 회전을 주게 된다. 0.1로 하면 아래만큼 이동.
이 때 코루틴이나 반복문을 써서 계속 0.1씩 이동 하게 한다면, 줄어진 거리에서의 거리를 다시 계산 할 것이고 거기서 또 0.1만큼 움직이게 되고 그걸 계속 반복 해서 영원히 0.1만큼 움직이게 될 것이다.
그래서 이러한 문제를 해결하기 위해 이 0.1이라는 숫자를 나중에 1이 되어서 계산한 거리를 한 번에 이동하게 함으로써 반복을 멈추게 하는 법이 있다.
while (time < 1f)
{
time += Time.deltaTime * rotationSpeed;
door.localRotation = Quaternion.Slerp(doorRotation, targetRotation, time);
yield return null;
}그래서 이러한 코드로 Quaternion.Slerp를 사용 하면 생각 한대로 구현을 할 수가 있게 된다.
Render Texture
'공부 기록' 카테고리의 다른 글
24년 6월 10일 TIL (0) 2024.06.10 24년 6월 9일 (0) 2024.06.09 24년 6월 5일 TIL (0) 2024.06.05 24년 6월 4일 TIL (0) 2024.06.04 24년 6월 3일 TIL (0) 2024.06.03