유니티 포스트 프로세싱 모션 블러 - yuniti poseuteu peulosesing mosyeon beulleo

  • Unity 사용자 매뉴얼(2018.3)
  • 그래픽스
  • 그래픽스 개요
  • 포스트 프로세싱 개요
  • 모션 블러

그레인

스크린 공간 반사

모션 블러

모션 블러 효과는 게임 오브젝트가 카메라의 노출 시간보다 더 빠르게 움직일 때 이미지를 흐릿하게 만듭니다. 게임 오브젝트가 고속으로 이동하거나 노출 시간이 길면 이런 효과가 발생합니다. 레이싱 게임 장르에서는 속도감을 주기 위해 모션 블러를 과장합니다.

유니티 포스트 프로세싱 모션 블러 - yuniti poseuteu peulosesing mosyeon beulleo
매우 빠르게 회전하는 카메라의 모션 블러

두 가지 모션 블러 기법, 셔터 스피드 시뮬레이션과 다중 프레임 블렌딩은 포스트 프로세싱 패키지에서 이용할 수 있습니다. Unity에서 모션 블러를 사용하는 방법에 관한 자세한 내용은 포스트 프로세싱 패키지의 모션 블러 문서를 참조하십시오.


  • 2019–05–07 편집 리뷰를 거쳐 페이지 게시됨

  • Unity 5.6의 새로운 기능

그레인

스크린 공간 반사

모션 블러

이 페이지에서는 포스트 프로세싱 스택에 포함된 기본 효과에 대해 설명합니다.

모션 블러(Motion Blur)는 카메라에 의해 촬영되는 오브젝트가 카메라의 노출 시간보다 더 빠르게 움직일 때 이미지의 블러링을 시뮬레이션하는 포스트 프로세싱 효과입니다. 오브젝트가 급속히 움직이거나 노출 시간이 긴 경우 이 현상이 발생할 수 있습니다. 모션 블러는 대부분 타입의 게임에서 효과를 줄이기 위해 사용되지만 레이싱 게임과 같은 일부 장르에서는 과장됩니다.

유니티 포스트 프로세싱 모션 블러 - yuniti poseuteu peulosesing mosyeon beulleo
모션 블러를 적용한 씬.
유니티 포스트 프로세싱 모션 블러 - yuniti poseuteu peulosesing mosyeon beulleo
모션 블러를 적용하지 않은 씬.
유니티 포스트 프로세싱 모션 블러 - yuniti poseuteu peulosesing mosyeon beulleo
모션 블러에 대한 UI

포스트 프로세싱 스택에서는 다음과 같은 모션 블러 기법이 제공됩니다.

  • 셔터 스피드 시뮬레이션

  • 다중 프레임 블렌딩

셔터 스피드 시뮬레이션(Shutter Speed Simulation)

셔터 스피드 시뮬레이션은 카메라의 블러 프로퍼티를 더 정확히 표현합니다. 하지만 Motion Vector 지원이 필요하므로 더 많은 비용이 들고 일부 플랫폼에서는 지원되지 않습니다. 데스크톱 및 콘솔 플랫폼에 권장되는 기법입니다. 이 효과는 화면에서 픽셀의 움직임을 속도 버퍼에 저장하여 모션 블러를 유사하게 재현합니다. 그런 다음 이 버퍼가 마지막 프레임이 그려진 후 픽셀이 움직인 거리를 기반으로 픽셀을 블러링하는 데 사용됩니다.

프로퍼티

프로퍼티:기능:
Shutter Angle 회전 셔터의 각도. 값이 클수록 노출 시간이 길어지며, 따라서 블러 효과가 더 강합니다.
Sample Count 품질과 성능에 영향을 미치는 샘플 포인트 수

최적화

  • 샘플 개수 줄이기

제약 사항

  • VR에서는 미지원

요구 사항

  • 모션 벡터

  • 뎁스 텍스처

  • 셰이더 모델 3

자세한 내용과 지원되는 하드웨어 리스트는 그래픽스 하드웨어 성능 및 에뮬레이션 페이지를 참조하십시오.

다중 프레임 블렌딩(Multiple Frame Blending)

다중 프레임 블렌딩 효과는 단순히 최근 프레임에 가중치를 더 부여하여 이전 프레임 4개를 현재 프레임에 곱합니다. 이 효과는 모든 프레임에서 작동하며 모션 벡터 또는 뎁스 텍스처 지원이 필요하지 않기 때문에 메모리를 사용하는 마지막 네 프레임의 이력 버퍼 두 개(광도 및 색도)를 저장해야 합니다.

프로퍼티

프로퍼티:기능:
Frame Blending 다중 프레임 블렌딩의 세기. 선행 프레임의 불투명도는 계수 및 시차에 의해 결정됩니다.

최적화

  • 해당 없음

요구 사항

  • 셰이더 모델 3

자세한 내용과 지원되는 하드웨어 리스트는 그래픽스 하드웨어 성능 및 에뮬레이션 페이지를 참조하십시오.


  • 2017–05–24 편집 리뷰 없이 페이지 게시됨

  • Unity 5.6의 새로운 기능

이번 시간에는 UI가 생기면서 배경 게임화면은 흐려지게 할 때 쓰이는 블러효과를 적용시키는 방법을 알아보겠습니다.

보통 블러효과를 적용시키는 법에 대해 검색을 해보면 쉐이더를 사용하여 스크립트를 해야하는 내용들이 많고 초심자가 봤을때 상당히 어려워 보입니다. 

그래서 저는 유니티에 내장된 기능들을 활용하여 클릭만으로 블러효과를 적용시키는법을 알아보겠습니다.

유니티는 원래 스탠다드 에셋이라는 것을 지원했습니다. 그리고 오늘 할 내용은 원래 이 스탠다드 에셋의 이미지 이펙트라는 것에 있었지만 최신버전에서는 스탠다드 에셋과 호환성 문제가 있습니다. 그러면 원래 있던 이 기능이 어디로 갔냐 하면 유니티의 기능중 포스트 프로세싱 이라는 곳에 이미지 이펙트 에셋 기능들이 옮겨졌습니다.

서론이 길었네요. 그럼 포스트 프로세싱을 활용한 블러효과 적용하기 시작하겠습니다.

우선 현재 프로젝트에 포스트 프로세싱을 인스톨해야합니다.

Window탭 -> Package Manager -> Post Processing을 검색하여 인스톨합니다.

그러면 이제 포스트 프로세싱 컴포넌트들을 프로젝트에서 사용할 수 있게됩니다.

인스톨 후 카메라에 Post Process layer 컴포넌트를 추가합니다.

그다음 프로젝트에 Postprocessing 이라는 이름으로 레이어를 추가합니다 

레이어 추가는 인스펙터창의 오른쪽 위에 Layer라는 곳에서 하실 수 있습니다. 

여기서 PostProcessing이라는 이름은 자유롭게 수정하셔도 좋습니다.

레이어를 추가 하셨으면 카메라에 추가한 레이어를 적용하고 Post Process Layer 컴포넌트의 속성값인 Layer에 같은 레이어가 되도록 설정합니다.

유니티 포스트 프로세싱 모션 블러 - yuniti poseuteu peulosesing mosyeon beulleo

그 다음 씬에 빈 오브젝트를 추가하고 Post Process Volume 컴포넌트를 추가합니다.

그 후 Profile속성에 있는 new 버튼을 눌러 새로운 Post Process Profile을 생성합니다. 보통 생성하게 되면 자동으로 새로 생성된것으로 등록되지만 그렇지 않을 경우 에셋 폴더의 Scene폴더에 생성되어있는 Profile파일을 등록해줍니다.

유니티 포스트 프로세싱 모션 블러 - yuniti poseuteu peulosesing mosyeon beulleo

그 다음 아래의 Add effect를 눌러 Depth of Field 효과를 추가합니다. 

유니티 포스트 프로세싱 모션 블러 - yuniti poseuteu peulosesing mosyeon beulleo

그리고 여기서 Is Global에 체크 하는것을 잊지 말아야 합니다. 해당 항목을 체크해야 현재 씬의 모든 오브젝트에 효과가 반영되기 때문입니다.

Depth of Field효과를 추가 하였으면 여기서 설정값들을 조정하여 원하는 Blur효과를 사용합니다.

유니티 포스트 프로세싱 모션 블러 - yuniti poseuteu peulosesing mosyeon beulleo
유니티 포스트 프로세싱 모션 블러 - yuniti poseuteu peulosesing mosyeon beulleo

위 아래가 블러를 적용한것과 적용하지 않은것의 차이입니다.

이렇게 간단하게 클릭만으로 블러효과를 적용하는 방법에 대해 알아보았습니다.

다음에는 시간이 되면 스크립트를 통해 해당 블러효과를 켜고 끌 수 있는 방법에 대해 알아 보겠습니다.

도움이 되셨다면 좋아요 부탁드립니다~~