ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • P.P.P - 02 - 포스트 프로세싱 설정
    연습 프로젝트/P.P.P

    안녕하세요!

     

    오늘은 지난번에 학습한 내용을 연습할 겸 

     

    포스트 프로세싱작업과 

     

    생성되는 Profile을 이용해

     

    Global Volume으로 분위기를 연출한 작업을 살펴보겠습니다.

     

     

    코드로 구현된 작업은 없으며

     

    엔진 툴을 다루는 연습으로

     

    하나씩 만져 보며 값을 직접 조절해 보았습니다.

     

     

    (매우 흥미롭고 시간 가는 줄 몰랐던 것 같습니다.)


    https://userkhk.tistory.com/75

     

    P.P.P - 01 - 이동구현

    안녕하세요. Photon Projent Particle 를 따서 P. P. P의 제목을 지어 봤습니다. (임시로 지은 글의 제목이며 아직 게임 타이틀 명은 못정했습니다) 포톤 클라우드에 앞서 플레이어의 이동 구현을 스크립

    userkhk.tistory.com

    위의 캡처 이미지는 현재 플레이어의 모습입니다.

     

    아래 01번 글과 캐릭터를 비교해 보면 많이 달라진 모습을 볼 수 있는데요!!

     

    현재 적용한 동작과 더불어

     

    알게 된 부분들도 설명을 이어 가려고 합니다.

     

    (살짝 캐릭터가 흑화 한 것 같기도 하고...)


    포스트 프로세싱이란 렌더링 된 결과물에 대한 후처리 작업을 말한다고 합니다.

     

    카메라가 촬영한 영상 또는 이미지를 스크린에 출력하기 전, 다양한 필터와 효과를 적용하는 기술을 말하며

     

    후처리 효과를 통해 시각적 퀄리티를 높일 수 있습니다.

     

     

    이 포스트 프로세싱을 사용하려면 

     

    포스트 프로세싱 패키지가 있어야 하는데,

     

    Universal RP 패키지 안에 포스트 프로세싱 패키지를 포함하고 있기에

     

    먼저 Universal RP를 설치해 주었습니다.

     

    Unity Hub에서 프로젝트를 생성할 때 Universal Render Pipeline으로 생성하는 방법도 있다고 했지만

     

    책을 보고 학습한 대로 3D로 프로젝트를 생성하고

     

    URP 프로젝트로 변경하는 방법으로 진행했습니다.

     

     

    Package Manager에서 

     

    Universal RP를 설치해 준 후 

    Pipeline Asset으로 URP에셋을 만들어 주었습니다.

     

    이후 Graphics과 Quality의 High에

     

    UniversalRenderPipelineAsset를 연결해 주는 모습입니다.

     

     

    바꿔 준 결과 Materials가 끊어졌다는 표시로 

     

    분홍색이 되어서 당혹스러웠습니다.

     

     

    플레이어뿐만 아니라 임시로 제작한 맵도 모두 핑크색이었습니다.

     

    지금 생각하면 정말 단순한 문제이지만..

     

    그래픽을 UniversalRenderPipeline로 바꿔 주었기에

     

    Materail의 Shader도 바꿔 주어야 했습니다.

     

    (즉 파이프 라인이 변경되어서 Shader를 UniversalRenderPipeline에 있는 것들만 사용해야 했습니다.)

     

     

    Shader 선택에서 Lit을 선택해 주었습니다.

     

    Lit이 들어간 항목을 보자면

     

    Baked Lit / Lit / Simple Lit 세 가지가 있습니다.

     

    Baked Lit : 미리 라이트 관련된 것들을 베이크 해 실시간으로 계산하지 않을 때 사용한다고 합니다.

     

    Lit : 실제 표면을 사실적인 품질로 렌더링 할 수 있게 한다고 합니다

    특이 사항으로 무겁다고 합니다.

     

    Simple Lit : 성능은 좋지만 사실적인 품질은 아니며

     

    Lit보다는 가볍다고 합니다.

     

    또한 위에 항목들을 보시면

     

    다양하게 존재하는데, 사용하게 된다면 전 주로 

     

    아직까지는 Lit과 Simple Lit에서 선택하지 않을까 싶습니다.

     


    실제 표면을 사실적인 품질로 렌더링 할 수 있는 Lit을 선택했습니다.

     

    조금 무거워도 프로젝트 자체는 가벼운 게임을 만들 예정이니

     

    하나씩 살펴보며 시각적으로 원하는 이미지를 선택했습니다.

     


     

    다음으로는 Global Volume을 생성하여

     

    효과를 적용한 모습을 살펴보겠습니다.

     

    첫 번째 작업한 부분은 Vignette(비네팅) 효과입니다.

    현재 이미지 x (보여주Test 이미지)

    화면의 주변을 어둠 게 처리를 하여 자연스럽게 화면의 가운데로 시선을 모으는 효과가 있는 Vignetting입니다.

     

    저는 현재 intensity를 0.409로 두께를 낮게 잡아주었고

     

    Smoothness를 0.333으로 정해 주어 이어지는 부드러움의 세기를 정해 주었습니다.


    두 번째는 Tonemapping효과입니다.

     

    Tonemapping은 조명의 밝기를

     

    HDR에서 사람이 인식할 수 있는 범위로 조정하며

     

    그 아래 Bloom과 사용할 경우 더욱더 좋은 이미지 품질을 낼 수 있다고 합니다.

     

    ACES로 지정해 주어

     

    진한 정도를 높여주었습니다.


    세 번째로 Bloom효과는 광원 주위로 과장되게 표현하는 광학을 효과를

     

    몽환적인 느낌을 주는 효과라고 합니다.

     


    그 아래 Color Correction Curves와 Depth of Field는 

     

    체크한 항목이 없지만

     

     

    Depth의 기반의 조정으로 카메라에서 픽셀의 거리에 따라 색상을 조절하여 변화를 시킬 수 있다고 합니다.

     

    색상 보정 곡선 이라고도 불리며

     

    단순히 씬에 보이는 전체적인 알베도를 바꾼다고 생각이 들었었는데

     

    커브 및 깊이에 기반한 수정을 위한 색 채널들이 존재하니..

     

    이것저것 만져보긴 했는데 잘못 건드리면 안 될 것 같습니다

     

    (제겐 Ctrl + z 가 있기에 무적입니다)

     


    이게 뒷 배경이 흐릿하게 보이시는 게 느껴지시나요?

     

    (캡처 사진이 분위기 자체를 다 못 담는 것 같습니다)

     

     

    Depth of Field는 정의된 초점에 비교한 각 픽셀의 깊이에 따라

     

    선명하거나 흐린 효과를 발생시킨다고 합니다.

    이것저것 만져본 결과 Mode에서 Gaussian은 뒷 쪽이 흐려졌으며

     

    bokeh는 앞쪽이 (플레이어) 쪽이 흐려졌습니다.

     

    또한 Start의 값을 조절해

     

    흐릿해지는 거리를 조절할 수 있는 것 같았습니다.

     

    Start값을 1.5로 설정하고 보낸 효과인데

     

    플레이어 발 밑의 라인과 그 위로 플레이어의 머리 일정 부분만

     

    선명해지는 것을 확인할 수 있었습니다.

     


    씬 뷰는 자동 적용되지만 메인 카메라로 보는 게임 뷰 상태에서는 적용이 자동적으로 안됩니다.

     

    메인 카메라의 Rendering에서 PostProcessing을 꼭 체크해주셔야

     

    씬 뷰와 마찬가지로 게임 뷰에서도 효과가 나타내어질 것입니다.

    00 : 33초

     

    추가적으로 카메라의 Projection에서

     

    카메라가 1000(Far) 보다 먼 거리에는 렌더링을 하지 않는 값은

     

    아직 조절을 안정해 주었습니다.

     

    또한 1.2(Near)보다 가까이 있는 것은 렌더링을 해주지 않는 기능을 이용해

     

     

    이렇게 앞의 울타리가 사라져 있다가 다가서면 생기는 효과를 주었습니다.

     


    01번 글의 영상과 비교하면 

     

    뭐가 더 낫다고 하기가 애매한 영상이지만

     

    01 글의 플레이어를 보면 그림 같은 이미지가 조금 더 강하고

     

    이번 플레이어는 약간 입체감? 생동감? 이 생겼다 로 볼 수 있을 것 같습니다.

     

     

    현재 효과들 매우 만족합니다.

     

    처음과 달라지는 모습을 보며 만족을 하는 부분도 분명 있겠지만

     

    직접 값을 바꿔보고 적용시켜가며 

     

    시간 가는 줄 모르고 작업을 했던 것 같습니다.

     

     

    우스갯소리?로 "이것만 하고 저녁 먹으면 되겠다" 했었는데

     

    시계를 보니 10시가 넘어있었습니다.

     


    다음은 원래 맵을 다 배치하고 진행을 해볼 예정이었는데,

     

    우선 플레이어에게 원하는 동작 구현의 기능을 간추려 넣어 주고선

     

    작업을 들어가야 할 것 같습니다.

     

    역시 유니티 재밌습니다.

     

    여기서 마치며,

     

    오늘도 감사합니다.

     

    '연습 프로젝트 > P.P.P' 카테고리의 다른 글

    P.P.P - 03 - UI  (0) 2022.06.04
    P.P.P - 01 - 이동구현  (0) 2022.05.24
    포톤 프로젝트 연습  (0) 2022.05.23

    댓글

김효겸 / Tel. 010-7735-0580 / E-mail. dollzzang2@hanmail.net