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