VR 퍼포먼스 기능

VR 용 여러가지 퍼포먼스 최적화 관련 정보입니다.

Windows
MacOS
Linux

가상 현실(VR)의 높은 렌더링 요구사양으로 인해 새로운 VR 전용 렌더링 모드와 다수의 퍼포먼스 최적화가 언리얼 엔진 4 (UE4)에 도입되었습니다. 여기서는 그 기능 및 UE4 VR 프로젝트에서 사용하는 방법을 살펴보겠습니다.

VR 인스턴스드 스테레오

Instanced Stereo Rendering (인스턴스드 스테레오 렌더링)은 UE4 에서 VR 의 퍼포먼스 악영향을 줄이는데 도움을 주고자 도입된 것입니다. 이 기능은 편집 > 프로젝트 세팅 > 렌더링 > VR 에서 찾을 수 있는 Instanced Stereo (인스턴스드 스테레오) 옵션을 체크하면 켜집니다.

이미지를 클릭하면 원본을 확인합니다.

인스턴스드 스테레오 렌더링을 켜면 엔진을 재시작하고 셰이더를 다시 컴파일해야 합니다. 베이스 패스(pass), 얼리-z 패스는 이 기능이 (직렬 및 병렬 렌더링 패스(path) 둘 다) 켜진 스태틱 메시, 스켈레탈 메시, 스프라이트 파티클, 메시 파티클에 작동합니다. 인스턴스드 스테레오 는 현재 PC (DirectX)와 PS4 에서 작동하며, 다른 플랫폼은 4.11 릴리즈 이후 지원될 예정입니다. VR 에서 표준 스테레오 렌더링 vs 인스턴스드 스테레오 렌더링 비교 비디오입니다.

모바일용 VR 멀티뷰 지원

특정 (지원) 모바일 디바이스는 이제 VR 멀티뷰 지원이 가능합니다. 모바일 멀티뷰는 데스크톱 PC 에서 사용할 수 있는 인스턴스드 렌더링과 비슷하며, 모바일 디바이스의 CPU 에서 스테레오 렌더링에 최적화된 패스(path)를 제공하는 방식으로 작동합니다. 이 기능을 켜는 방법은 다음과 같습니다:

이 기능의 실험단계 속성상 최신 Mali 기반 GPU 에서만 작동합니다. 이 기능의 완성도가 높아짐에 따라 지원되는 모바일 디바이스가 늘어나면 이 경고는 없어질 것입니다.

  1. 메인 툴바에서 편집 > 프로젝트 세팅 으로 가서 에디터 프로젝트 세팅을 엽니다.

  2. 그리고, 엔진 > 렌더링 > VR 로 가서 Mobile Multi-View (Experimental) 옵션을 찾습니다.

  3. Mobile Multi-View (Experimental) 이름 옆 박스를 클릭 체크하여 켠 뒤, 효과가 적용되도록 에디터를 재시작합니다.

    이미지를 클릭하면 원본을 확인합니다.

이 기능의 정상 작동을 위해서는, Android 빌드 세팅을 다음과 같이 구성해 줘야 합니다:

  • Android > Build 섹션에 Support OpenGL ES2 가 켜졌는지 확인합니다.

  • Mobile HDRInstanced Stereo Rendering 둘 다 꺼졌는지 확인합니다.

  • 현재 Mobile Multiview 는 최신 Mali 기반 GPU 에서만 작동합니다.

  • 이 기능을 켜고 프로젝트를 패키징했는데 호환 GPU 가 없으면, 실행시간에 꺼집니다.

VR 포워드 렌더링

ForwardRenderingBanner.png

기본적으로 언리얼 엔진 4 는 Deferred Renderer (디퍼드 렌더러)를 사용하는데, 유연성이 높고 보다 많은 렌더링 기능을 소화할 수 있기 때문입니다. 하지만 그에 따르는 디퍼드 렌더러의 단점으로 인해 모든 VR 체험에 적합하지는 않을 수도 있습니다. Forward Rendering (포워드 렌더링)은 보다 빠른 렌더링 패스로 보다 빠른 기반을 제공하기에 VR 플랫폼에서 더 나은 퍼포먼스를 보일 수 있습니다. 포워드 렌더링은 빠를 뿐만 아니라, 디퍼드 렌더러보다 나은 안티에일리어싱 옵션이 제공되어 보다 산뜻한 비주얼을 낼 수 있습니다.

이 기능 관련 자세한 정보는 포워드 셰이딩 렌더러 문서를 참고하세요.

VR 퍼포먼스 프로파일링

VR 에 너무 비싼 애셋을 추적하기 위해서는, 프로젝트가 수명에 걸쳐 CPU 와 GPU 에서 어떤 작업을 하고있는지 가급적 많이 프로파일링해야 합니다.

  • GPU 프로파일링 - GPU 프로파일러 가동을 위해서는, 프로젝트가 실행중일 때 CTRL + SHIFT + ,(쉼표 키) 를 같이 눌러주기만 하면 됩니다. 키를 누른 후, 아래 이미지와 비슷한 새 창이 뜨는 것이 보일 것입니다. VR_GPU_Profiler.png

  • CPU 프로파일러 - 프로젝트가 CPU 에서 무슨 일을 하는지 프로파일링하는 것은 GPU 프로파일링보다 조금 복잡합니다. 자세한 방법은 프로파일러 툴 레퍼런스 문서를 참고하세요.

VR 포스트 프로세스 세팅

VR 의 높은 렌더링 요구사양으로 인해, 기본으로 켜진 고급 포스트 프로세싱 기능 다수를 끄지 않으면, 프로젝트에 퍼포먼스 문제가 생길 수 있습니다. 프로젝트에서 고급 기능을 끄는 방법은 다음과 같습니다.

  1. Post Process(PP) 볼륨이 없으면 레벨에 추가합니다.

  2. PP 볼륨을 선택하고, Post Process Volume 섹션에서 Unbound 옵션을 켜면 PP 볼륨의 세팅이 전체 레벨에 적용됩니다.

    VR_PP_Unbound.png

  3. Post Process VolumeSettings 를 펼치고, 각 섹션을 돌아보면서 현재 활성화된 PP 세팅을 끕니다. 먼저 클릭해서 (보통 1.0 인) 기본값에서 0 으로 설정하여 기능을 끄는 것입니다.

    VR_Disable_PP_Settings.png

    이 작업을 할 때는, 모든 섹션을 둘러보면서 모든 프로퍼티를 0 으로 설정하지 않아도 됩니다. 그보다는 렌즈 플레어, 스크린 스페이스 리플렉션, 템포럴 AA, SSAO, 블룸 등 정말 무서워서 퍼포먼스에 악영향을 주는 것들부터 끄면 됩니다.

태그
Select Skin
Light
Dark

새로운 언리얼 엔진 4 문서 사이트에 오신 것을 환영합니다!

문서 사이트에 대한 의견을 모을 수 있는 피드백 시스템을 포함해서 여러가지 새로운 기능을 준비하고 있습니다. 아래 Documentation Feedback 포럼(영문) 또는 언리얼 엔진 네이버 공식 카페(한글) 중 편하신 곳에 의견이나 문제점을 알려 주세요.

새 시스템이 준비되면 알려 드리겠습니다.

네이버 카페
공식 포럼