[새로 배운] 시네머신, 포스트프로세싱

가이등·2022년 9월 19일
0

John Lemon 프로젝트

목록 보기
4/8

이 글은 다음의 내용을 참고하여 작성하였습니다.


⚡ 시네머신(Cinemachine)이란

시네머신은 카메라 관련 기능을 제공하는 유니티 패키지이다.

영화를 찍을 때 한 장면을 여러 시점의 카메라로 찍어서 사용하는 것을

유니티에서도 가능하게 해주는 기능이라고 한다.

조금 더 구체적으로는 씬에 하나의 Brain Camera와 하나 이상의 Virtual Camera를 설정하고, Brain Camera가 상황에 따라 하나의 Virtual Camera를 활성화하여 해당 Virtual Camera가 비추는 화면을 보여준다.

더 자세한 내용은 여기.

Window > Package Manager 선택 > Cinemachine > Install 로 설치가 가능하다.


⚡ 브레인 카메라(Brain Camera) 설정

Main 카메라 오브젝트에 Cinemachine Brain 컴포넌트를 적용한다.


⚡ 가상 카메라(Virtual Camera) 생성


Cinemachine > Create XXX Camera 로 가상 카메라 오브젝트를 생성할 수 있다.

Virtual Camera 외에도 다양한 종류의 카메라가 있으나, 해당 글에서는 Virtual Camera에 대해서만 다룬다.

이외의 카메라에 대한 정보는 여기를 참고하면 좋을 것 같다.


⚡ 가상 카메라 컴포넌트 설정

생성된 가상 카메라 오브젝트에 Cinemachine Virtual Camera 컴포넌트를 적용한다.

Follow 에서 따라갈 게임 오브젝트를 지정한다. 가상 카메라는 항상 해당 오브젝트를 기준으로 카메라를 자동으로 움직인다.

Look At 에서 가상 카메라가 조준할 게임 오브젝트를 지정한다. 가상 카메라는 항상 해당 오브젝트를 기준으로 카메라를 자동으로 회전한다.

Body 에서 카메라가 움직일 때의 설정을 조작할 수 있다.

Aim 에서 카메라가 Look At에 등록된 오브젝트를 바라볼 때의 설정을 조작할 수 있다.




⚡ 포스트 프로세싱(Post Processing)이란

포스트 프로세싱이란 사진에 필터를 적용하듯이 게임 이미지를 화면에 렌더링하기 전에 필터 및 효과를 적용하는 작업이다.

여기에서는 프로젝트에 소개된 내용을 정리해보려고 한다.

더 자세한 정보는 여기.


⚡ 포스트 프로세싱 레이어 생성하기


PostProcessingVolumes 라는 이름의 레이어를 하나 생성한 후,
Main Camera 오브젝트의 레이어를 PostProcessingVolumes로 설정한다.


Main Camera 오브젝트에 Post-process Layer 컴포넌트를 설정한 후,
Volume blending > Layer 에서 PostProcessingVolumes로 설정한다.


⚡ 안티 엘리어싱


Anti-aliasing > Mode 에서 FXAA로 설정한다.
Anti-aliasing > Fast Mode를 체크한다.




⚡ 포스트 프로세싱 볼륨 생성하기

빈 오브젝트를 새로 생성한 후, Layer를 PostProcessingVolumes로 설정한다.
해당 오브젝트에 Post Process Volume 컴포넌트를 추가한다.

Profile 옆의 New를 클릭하여 새로운 프로필을 생성한다.

이후 하단의 Add effect..에서 다양한 효과를 추가할 수 있다.


⚡ 컬러 그레이딩(Color Grading) 효과 추가하기

Add effect… > Unity > Color Grading 으로 효과를 추가할 수 있다.

컬러 그레이딩(Color Grading)이란 렌더링된 뷰의 밝기, 콘트라스트 및 컬러를 변경할 수 있는 방법으로, 찍어놓은 사진에 필터를 적용하는 것과 같다고 한다.

먼저 톤매핑을 위해 Tonemapping에서 Mode > ACES로 설정한다.

Tone > Post-exposure(EV) 값을 조절하여 밝기를 조정할 수 있다.

Trackballs 에서 특정 영역의 컬러를 조절할 수 있다.

Lift 는 그림자의 컬러에 영향을 주고
Gain 은 가장 밝은 하이라이트를 변경하며
Gamma 는 이미지의 중간 범위 컬러에 대한 모든 부분에 영향을 준다.


⚡ 블룸(Bloom) 효과 추가하기

Add effect… > Unity > Bloom 으로 효과를 추가할 수 있다.

블룸(Bloom)은 광원에 반짝거리는 효과를 부여한다.

좌 상단의 All 버튼을 누르면 모든 항목이 활성화된다.

Intensity에서 광원의 세기를 설정할 수 있다.

Threshold 값을 조절하여 오브젝트에 블룸 효과를 추가할 수 있다.
이 값을 낮추면 블룸 효과에 덜 밝은 픽셀을 추가한다.


⚡ 앰비언트 오클루전(Ambient Occlusion) 효과 추가하기

Add effect… > Unity > Ambient Occlusion 으로 효과를 추가할 수 있다.

앰비언트 오클루전 효과는 실제 광원이 좁은 구석까지 닿지 않는 것처럼 구석을 어둡게 하는 효과이다.


좌 상단의 All 버튼을 눌러 모든 항목을 활성화한 후, Intensity 값을 조절한다.

Thickness Modifier를 조절하면 방 전체에 효과를 분산할 수 있다.


⚡ 렌즈 효과 추가하기

렌즈 효과를 주기 위해서 두 가지 효과를 추가한다.
Add effect… > Unity > Vignette, Add effect… > Unity > Lens Distortion 이다.

비네트 효과란 이미지의 가장자리를 어둡게 만드는 효과이며,
렌즈 왜곡 효과는 최종 렌더링된 화면을 왜곡하여 렌즈처럼 보이게 만드는 효과이다.

좌 상단의 All 버튼을 눌러 모든 항목을 활성화한 후, Intensity 값을 조절한다.




⚡ 결과

▲Post Processing 적용 전

▲Post Processing 적용 후

훨씬 그럴 듯한 분위기의 그래픽이 되었다. ‡

profile
안녕하세요구르트

0개의 댓글