10.20

신승빈·2022년 10월 20일
0

KGCA 수업

목록 보기
53/128

Camera

기본적으로 Front, Top, Side, User 등 4개 이상을 사용

오일러각


x : Pitch, y : Yaw, z : Roll

RotateYawPitchRoll()

DX에서는 일반적으로 Roll-Pitch-Yaw순으로 회전(덜 사용하는 순서)
매 연산마다 Yaw-Pitch-Roll을 구하는것보다 미리 식을 계산해놓은 후 연산
연산된 Matrix에서 역으로 Yaw-Pitch-Roll을 구할 수 있어야한다

짐벌락

3개의 축 중 회전으로 인해 2개가 일치하는 경우 1개 축의 자유도가 상실되는 현상

Quaternion을 이용해 해결할 수 있음

임의의 축에 대한 회전

x, y, z축을 포함해서 임의의 축에 대하여 회전하는 상황

회전 중심을 사용한 회전

임의의 위치를 중심으로 Object 회전
그냥 SRT중첩과 다를게 있나?

사원수(Quaternion)

1개의 실수부, 3개의 허수부로 이루어진 값
행렬보다 필요한 저장공간이 적고, 짐벌락이 발생하지 않음
단, GPU는 Vector단위로 연산이 가능하므로 Quaternion을 Matrix로 변환해야 함
교환법칙 성립하지 않음(교환 시 -1 추가), ijk = -1
사원수의 곱 = 회전의 합

보간

선형보간(LERP)와 구면선형보관(SLERP)는 다름

Camera Frustum

제외 처리 작업

inl파일

선언과 정의가 함께 있어야 하는 함수를 분리할 수 있게 해주는 기법
inline 함수, template 함수에서 유용

Reference : https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=nawoo&logNo=220409027910

DebugCamera-ModelCamera

ModelCamera

Camera를 Target Object에 고정한 후, Camera는 고정, Object를 직관적으로 회전시킴

DebugCamera

Camera가 1인칭으로 조작하여 움직임

profile
이상을 길잡이 삼아 로망을 추구합니다.

0개의 댓글