시작하며

  • 언리얼 엔진 공식 홈페이지 온라인 러닝 프로젝트 중 <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 시스템의 데이터를 사용하는 프로시저럴 시스템을 만들어야 합니다.