코드 및 공부/카메라

Cinemachine과 Pixel Perfect Camera

ekrxjvpvj0110 2024. 11. 25. 23:49

유니티 버전 - 2022.3.17f1

 

 

 

 

 

목차


  • Lens -> Ortho Size
  • Cinemachine 설정
  • Camera 설정

 

 

 

 

 

Lens -> Ortho Size


16 PPU의 스프라이트를 이용하고, 16:9 비율을 사용한다고 가정하겠습니다

 

A는 Ortho Size입니다, 스크린의 1/2 크기를 나타냅니다

B는 세로 픽셀 개수 입니다, 현재 270 픽셀을 보여주고자 합니다

C는 가로 픽셀 개수 입니다, 현재 16:9 비율의 픽셀을 보여주고자 합니다

 

A를 구하기위해서는 먼저 화면에 보여주고싶은 픽셀의 개수를 생각해봐야합니다, 세로로 270픽셀을 보여주는 기준입니다

 

화면의 전체 높이(B)는 270이고, 270 = X * 16 일 것입니다

 

X의 값을 구해보면 16.875라는 값이 나오고, 자연스럽게 A(Ortho Size)는 그의 절반인 8.4375가 나옵니다

 

마지막으로 C는 16:9 비율이기 때문에 270 * 16/9 = 480픽셀이 나옵니다

 

결과적으로 세로로 270개의 픽셀을 보여주게된다면 가로로 보여주는 픽셀은 480개가 됩니다

 

 

 

 

 

Cinemachine 설정


Ortho Size를 구했으니 Cinemachine에서 설정하여주겠습니다, 새로운 Virtual Camera를 만들어줍니다

 

 

 

Lens의 Ortho Size를 8.4375로 설정해줍니다

 

 

 

 

 

Pixel Perfect Camera


메인 카메라의 Add Component를 이용하여 Pixel Perfect Camera를 추가해줍니다

그리고 Assets Pixel Per Unit을 16, Reference Resolution을 480 X 270으로 설정합니다

마지막으로 Crop Frame을 Stretch Fill, Filter Mode를 Retro AA로 설정합니다

 

 

 

Retro AA와 Point의 차이입니다

업스케일 단계 기준 해상도의 배수로 먼저 업스케일 후 최종 변환 바로 디스플레이 해상도로 업스케일
필터 방식 Point → Bilinear Point (Nearest Neighbor)
픽셀 일관성 배수를 유지하므로 픽셀 크기 왜곡 없음 배수 유지 안 됨, 왜곡 가능
외곽선 품질 부드러운 외곽 (Bilinear로 처리) 날카로운 외곽 (픽셀 선명)
결과 스타일 레트로 느낌 + 부드러움 순수 레트로 스타일, 날카로운 픽셀

 

 

 

 

 

마치며


Pixel Perfect Camera와 Filter Mode의 자세한 설명은 아래를 참고 바랍니다, 좌측에서 프로젝트에 맞게 검색하시길 바랍니다

 

 

이상입니다