Version: 2018.2
WMR 입력 및 상호작용 개념
HoloLens WorldAnchor 지속성

개발 기간 동안 WMR 테스트

Unity는 개발 프로세스 동안 애플리케이션을 테스트할 수 있도록 다양한 툴을 제공합니다. 이러한 툴을 사용하면 다른 Unity 애플리케이션처럼 개발 중인 애플리케이션을 디버그하고 콘텐츠를 무선으로 기기에 푸시할 수 있습니다. 일부 툴은 HoloLens 같은 특정 WMR 기기에서만 동작합니다.

에디터에서 Play(몰입형 기기)

몰입형 Windows Mixed Reality 기기를 사용하는 경우 Unity 에디터에서 직접 애플리케이션을 테스트 및 반복 실행할 수 있습니다. Windows Mixed Reality 포털이 열려 있고 헤드셋이 액티브 상태인지 확인한 후 에디터에서 Play 버튼을 누르십시오. 그러면 애플리케이션이 에디터 내에서 실행되는 동시에 헤드셋으로도 렌더링됩니다.

알려진 제한 사항

Mixed Reality 기기를 통해 ‘에디터에서 Play’를 사용할 때는 다음과 같은 몇 가지 제한 사항을 고려해야 합니다.

  • 키보드, 마우스, 공간 컨트롤러는 Windows와 Unity에서 인식하는 한 에디터에서 동작합니다.

  • 비 Windows Mixed Reality 입력 기기는 게임 창에 포커스가 있을 때만 동작합니다. 그 외의 경우에는 키보드와 마우스 컨트롤이 제대로 동작하지 않을 수 있습니다.

홀로그래픽 에뮬레이션(HoloLens만 해당)

홀로그래픽 에뮬레이션을 사용하면 적용된 변경 사항의 효과를 보고 싶을 때마다 애플리케이션을 빌드 및 실행하지 않고 Unity 에디터에서 직접 Microsoft HoloLens 프로젝트를 프로토타이핑하고 디버그하고 실행할 수 있습니다. 이렇게 하면 Unity에서 HoloLens 애플리케이션을 개발할 때 반복 실행 간에 시간이 크게 절약됩니다.

홀로그래픽 에뮬레이션을 실행하는 Unity 에디터
홀로그래픽 에뮬레이션을 실행하는 Unity 에디터

홀로그래픽 에뮬레이션에는 다음 세 가지 모드가 있습니다.

  • Remote to Device: 애플리케이션이 Windows Holographic 기기 연결을 사용하여 실제로는 호스트 컴퓨터의 Unity 에디터에서 실행 중이지만 해당 기기에 배포된 것처럼 동작합니다. 자세한 내용은 아래의 에뮬레이션 모드: Remote to Device 섹션을 참조하십시오.

  • Simulate in Editor: 애플리케이션이 Unity 에디터에서 실제 Windows Holographic 기기에 직접 연결되지 않고 시뮬레이션된 HoloLens 기기에서 실행됩니다. 자세한 내용은 아래의 에뮬레이션 모드: Simulate in Editor 섹션을 참조하십시오.

  • None: 이 설정을 사용하면 Windows Holographic 기기가 있는 경우 에디터에서 애플리케이션을 계속 실행할 수 있습니다.

홀로그래픽 에뮬레이션은 Windows 10(Fall Creators 업데이트 적용)을 실행하는 모든 컴퓨터에서 지원됩니다. Remote to DeviceSimulate in Editor 모두 기존 HoloLens 런타임을 최대한 모방하는 것을 목적으로 하므로 이 런타임을 넘는 최신 API는 존재하지 않습니다. 즉, 입력 코드에 최근에 추가된 사항은 이러한 상황에서 동작하지 않으며, 이는 HoloLens에서와 마찬가지입니다. 예를 들어 회전, 포지션 정확도, 각속도, 그리고 앞쪽, 위쪽 및 오른쪽 포즈의 기본 벡터가 모드에 없으면 해당 API는 동작하지 않습니다.

리모팅 또는 시뮬레이션을 사용하려면 Unity 에디터를 열고 Window > XR > Holographic Emulation 으로 이동합니다.

그러면 Emulation Mode 드롭다운 메뉴가 포함된 Holographic 제어 창이 열립니다. 개발 중에 이 창을 계속 볼 수 있어야 애플리케이션을 실행할 때 이 창에 있는 설정에 액세스할 수 있습니다.

기본 Holographic Emulation 제어 창
기본 Holographic Emulation 제어 창

기본적으로 Emulation ModeNone 으로 설정되어 있습니다. 즉, 몰입형 헤드셋에 연결한 경우 애플리케이션은 에디터에서 실행되고 HMD에서 플레이됩니다. 자세한 내용은 위의 에디터에서 Play 섹션을 참조하십시오.

HoloLens 개발용 에뮬레이션을 활성화하려면 Emulation ModeRemote to Device 또는 Simulate in Editor 로 변경하십시오. 그러면 연결된 몰입형 기기에 대한 ’에디터에서 Play’ 지원을 오버라이드합니다.

에뮬레이션 모드: Remote to Device

홀로그래픽 리모팅을 사용하면 애플리케이션이 호스트 컴퓨터의 Unity 에디터에서 실행되는 동안 HoloLens 기기에 배포된 것처럼 동작합니다. 원격 연결 중에도 연결된 기기의 공간 센서 데이터 및 헤드 트래킹은 여전히 활성화되어 올바르게 동작합니다. Unity 에디터 Game 뷰를 통해 기기에서 렌더링되는 것을 볼 수 있지만, 기기의 착용자가 실제 월드에서 보는 것은 볼 수 없습니다. (위의 ‘홀로그래픽 에뮬레이션과 함께 실행 중인 Unity 에디터’ 이미지 예를 참조하십시오.)

참고: 홀로그래픽 리모팅을 사용하면 개발하는 동안 변경 사항을 빠르게 반복 실행할 수 있지만, 성능을 확인하기 위해 사용하는 것은 피해야 합니다. 애플리케이션이 기기 자체가 아니라 호스트 컴퓨터에서 실행 중이므로 부정확한 출력을 얻을 수 있습니다.

Unity 에디터에서 이 모드를 사용하려면 Emulation ModeRemote to Device 로 설정하십시오. 그러면 Holographic 창이 이 모드에서 사용 가능한 추가 옵션을 반영하여 변경됩니다.

기기 연결

HoloLens 기기에 원격 연결하려면 HoloLens 기기에 Holographic Remoting Player를 설치하십시오.

Holographic Remoting Player 애플리케이션을 설치하고 Unity 에디터를 설정하는 방법은 다음과 같습니다.

  1. HoloLens 스토어에서 Holographic Remoting Player를 설치하고 실행합니다. 이 앱은 Hololens의 Windows 스토어 앱에서 이용할 수 있습니다. 앱을 실행하면 리모팅 플레이어가 대기 상태로 전환되고 HoloLens 화면에 기기의 IP 주소를 표시합니다.

    Holographic Remoting Player 화면
    Holographic Remoting Player 화면

    연결 진단 활성화 방법을 비롯하여 이 플레이어에 대한 자세한 내용은 Microsoft Windows 개발자 센터를 참조하십시오.

  2. Unity 에디터의 Holographic 창에 있는 Remote Machine 필드에 HoloLens 기기의 IP 주소를 입력합니다. 필드 오른쪽의 드롭다운 버튼을 사용하여 최근에 사용한 주소를 선택할 수 있습니다.

    Remote to Device 에뮬레이션 모드 설정
    Remote to Device 에뮬레이션 모드 설정
  3. Connect 버튼을 클릭합니다. 연결 상태가 녹색 표시등으로 바뀌고 연결 메시지가 표시됩니다.

  4. Unity 에디터에서 Play 를 클릭하여 기기를 원격으로 실행합니다.

원격 연결이 시작되면 에디터에서 앱을 실행하는 것과 동일하게 게임 오브젝트를 일시 중지하고 검사 및 디버그할 수 있습니다. HoloLens 기기와 호스트 컴퓨터는 네트워크에서 비디오, 오디오 및 기기 입력을 주고받습니다.

알려진 제한 사항

HoloLens에서 Remote to Device 에뮬레이션을 사용할 때는 다음의 몇 가지 제한 사항을 고려해야 합니다.

  • Remote to Device 에뮬레이션 모드를 사용하는 경우 Unity는 음성(PhraseRecognizer)을 지원하지 않습니다. 이 모드에서 에뮬레이터는 Unity 에디터를 실행 중인 호스트 컴퓨터의 음성을 인터셉트합니다. 애플리케이션은 Hololens 마이크로폰이 아니라, 원격 연결 중인 PC의 마이크로폰을 사용합니다.

  • Remote to Device 가 실행 중인 동안에는 호스트 컴퓨터의 애플리케이션 외부 오디오를 포함한 모든 오디오가 디바이스로 리디렉트됩니다.

에뮬레이션 모드: Simulate in Editor

이 에뮬레이션 모드를 사용할 때 애플리케이션은 Unity 에디터의 시뮬레이션된 홀로그래픽 기기에서 실행되며 실제 HoloLens 기기와 연결할 필요가 없습니다. 이는 HoloLens 기기에 액세스할 수 없는 상황에서 Windows Holographic용 개발을 진행해야 하는 경우에 유용합니다.

참고: 애플리케이션이 예상대로 동작하는지 확인하려면 HoloLens 기기에서 테스트해야 합니다. 개발하는 동안 에뮬레이션에만 의지해서는 안 됩니다.

이 모드를 사용하려면 Emulation ModeSimulate in Editor 로 설정하고 Play 버튼을 클릭하십시오. 그러면 애플리케이션이 Unity 에디터에 내장된 에뮬레이터에서 시작됩니다.

Holographic Emulation 제어 창에서 Room 드롭다운 메뉴를 사용하여 XDE HoloLens 에뮬레이터에 제공되는 것과 동일한 가상 룸을 선택합니다. 그런 다음 Gesture Hand 드롭다운 메뉴에서 제스처를 수행할 가상 핸드(왼쪽 또는 오른쪽)를 지정합니다.

Simulate in Editor 에뮬레이션 모드 설정
Simulate in Editor 에뮬레이션 모드 설정

Simulate in Editor 모드에서는 게임 컨트롤러(Xbox 360 또는 Xbox One 컨트롤러 등)를 사용하여 가상 휴먼 플레이어를 조종해야 합니다. 이 시뮬레이션은 컨트롤러가 없어도 동작하지만, 가상 휴먼 플레이어를 여기저기로 움직일 수 없습니다.

아래 표에는 Simulate in Editor 모드에서 사용할 수 있는 컨트롤러 입력과 각 사용법이 나와 있습니다.

컨트롤 사용법
왼쪽 스틱 위아래로 조종하면 가상 휴먼 플레이어가 앞쪽과 뒤쪽으로 움직입니다. 좌우로 조종하면 휴먼 플레이어가 왼쪽과 오른쪽으로 움직입니다.
오른쪽 스틱 위아래로 조종하면 가상 휴먼 플레이어가 머리를 위쪽과 아래쪽으로 움직입니다(X축 중심 회전 - 피치(Pitch)). 좌우로 조종하면 가상 휴먼 플레이어가 왼쪽과 오른쪽으로 돕니다(Y축 중심 회전 - 요(Yaw)).
D 패드 가상 휴먼 플레이어를 위쪽과 아래쪽으로 움직이거나 플레이어의 머리를 왼쪽과 오른쪽으로 기울입니다(Z축 중심 회전 - 롤(Roll)).
왼쪽 및 오른쪽 트리거 버튼 또는 A 버튼 가상 핸드로 탭 제스처를 수행합니다.
Y 버튼 가상 휴먼 플레이어의 헤드 피치(X축 회전) 및 롤(Z축 회전)을 초기화합니다.

게임 컨트롤러를 사용하려면 Unity 에디터의 포커스를 Game 뷰에 맞추십시오. 현재 다른 Unity 에디터 창에 포커스가 있는 경우에는 Game 뷰 창을 클릭하여 Game 뷰에 포커스를 다시 맞추어야 합니다.

알려진 제한 사항

HoloLens에서 Simulate in Editor 에뮬레이션 모드를 사용할 때는 다음의 몇 가지 제한 사항을 고려해야 합니다.

  • 대부분의 게임 컨트롤러는 Windows와 Unity에서 인식하는 한 Simulate in Editor 모드에서 동작합니다. 하지만 지원되지 않는 컨트롤러는 호환성 문제를 일으킬 수 있습니다.

  • Simulate in Editor 모드에서 PhotoCapture를 사용할 수 있지만, 연결된 HoloLens 기기가 없는 관계로 웹캠 같은 외부 연결 카메라를 사용해야 합니다. 또한 TryGetProjectionMatrix 또는 TryGetCameraToWorldMatrix를 사용하여 매트릭스를 검색할 수 없습니다. 왜냐하면 일반 외부 카메라는 실제 월드와 관련된 위치를 계산할 수 없기 때문입니다.

유용한 리소스 및 문제 해결

Windows Mixed Reality 애플리케이션과 관련된 개발 문제를 해결할 때 다음의 외부 리소스를 활용할 수 있습니다.


  • 2018–03–27 편집 리뷰를 거쳐 페이지 게시됨

  • 2017.3에서 XR API 변경 사항에 대한 새로운 콘텐츠 추가됨

WMR 입력 및 상호작용 개념
HoloLens WorldAnchor 지속성