언어:
페이지 정보
태그:
수준별:
엔진 버전:
언리얼 엔진

Oculus Rift Guardian 시스템 활성화 감지

언리얼 엔진
사전 필수 토픽

이 페이지는 다음 토픽에 대한 지식을 이미 갖추고 있는 분들을 대상으로 합니다. 계속하기 전 먼저 읽어보시기 바랍니다.

HTGuardian_Hero_Image.png

Oculus Guardian 시스템은 VR 상호작용 영역의 경계를 표시하는 데 사용됩니다. 트래킹 디바이스가 경계에 접근하면, Oculus Runtime 은 비주얼 큐를 통해 사용자에게 자동으로 알립니다. 여기서는 상호작용 및 다른 비주얼 큐를 표시하여 사용자의 디바이스 중 하나가 밖에 있거나 상호작용 영역 밖으로 나가려 하는지를 알리는 방법을 살펴보겠습니다.

Guardian 시스템의 정상 작동을 위해서는, Oculus App 을 사용해서 구성해 줘야 합니다. 그 방법 관련 자세한 정보는 공식 Oculus Guardian System 셋업 페이지를 참고하세요.

UE4 안에서 Guardian 시스템을 끄는 것은 가능하지도 않고 추천하지도 않습니다. 하지만 사용자가 경계에 가까워지면 UE4 가 반응하는 방식을 조절할 수는 있습니다.

단계

  1. Oculus Rift 경계를 표시하기 위해서는, 사용자 디바이스 중 하나가 경계에 가까워지는 시점을 알아야 합니다. Is Outer Boundary Displayed 노드로 알아낼 수는 있지만, 매 틱마다 검사하는 방법이 필요합니다. UE4 에서 이 작업이 가능하려면 먼저 이벤트 그래프에 다음 노드를 추가해야 합니다:

    노드 이름

    Event Tick

    N/A

    Branch

    N/A

    Is Outer Boundary Displayed

    N/A

    Oculus Rift Boundary

    N/A

  2. 노드를 추가한 이후에는, 사용자의 디바이스가 경계에 가까워질 때만 Is Outer Boundary Displayed 노드가 호출되고, 가깝지 않을 때는 아무 일도 벌어지지 않도록 연결해 줘야 합니다. 그러기 위해서는 이벤트 그래프를 다음 이미지와 같이 구성하면 됩니다:

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

  3. Oculus App 에서 사용자가 구성한 경계뿐 아니라 그 경계 안에 맞는 정사각/사각형 상호작용 영역도 표시해주면 좋습니다. 그러기 위해, Get Play Area Points 노드를 사용하여 플레이 영역 내 모든 점을 살펴볼 것입니다. 그 후 정사각/사각형 상호작용 영역의 크기를 알아내기 위해 For Loop 를 사용하여 각 점을 대상으로 한 점에서 다른 점을 선으로 연결하여 이 정보를 사용자에게 표시합니다. 그렇게 하기 위해서는 이벤트 그래프를 다음 이미지와 같이 구성해 주면 됩니다:

    이미지를 클릭하면 블루프린트 코드를 복사합니다.

  4. 그 작업이 완료되면 For Loop 를 Branch 노드의 True 출력에 연결하고, 블루프린트를 컴파일한 뒤 저장합니다. 완료된 블루프린트 이벤트 그래프 모습은 다음 이미지와 같을 것입니다:

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

최종 결과

이제 Oculus Rift HMD 를 쓰고, Touch 컨트롤러를 집어든 뒤 PR 프리뷰로 프로젝트를 실행합니다. 프로젝트가 실행되면, Touch 컨트롤러 하나를 Guardian 경계쪽으로 서서히 움직입니다. Guardian 경계가 표시되면, 다음 비디오에서처럼 정사각/사각형 상호작용 영역이 표시되는 것도 확인할 수 있을 것입니다.

UE4 프로젝트 다운로드

이 예제를 만드는 데 사용된 UE4 프로젝트를 다운로드할 수 있는 링크입니다.

태그