5. 1인칭 카메라 제어
• 마우스가 움직이면 시야전환
• 마우스 위치값에 따라 Yaw / Pitch를 회전
• 키보드의 입력에 따라 카메라(=플레이어) 이동
• Forward 벡터 방향을 기준으로 앞/뒤/좌/우로 이동
• deltaTime에 의한 물리적 이동을 하는 것이 자연스럽다.
7. B-Spline 곡선상에서 카메라 이동
• B – Spline 곡선
• 함수에 제어점을 집어넣으면 곡선 나옴
• 적당히 분할하여 동적으로 계산
• 카메라를 3차원 B-Spline 선상으로 이동
• 카메라의 위치는 OK
• 카메라의 시선 방향은 ??
8. B-Spline 곡선상에서 카메라 방향제어
• View Vector
• 1. 다음 이동 위치 – 현재 위치 = View Vector
• 2. Spline함수를 미분하여 접선을 구하는 방법
• Up Vector
• 구해진 두 개의 View Vector를 외적하여 right vector를 구하고 다시 외적 OK?
9. Catmull-Rom 곡선
• Spline 그림을 보면 알겠지만 안타깝게도 제어점에 카메라가 도달할 수는 없다.
• 제어점을 반드시 지나가는 곡선이동을 하고 싶다면 다른 방법이 필요하다.
• 그 방법이 Catmull-Rom 곡선
• 곡선 품질은 좀 떨어져도 반드시 제어점을 지나간다.
13. 사원수(Quaternion)
• 오일러 회전 변환에서 Gimbal Lock 현상 발생 (구글링 요망)
• http://skmagic.tistory.com/entry/%EC%A7%90%EB%B2%8C%EB%9D%BDgimbal-lock
• 이상한 수학자가 허수 표현식을 사용해서 회전을 표현한 것이 사원수
• 짐벌락 없음
• 이론적/수학적 이해가 잘 안되면 걍 시키는대로 가져다 쓰자.