inflearn logo
강의

Course

Instructor

Game Mathematics that Supports Game Engines

3D space

공간의 카메라 시스템에 대해

369

qkrrudgh20

1 asked

0

3차원 월드 공간 원점에 물체를 두고, 이 물체도 오른손 좌표계를 따른다는 것까지 이해가 갔습니다.

 

Q1. 카메라도 하나의 물체라고 생각하면 될까요?

 

어찌 되었든, 물체의 양의 z축 방향에다가 카메라를 설치합니다.

 

물체와 카메라의 z축 방향은 아직 동일한 상태인데, 물체의 정면을 바라보기 위해서 

 

카메라를 180도 무작정 회전시킵니다. 근데, 이러면 카메라의 X축 방향과 물체의 X축 방향이 서로 정반대라

 

Q2. 카메라를 통해 물체를 바라보는 사람 입장에선, X축에 대해서 반전되어 보인다고 이해하면 될까요?

 

그렇기 때문에, 일단 다시 Y축에 대해 카메라를 180도 회전 시킵니다.

("다시"라고 적은 이유는 앞에 무작정 180도 회전 시킨것도 Y축에 대해 180도 회전했던것이라고 생각되기 때문입니다.)

 

Q3. 그렇게해서 보는 방향은 Z축의 음의 방향(즉 카메라의 뒤로)으로 물체를 바라보는 단점이 있지만,

장점은 X Y축이 우리에게 익숙한 데카르트 좌표계로 보여지게 된다. 라고 이해하면 될까요?

게임수학

Answer 1

1

ideugu

네 잘 이해하셨습니다~ 

카메라는 트랜스폼을 가지고 있는 즉 고유한 로컬 공간을 가지는 하나의 물체(게임오브젝트)입니다. 

카메라 트랜스폼의 지정은 월드 공간을 중심으로 개발자가 직접 하겠지만, 렌더링 과정에서 화면을 그려낼 때에는 카메라에 설정된 트랜스폼을 중심으로 월드 내 모든 물체의 트랜스폼을 재계산해주어야 합니다. 

이 때 카메라가 만드는 평면의 좌표계를 우리에게 익숙한 오른쪽 X축, 위쪽 Y축을 사용하면 직관적이기 때문에  일부러 Z축이 뒤를 향하는 공간을 설계하는 것이지요. 

( 만일 왼손좌표계로 뷰 공간을 구축한다면 Z축은 앞을 향하게 됩니다.  저는 OpenGL 기준으로 보편적인 오른손 좌표계로 설명했는데 꼭 그래야 할 이유는 없습니다.  )

0

qkrrudgh20

아하.. 감사합니다..! 물체가 그럼 카메라에서 멀리 달아날수록 -z 값을 가지게 된다는 단점?아닌 단점정도만 있군요..!

 

왼손 좌표계로 뷰 공간을 구축한다면, 카메라에서 멀리 달아날수록 z 값이 커지겠네요..!

 

무사히 완주 마치고 질문글 하나만 더 적어보겠습니다ㅎㅎ.. 항상 감사합니다!

Lighting 추가하고 나니 프레임이 많이 떨어지는데 원래 이런 건가요?

0

510

0

Deferred Rendering 에서 조명에 Culling이 일어나는 것 같습니다.

1

534

1

static_pointer_cast와 static_cast의 차이가 무엇인가요?

0

1336

1

Engine.lib 파일을 포함 불가

0

604

1

셰이더 VS_Main에서 행렬 곱해줄 때

0

481

2

1:05분 질문(1시간 5분)

0

295

0

CKSoftRenderer 소스코드를 이해하는 방법에 대한 질문입니다.

0

524

1

20강 마지막 부분에서 "다음시간에는 ..." 으로 끝났는데

0

667

1

"탄젠트 함수가 전단사 함수가 될 수 있는 정의역 구간은?" 다음에 소괄호

0

443

1

학습자료는 책을 사면 되는건가요???

0

574

3

28:43초에 추가 설명 부탁드립니다.

0

444

1

원근투영 절두체에 관해서 질문 드려도 괜찮을까요?

1

590

2

항등원

0

453

1

혹시 직교투영에 대해서도 설명해주실 수 있으실까요?

0

1337

1

고급 수학

1

468

1

간절히 원하던 강의네요!

0

250

1

전사와 일반차이

0

278

1

사칙 연산의 재구성 에대해서

0

409

1

이번에 서적 출간하신거 관련 질문드려요

1

326

1

[18.외적] 카메라의 z로컬축을 구한후에 x로컬을 구하는 방법

2

343

1

강의 노트가 어디 있나요?

1

342

1

코드 작성

0

378

2

혹시 쉐이더 강의

1

370

1

강의 노트를 공유해주실 수는 없을까요?

1

370

1