헛둘이 2023. 5. 2. 23:38

Camera 원근 투영 활용

- 원근 투영은 초기 엔진 작업 시에 만들어두긴 했는데, 2D 게임이라 사실상 직교투영만 주로 사용해왔다.

- 지금 원근 투영을 사용하는 이유는 배경을 그릴 때 깊이 값을 다르게 줘서 멀리 있는 물체는 더 천천히 움직이도록 해서 깊이감을 형성하기 위해서이다.

- 이를 위해 카메라를 1개 더 추가하고, 해당 카메라는 Background Layer만 찍도록 했다.

- 예를 들어 밤을 배경으로 하는 맵을 만든다고 가정했을 때, 건물은 비교적 가까이 있지만, 달과 별은 저 멀리 있다.

- 여기서 플레이어가 움직일 때 건물과 달과 별이 같이 움직인다면 달과 별이 멀리 있다고 느껴지지 않을테니, 이 부분을 구현하기 위해 원근 투영을 사용하는 것이다.

- 원근 투영을 사용했을 때 가까이 있는 물체가 멀리 있는 물체보다 빨리 움직이게 된다.

*원근 투영은 물체의 거리와 카메라 사이의 거리에 따라 크기를 조정한다

*따라서 가까이 있는 물체는 크게 보이고, 멀리 있는 물체는 작게 보인다.

*가까워져서 크게 보이는 상태의 물체를 사각형이라고 가정하고, 자신의 한 변의 길이만큼 움직인다고 했을 때,

가까운 물체는 한 변이 그만큼 많이 움직일 것이다 (멀리 있는 물체는 그 반대)

 

내일 할 일

- 상점 맵 구현 (원근투영을 통한 깊이감 부여)