유니티 카메라 초점 - yuniti kamela chojeom

Post Processing

설치 방법 : Package Manager > Packages: Unity Registry > Post Processing Install

사용 :

Hierarchy에 3d Object > Post-Process Volume 추가

Main Camera 컴포넌트에 Post-process Layer 추가

Bloom

유니티 카메라 초점 - yuniti kamela chojeom
Bloom 효과 적용

Depth Of Field

아웃포커싱, 어딘가 시선을 붙잡아두고 싶을때

Focus Distance : 선명하게 보일 거리 설정

Aperture : 빛을 받아들이는 카메라 조리개, 급격하게, 부드럽게

Focal Length :  숫자가 작을수록 넓은 영역이 선명해짐

유니티 카메라 초점 - yuniti kamela chojeom
Focus Distance를 멀리주고, Focal Length를 높여서 불에만 초점이 가도록 만듦
유니티 카메라 초점 - yuniti kamela chojeom
다시 컨테이너에 초점이 가도록 만듦

Color Grading

Saturation : 흑백, 빛 바랜 느낌(낮췄을때)

Chromatic, Grain, Vignette : 공포게임

Vignette : 테두리가 뿌옇게 보이는 효과(VR은 적용안됨)

Lens Distortion

볼록렌즈 느낌

유니티 카메라 초점 - yuniti kamela chojeom

Motion Blur

움직임이 있을 때 블러처리

속도에 따라 빠른 대상에게 블러처리가 많이 됨

Screen Space Refelction

유니티 카메라 초점 - yuniti kamela chojeom
반사되는 재질의 Smoothness를 높여주고, 물에 물체를 비추고 싶을때

VR TIP

project setting > Quality > Vsync Count 를 해제

Vsync Count : 무조건 전체화면을 일정시간마다 한 번 업데이트 해줌, 그러나 화면이 찢어지는 현상이 나올 수 있음.

VE

유니티 카메라 초점 - yuniti kamela chojeom
VR tearing 현상

Unity 3D에서 Camera 의 Depth 속성을 이용하여 다수개의 카메라 영상을 한 화면에 출력하는 예

레이싱 게임이나 캐릭터가  넓은 지역에서 활동하는 게임의 경우에는 게임 중에서 자신의 현재 위치가 전체 게임영역 중에서 어디 쯤에 해당하는지 알고 있어야 하는 경우가 많다. 이런 경우에는 화면의 일부 공간에 작은 지도나 축소된 지형을 보여주면 편리할 것이다.

유니티에서는 다수개의 카메라를 장면에 설정할 수 있으며 각 카메라의 영상은 동시에 게임뷰에 출력되는데, 카메라의 Depth 속성에 숫자를 입력하여 낮은 Depth 값을 가진 가메라가 먼저 게임뷰에 영상을 출력하고 뒤이어 그 다움 숫자를 Depth 속성 값으로 가진 카메라가 앞의 영상 위에 덮어쓰기하는 형식으로 영상을 출력하는 방법을 사용한다

이 때 각 카메라의 영상의 크기와 화면상의 위치가 동일하다면 항상 마지막에 영상을 출력한 카메라의 영상만이 게임뷰에 출력될 것이다. 즉, 앞서 영상을 출력하더라도 뒤이어 출력되는 영상에 가려서 앞선 카메라의 영상은 전혀 보이지 않게 될 것이다. 나중에 영상을 출력하는 카메라의 영상의 크기와 위치를 앞의 카메라와 약간 다르게 설정하면 먼저 출력된 영상과 나중에 출력된 영상을 동시에 게임뷰에서 볼 수 있게 된다

여기서는 지형 위에 FPC(First Person Controller)를 설정하여 내장된 카메라의 영상을 1번으로 출력하고 별도로 새로운 카메라를 생성하여 지형전체를 조감할 수 있는 Y축상의 적절한 고도에 2번 카메라를 설정하려고 한다. 그리고 2번 카메라는 조감도를 제공해 하므로 게임뷰의 우측 상단에 작은 영역에 영상이 출력되도록 영상의 크기와 위치를 설정하고 1번 카메라의 영상 위에 2번 카메라의 영상이 출력되도록 2번 카메라의 Depth를 2 로 설정할 것이다. 1번 카메라의 Depth 속성은 1 로 설정하고 디폴트 메인 카메라는 비활성 상태로 설정하여 사용하지 않도록 할 것이다

우선 지형을 생성하고 지형위에 FPC(First Person Controller) 도 한개를 설정한다

FPC 에 내장된 카메라의 Depth 속성을 1 로 설정하려고 한다

Hierarchy 뷰에서 FPC 의 Main Camera 를 선택하고 Inspector 뷰에서 Depth 속성 값을 1 로 설정한다

유니티 카메라 초점 - yuniti kamela chojeom

두번째 카메라를 장면에 추가하고 화면에 조감도를 보여주는 역할을 할 수 있도록  Y축상의 적절한 높이로 이동하고 지면을 향하여 아래쪽을 볼 수 있도록 설정한다

Hierarchy 뷰에서 Terrain 노드를 더블클릭하면 개발자 카메라가 지형의 중간에 초점을 맞추도록 설정된다. 이 상태에서 카메라를 추가하면 지형의 정확한 중심부에 새로운 카메라가 생성된다

지형의 중심에 새로운 카메라가 생성되면 Y축을 따라 그대로 위로 이동하면서 아래의 지형을 볼 수 있도록 카메라 방향을 회전해 주어야 하는데 적절한 위치와 회전량을 확인하기 위해서 2번 카메라의 영상이 게임뷰에 출력되도록 먼저 화면 레이아웃을 2 by 3 모드로 설정한다

그런 다음 2번 카메라를 위로 이동하고 아래쪽을 볼 수 있도록 회전하면 게임뷰에 2번 카메라의 영상이 그대로 보이게 되므로 적당한 이동량과 회전량을 조정할 수 있다. 또 2번 카메라의 Depth 속성을 Inspector 뷰에서 2 로 설정한다

2 by 3 모드에서는 현재 가장 Depth 속성 값이 높은 2번 카메라의 영상이 게임뷰에 출력되므로 그 영상을 참조하여 2번 카메라의 고도와 회전량을 적절하게 조절할 수 있다. 아래의 그림과 같이 지형전체가 화면에 꽉 채워지도록 카메라의 위치와 회전각을 조절한다

위의 게임뷰 영상을 보면 2번 카메라 영상만이 보여지는데, 이는 Depth 속성 값이 작은 FPC의 메인 카메라의 영상이 먼저 게임뷰에 출력되고 그 위에 Depth 속성 갑사이 높은 2번 카메라의 영상이 출력되므로 FPC카메라 영상의 전체가 가려지는 결과로 인하여 2번 카메라의 영상만이 게임뷰에 출력되기 때문이다.

2번 카메라의 영상의 크기를 줄이고 위치를 우 상단으로 이동하면 FPC카메라의 영상도 볼 수 있을 것이다.

아래의 그림과 같이 2번 카메라의 뷰포트 상의 크기와 위치를 설정한다. 게임뷰를 보면서 크기를 적절하게 조절하면 된다

위의 그림에서 적색으로 표시한 부분에서,

X, Y항목은 2번 카메라의 영상이 출력될 게임뷰 상의 좌표이고, 

W, H 항목은 2번 카메라 영상의 크기, 높이를 조절할 수 있다

2번 카메라의 영상의 크기와 위치를 조정하여 게임뷰의 우상단에 출력되도록 설정한 예