언리얼 엔진 공식 홈페이지 온라인 러닝 프로젝트 중 <Oculus와 언리얼 엔진을 사용한 VR개발>에 대한 요약 및 정리입니다.
블루프린트로 진행되며, 프로젝트를 하는데 필요한 에셋은 모두 제공됩니다. 코스 설명대로 따라하면 다운받을 수 있습니다.
추후 C++로 바꿔볼 예정입니다.
관련 링크 : https://www.unrealengine.com/en-US/onlinelearning-courses/vr-development-with-oculus-and-unreal-engine
Oculus Guadian
사용자가 정의하여 플레이 공간 내 현실 세계의 치수와 제한 사항을 상기시키게 합니다.
사용자는 Oculus 구성시에 플레이 공간을 할당하여 이후 Oculus Core 소프트웨어가 이를 처리합니다.
사용자가 플레이 공간의 경계에 가까이 가면 와이어 프레임이 벽에 곂쳐지면서 사용자에게 경고를 보냅니다.
애플리케이션 내에서 Guardian 시스템의 데이터를 얻을 수 있지만 Guardian 벽의 렌더링은 Oculus가 처리합니다.
Guardian 데이터를 사용해서 앱 특정 로직을 구동하도록 선택할 수 있습니다.
Oculus로부터 정보를 가져오는 다양한 함수를 사용합니다.
우리는 온라인 서브시스템 Oculus 플러그인이 활성화됐는지 확인해야합니다. 이 플러그인은 몇가지 블루프린트 함수를 제공합니다.
Outer Boundary
외부 경계면은 사용자가 Oculus 소프트웨어의 Guardian 구성 프로세스에서 설정한 것입니다.
Player Space
플레이어 공간은 볼륨내의 사각형입니다. 이 사각형은 최대한 커지도록 계산됩니다. 외부 경계면에 딱 맞춰서 말입니다.
사각형 모양은 개발자들에게 가장 좋은데 이해하기도 쉽고 모양과 스케일을 예측하기도 쉽기 때문입니다.
이 사각형 내의 볼륨은 사용자가 액세스하는 공간이라고 안전하게 상정할 수 있습니다. 이 공간은 플레이어 캐릭터의 배치를 체크하고 필수 상호작용이 이 공간 밖에서 일어나지 않도록 확인할 때도 사용됩니다. 그렇지 않은 경우 플레이어 캐릭터가 더 가까이 움직일 수 있어야합니다.
애플리케이션에 이동(locomotion)이 없다면 방 크기 경험을 위해 2x2 미터의 적당한 플레이 공간에 앱을 빌드하거나 월드의 요소들을 스케일하여 주어진 플레이어 공간에 맞추고 Guardian 시스템의 데이터를 사용하는 프로시저럴 시스템을 만들어야 합니다.