PC 리소스를 사용하여 홀로그램 원격 원격 앱으로 앱 전원 공급

이 문서에서는 홀로그램 원격에 대해 다음과 같은 사용 사례를 설명합니다.

  • PC의 리소스가 HoloLens 온보드 리소스에 의존하는 대신 앱에 전원을 공급하려고 합니다. Holographic Remoting 기능이 있는 앱을 만들고 빌드할 수 있습니다. 사용자는 HoloLens에서 앱을 경험하지만 앱은 실제로 PC에서 실행되므로 앱이 PC의 더 강력한 리소스를 활용할 수 있습니다. 이는 앱에 고해상도 자산 또는 모델이 있고 프레임 속도가 저하되는 것을 원하지 않는 경우에 특히 유용할 수 있습니다. 이를 홀로그램 원격 원격 앱이라고 합니다. HoloLens의 입력(응시, 제스처, 음성 및 공간 매핑)은 콘텐츠가 가상 몰입형 보기로 렌더링되는 PC로 전송됩니다. 렌더링된 프레임은 HoloLens로 전송됩니다.

이 유형의 홀로그램 원격은 Windows Mixed Reality(WMR) 몰입형 헤드셋에도 사용할 수 있습니다. 예를 들어 WMR 헤드셋이 배낭 PC에 연결되어 있고 더 강력한 PC에서 배낭 PC로 앱을 스트리밍하려는 경우에 유용할 수 있습니다.

홀로그램 원격에 대한 자세한 내용은 홀로그램 원격 개요를 참조하세요.

개발 프로세스 중에 앱을 미리 보고 디버그하려는 경우에도 Holographic Remoting을 사용할 수 있습니다.

홀로그램 원격에서 사용 가능한 두 가지 모드

모드 1: 연결 모드의 PC에서 실행되는 원격 앱, 수신 대기 모드에서 HoloLens 2 실행 중인 플레이어.

원격 앱이 연결을 시도하는 동안 플레이어는 들어오는 연결을 수신 대기합니다.

모드 2: 수신 대기 모드의 PC에서 실행되는 원격 앱, 연결 모드에서 HoloLens 2 실행 중인 플레이어.

원격 앱은 플레이어가 연결을 시도하는 동안 들어오는 연결을 수신 대기합니다.

홀로그램 원격 플레이어 앱 설정

모드 1에서 홀로그램 원격을 단독으로 사용하려면 HoloLens 2 Microsoft Store에서 홀로그램 원격 플레이어 앱을 설치합니다(이 문서에서는 단순히 "플레이어"라고 함). 아래에 설명된 대로 앱을 다운로드하고 실행하면 연결할 버전 번호와 IP 주소가 표시됩니다. 사용 가능한 최신 버전의 플레이어를 사용하는 것이 좋습니다.

홀로그램 원격에는 빠른 PC 및 Wi-Fi 연결이 필요합니다. 자세한 내용은 위에 연결된 플레이어 문서에서 확인할 수 있습니다.

HoloLens에서 실행 중인 홀로그램 원격 플레이어의 스크린샷

위에서 지정한 두 모드에서 홀로그램 원격을 사용하려면 Holographic Remoting 샘플 플레이어를 복제하고 Visual Studio를 사용하여 HoloLens 2 배포해야 합니다.

Unity를 사용하여 홀로그램 원격을 위해 PC에서 실행되는 원격 앱 빌드

  1. 메뉴 모음에서 프로젝트 설정 편집 > 을 선택합니다.

  2. 왼쪽 열에서 XR 플러그 인 관리를 선택합니다.

  3. 유니버설 Windows 플랫폼 설정 탭에 있는지 확인합니다.

    유니버설 Windows 플랫폼 탭이 선택된 관리 창의 XR-Plug 보여 주는 스크린샷

  4. OpenXR 플러그 인 섹션에서 Microsoft HoloLens 기능 그룹Holographic 원격 원격 앱 기능 그룹을 선택합니다.

  5. 시작 시 XR 초기화 검사 상자를 선택 취소합니다.

  6. 원격 구성을 설정하고 XR 초기화를 트리거하는 코드를 작성합니다. 앱은 모드 1에 대해 Connect 함수를 호출하거나 모드 2의 Listen 함수를 호출할 수 있습니다. 예제를 보려면 Open XR Unity Mixed Reality 샘플을 다운로드한 다음 RemotingSample 프로젝트에서 AppRemoting.cs 스크립트를 확인합니다.

  7. 모드 1의 경우 연결 모드에서 채워진 를 사용하여 를 호출 Microsoft.MixedReality.OpenXR.Remoting.AppRemoting.Connect 합니다 RemotingConfiguration. 샘플 앱은 검사기에서 이를 노출하고 텍스트 필드에서 IP 주소를 채우는 방법을 보여 줍니다. 를 호출 Connect 하면 구성이 설정되고 XR이 자동으로 초기화되므로 코루틴으로 호출해야 합니다.

    StartCoroutine(Remoting.AppRemoting.Connect(remotingConfiguration));
    
  8. 모드 2의 경우 수신 대기 모드에서 채워진 를 사용하여 를 호출 Microsoft.MixedReality.OpenXR.Remoting.AppRemoting.Listen 합니다 RemotingListenConfiguration. 샘플 앱은 검사기에서 이를 노출합니다. 를 호출 Listen 하면 구성이 설정되고 Holographic 원격 샘플 플레이어의 연결이 대기하므로 코루틴으로 호출해야 합니다.

    StartCoroutine(Remoting.AppRemoting.Listen(remotingListenConfiguration));
    
  9. 를 실행하는 동안 API를 AppRemoting.TryGetConnectionState 사용하여 현재 연결 상태를 가져오고 필요에 따라 를 사용하여 AppRemoting.Disconnect()XR의 연결을 끊고 초기화 해제할 수 있습니다. 동일한 앱 세션 내에서 연결을 끊고 다른 디바이스에 다시 연결하는 데 사용할 수 있습니다. RemotingSample 앱은 탭할 경우 원격 세션의 연결을 끊는 탭 가능한 큐브를 제공합니다.

위에서 설명한 모드에서 홀로그램 원격 원격 앱 및 플레이어 앱 실행

모드 1: PC에서 연결 모드의 홀로그램 원격 원격 앱과 수신 대기 모드의 플레이어를 실행합니다.

  1. 플레이어가 HoloLens 2 스토어에서 이미 설치되어 있는 경우 샘플 플레이어 앱을 빌드하고 실행하는 아래의 2단계와 3단계를 건너뜁니다. 대신 설치된 플레이어를 실행하고 4단계를 계속 진행합니다.

  2. VS 2019를 사용하여 홀로그램 원격 샘플 플레이어 앱을 열고 다음 중 하나를 수행합니다.

    USB 케이블을 사용하여 HoloLens 2 실행하려면 다음을 수행합니다.

    • 다음과 같이 빌드 옵션을 구성합니다.

    사용자가 USB 케이블을 통해 연결된 경우 Visual Studio 빌드 설정의 스크린샷

    • 프로젝트의 속성 페이지를 연 다음 구성 속성>디버깅으로 이동합니다.
    • 디버거를 클릭하여 드롭다운을 시작하고 디바이스를 선택합니다.
    • 명령줄 인수 필드에 "-listen"을 추가합니다.

    USB 케이블을 사용하여 빌드하기 위한 명령줄 인수의 스크린샷

    Wifi를 사용하여 HoloLens 2 실행하려면 다음을 수행합니다.

    • 다음과 같이 빌드 옵션을 구성합니다.

    사용자가 Wifi를 사용하여 HoloLens에 빌드하는 경우 Visual Studio 빌드 설정의 스크린샷.

    • 프로젝트의 속성 페이지를 연 다음 구성 속성>디버깅으로 이동합니다.
    • 디버거를 클릭하여 드롭다운을 시작하고 원격 컴퓨터를 선택합니다.
    • 명령줄 인수 필드에 HoloLens의 Wifi IP 주소를 추가합니다.
  3. SamplePlayer 솔루션을 HoloLens 2 배포하려면 Visual Studio에서 재생 단추를 누릅니다. "HoloLens 2 IP 주소에서 연결을 기다리는 중"임을 표시하는 HAR 샘플 플레이어가 HoloLens 2 실행되는 것을 볼 수 있습니다.

  4. 호스트 PC에서 실행되는 원격 앱에서 위에 표시된 HoloLens 2 IP 주소를 추가한 다음 연결을 선택합니다.

  5. 연결이 설정되면 HoloLens 2 실행 중인 플레이어가 "수신"을 시작합니다.

모드 2: 수신 대기 모드에서 PC에서 원격 앱을 실행하고 연결 모드에서 HAR 플레이어 앱을 실행합니다.

  • PC에서 실행되는 원격 앱의 2D UI 화면에서 수신 대기를 클릭합니다.

    사용자가 USB 케이블을 통해 연결된 경우 Visual Studio 빌드 설정의 스크린샷

  • 프로젝트의 속성 페이지를 연 다음 구성 속성>디버깅으로 이동합니다.

  • 디버거를 클릭하여 드롭다운을 시작하고 디바이스를 선택합니다.

  • 명령줄 인수 필드에 호스트 PC의 IP 주소를 추가합니다.

USB 케이블을 사용하여 빌드하기 위한 명령줄 인수의 스크린샷

  • SamplePlayer 솔루션을 HoloLens 2 배포하려면 Visual Studio 솔루션에서 재생 단추를 클릭합니다. "명령줄 인수에 지정된 IP 주소에 연결"을 표시하여 HoloLens 2 실행 중인 HAR 샘플 플레이어를 볼 수 있습니다.

  • 연결이 설정되면 HoloLens 2 실행되는 홀로그램 원격 샘플 플레이어 앱이 "수신"을 시작합니다.

최상의 결과를 위해 앱이 를 올바르게 설정하는지 확인합니다 . /focus point. 이렇게 하면 홀로그램 원격이 무선 연결 대기 시간에 장면을 가장 잘 적응할 수 있습니다.

이전 홀로그램 원격 API에서 마이그레이션

홀로그램 원격에 대한 자세한 내용은 홀로그램 원격 개요를 참조하세요.

UnityEngine.XR.WSA.HolographicRemoting

Unity 문서의 샘플 코드에서 다음을 수행합니다.

Xr. Wsa. HolographicRemoting OpenXR.Remoting.AppRemoting
HolographicRemoting.ConnectRemotingSession() AppRemoting.Connect(RemotingConfiguration)
HolographicRemoting.DisconnectRemotingSession() AppRemoting.Disconnect()
HolographicRemoting.ConnectionState AppRemoting.TryGetConnectionState(out ConnectionState, out DisconnectReason)

UnityEngine.Xr.WindowsMR. WindowsMRRemoting

Xr.WindowsMR. WindowsMRRemoting OpenXR.Remoting.AppRemoting
WindowsMRRemoting.Connect() AppRemoting.Connect(RemotingConfiguration)
WindowsMRRemoting.Listen() AppRemoting.Listen(RemotingListenConfiguration)
WindowsMRRemoting.Disconnect() AppRemoting.Disconnect()
WindowsMRRemoting.TryGetConnectionState(out ConnectionState)WindowsMRRemoting.TryGetConnectionFailureReason(out ConnectionFailureReason) AppRemoting.TryGetConnectionState(out ConnectionState, out DisconnectReason)
WindowsMRRemoting.isAudioEnabled, WindowsMRRemoting.maxBitRateKbps, WindowsMRRemoting.remoteMachineName 구조체를 RemotingConfiguration 통해 전달 AppRemoting.Connect
WindowsMRRemoting.isConnected AppRemoting.TryGetConnectionState(out ConnectionState state, out _) && state == ConnectionState.Connected

참고 항목