티스토리 뷰
VR 개발을 진행 하다보면 레벨 전환시에 HMD 에 렌더링되면 게임 화면이 기기의 연결화면으로 전환이 되었다가 다시 게임 화면으로 전환 되는 경우를 볼 수 가 있다.
문제의 원인은 엔진에서 렌더링 처리가 오래 걸리게 되면 VR에서 자동으로 화면을 바꾸어 버리기 때문에 발생을 하게 되는 현상인데
이는 장시간 화면이 갱신되지 않는 상황은 사용자 경험을 해칠 수 있기 때문에 VR이 제어를 하게 되는 것이다.
이 문제의 해결한 방법으로는 먼저 프로젝트 세팅에서 비동기 로드를 이용한다.
* 프로젝트 세팅 -> 엔진 -> Streaming -> Package Streaming -> Async Loading Thread Enabled 를 True 로 설정
* Event Driven Loader 도 Enable 시키면 성능 효과를 볼 수 있는데
Async Loading Thread Enabled 와 Event Driven Loader 의 on/off 조합에 따라
최적의 성능이 달라질 수 도 있으니 테스트를 통해 최적의 세팅을 찾도록 한다.
빠른 레벨전환을 위해 레벨전환은 LoadLevel 이 아닌 StreamingLevel 로 레벨을 로드한다.
* Persistent Level 은 가볍게 만들어 두어서 레벨을 빠르게 전환시키고
서브레벨들을 작게 만들어 스트리밍 로드가 되도록 만들어 로딩 시간을 단축 시킨다.
위와 같이 진행하여도 에디터에서 테스트 할 경우에는 기존과 같이 HMD 렌더링 화면을 볼 수가 있다.
아무래도 에디터에서의 테스트다보니 디버깅이나 여러 추가적인 요소들이 로딩 시간에 영향을 주다보니 그럴 수 있으니
빌드(쉬핑 빌드)를 하여 실행해보면 로딩시간이 현저히 줄어드니 화면이 잘 전환 되는 것 을 볼 수 있다.
'프로그래밍 > Unreal Engine4' 카테고리의 다른 글
| 고스트 트레일 효과 (c++ /애님블루프린트) (0) | 2019.01.28 |
|---|---|
| 파라곤 Anim Distance Matching (0) | 2018.10.22 |
| GENERATED_BODY , GENERATED_UCLASS_BODY 매크로 (0) | 2018.07.10 |
| 파라곤 이동 중지,시작거리 예측 (0) | 2018.05.16 |
| 텍스쳐에서 원하는 UV의 칼라값 가져오기 (0) | 2018.04.17 |
