ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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
Designed by Tistory.