Unity에서 LWRP+PostProcessingStack을 VR로 사용할 때의 주의점

소개



안녕하세요, 최근 게임 효과를 공부하고있는 ZeniZeni입니다.
게임 이펙트의 외관을 좋게 하기 위해서는 PostProcess는 매우 편리합니다만, LWRP(Light Weight Render Pipeline)와 병용해, 한편 VR로 하고 싶다! 그렇게 되면 상당히 집착하는 곳이 많습니다.
이 기사에서는 LWRP + PostProcessingStack을 VR에서 사용할 때 설정하는 방법과주의 사항을 설명합니다.

운영 환경



우선 현행은 어떤 버전이라도 Android에서는 LWRP+PostProcessingStack을 VR로 사용할 수 없기 때문에 OculusQuest에서 하고 싶은 분들은 Unity의 정식 대응을 기다리자.
그 외의 PCVR등도 Unity2019 이상이 아니면 동작하지 않습니다.

비록 scene 뷰나 (실행전의) Game 뷰에서 포스트 이펙트가 걸려 있어도, 실행중에 VR 화면에서 본 영상에는 포스트 이펙트는 걸리지 않습니다. VR이 아니다 (Camera의 Target Eye가 None이 되어 있다) 카메라라면 제대로 비쳐집니다.

또한 Unity2018 이하의 LWRP 대응 프로젝트를 Unity2019.1 이상의 버전으로 업그레이드하면 대량의 에러가 발생하여 어쩔 수 없었기 때문에, 온순하게 Unity2019.x로 신규로 작성하는 것이 좋다고 생각합니다.

이번에는
  • Unity 2019.1.14f1
  • Lightweight RP 버전 5.7.2

  • 로 갑니다.

    초기 설정



    먼저 새 프로젝트를 만듭니다. 버전은 2019.1.14f1. Template는 VR Lightweight RP입니다.

    그리고 처음 열리는 아래 이미지와 같은 SampleScene에서는 이미 LWRP+PostProcessingStack을 VR로 볼 수 있습니다.
    Post Process Volume의 Bloom 값을 변경하여 시도해 보십시오.


    주의점



    Color Grading이 작동하지 않음



    포스트 이펙트의 Color Grading은 밝기와 색조를 조정하는 이펙트입니다만, HDR(High Dinamic Range) 설정을 제대로 하지 않으면 잘 동작하지 않습니다. 자세한 설명은 【Unite 2017 Tokyo】게임의 외형도 담으면 바뀐다! ! ! ! 야바! ! 포스트 프로세스! ! 입문! ! ! ! ! ! ! ! !을 참조하십시오.

    먼저 Edit>Project Settings>GraphicsScriptable Render Pipeline Settings 를 확인합시다.

    거기에 설정된 LWRP asset을 선택합니다.
    거기에 Quality HDR 확인란을 선택하지 않으면 HDR이 작동하지 않습니다.
    여기에서는 그림자의 세세한 설정도 할 수 있습니다.

    또한 Camera의 HDR 설정도 Off로 되어 있으면 사용할 수 없으므로 Use Pipeline Settings로 둡시다.


    일부 작동하지 않는 효과가 있습니다.



    여기 Post Processing in the Lightweight Render Pipeline에서 설명하지만 다음 효과는 LWRP 환경에서 사용할 수 없습니다.
  • Motion Blur 및 임시 안티 앨리어싱을 포함한 모션 벡터 기반 효과
  • Screen Space Reflections와 같은 값 비싼 렌더링 계산이 필요한 효과
  • 대상 하드웨어가 Compute Shader를 지원하지 않는 경우 Auto-exposure, Ambient Occlusion (MSVO), Debug Monitors 등의 이펙트.

    VR 환경에서는 Vignette 효과를 적용하면 좋다.



    위에서 설명한 Post Processing in the Lightweight Render Pipeline 에서 VRアプリでは、特定のポストエフェクトが吐き気と見当識障害を引き起こす可能性があります。 テンポの速いゲームまたは高速ゲームで乗り物酔いを軽減するために、UnityではVRにVignette効果を使用することをお勧めします。 라고 설명되어 있습니다.
    Vignette란 무엇인가 생각할지도 모릅니다만, 요점은 시야의 가장자리 주위를 조금 어둡게 하는 이펙트입니다. Unity 문서 에 알기 쉬운 설명이 쓰여져 있습니다.

    기타 Tips



    LWRP 대응하지 않은 자산을 일괄적으로 LWRP 대응시킨다.



    LWRP를 지원하지 않는 (LWRP Shader를 사용하지 않음) 머티리얼은 밝은 분홍색으로 표시됩니다. 이것은 Edit>Render Pipeline>Upgrade Project Materials To LightweightRP Materials 에서 일괄로 좋은 느낌으로 변경해 줍니다.

    개발, 집필에 있어서, 아래와 같은 사이트님을 참고, 인용했습니다.


  • Unity Blog 2019.1 출시
  • Post Processing in the Lightweight Render Pipeline
  • 테라슈르 블로그 - 【Unity】 기존 프로젝트에 Lightweight RenderPipeline 도입
  • 좋은 웹페이지 즐겨찾기