Version: 2017.1
비디오 캡처(Video capture)
웹 플레이어(Web Player)

홀로그래픽 에뮬레이션(Holographic Emulation)

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

홀로그래픽 에뮬레이션: Unity 에디터가 홀로그래픽 애플리케이션으로 실행됩니다.
홀로그래픽 에뮬레이션: Unity 에디터가 홀로그래픽 애플리케이션으로 실행됩니다.

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

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

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

홀로그래픽 에뮬레이션은 Windows 10 Anniversary Update 이상 버전을 실행하는 컴퓨터에서 지원됩니다.

시작

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

그러면 Emulation Mode 드롭다운 메뉴가 포함된 홀로그래픽 에뮬레이션 제어 창이 열립니다. 개발 중에 이 창이 계속 표시되도록 하십시오. 애플리케이션을 실행할 때 이 창에 있는 설정에 액세스할 수 있어야 합니다.

디폴트 Holographic Emulation 제어 창
디폴트 Holographic Emulation 제어 창

Emulation Mode 는 기본적으로 None 으로 설정되어 있어 애플리케이션이 홀로그래픽 API 기능 없이 에디터에서 실행됩니다. Emulation ModeRemote to Device 또는 Simulate in Editor 로 변경하여 해당 모드를 활성화하고 홀로그래픽 에뮬레이션을 시작할 수 있습니다.

디바이스로 리모팅(Remote to Device)

이 모드를 사용하려면 Unity 에디터를 실행하는 컴퓨터(“호스트 컴퓨터”)를 Windows Holographic 디바이스(“디바이스”)에 연결합니다(아래의 디바이스 연결 참조). 실제로는 호스트 컴퓨터의 Unity 에디터에서 실행 중인 애플리케이션이 해당 디바이스에 배포된 것처럼 동작합니다.

Unity 에디터는 연결된 디바이스의 공간 센서 데이터와 헤드 트래킹에 액세스할 수 있습니다. Unity 에디터 게임 뷰에서는 디바이스에서 무엇이 렌더링되고 있는지 확인할 수 있지만, 디바이스 착용자가 실제 월드에서 무엇을 보는지 확인할 수는 없습니다. 제목이 ’홀로그래픽 에뮬레이션: Unity 에디터가 홀로그래픽 애플리케이션으로 실행됩니다’인 위 그림에 있는 예제를 참조하십시오.

Remote to Device 에서는 애플리케이션이 디바이스 자체가 아닌 호스트 컴퓨터에서 실행되므로, 이 모드는 성능을 확인하는 데 유용하지 않지만 개발을 간단히 테스트할 수 있는 방법입니다.

Unity 에디터에서 이 모드를 사용하려면 Emulation ModeRemote to Device 로 설정합니다. 인터페이스가 사용 가능한 추가 옵션을 반영하여 변경됩니다.

Remote to Device 가 선택된 홀로그래픽 에뮬레이션 제어 창
Remote to Device 가 선택된 홀로그래픽 에뮬레이션 제어 창

사용자 디바이스 연결(Connecting)

사용자 디바이스의 홀로그래픽 리모팅 플레이어 화면
사용자 디바이스의 홀로그래픽 리모팅 플레이어 화면
  1. Windows 스토어에서 다운로드할 수 있는 리모팅 플레이어를 설치하고 실행합니다. 실행하면 리모팅 플레이어가 대기 상태로 전환되고 디바이스의 IP 주소가 홀로그래픽 리모팅 플레이어 화면에 입력됩니다. 연결 진단 활성화 방법을 포함한 리모팅 플레이어에 대한 자세한 내용은 Microsoft Windows 개발자 센터에서 확인할 수 있습니다.

  2. Unity 에디터의 홀로그래픽 에뮬레이션 제어 창에서 디바이스의 IP 주소를 Remote Machine 필드에 입력합니다. 필드 오른쪽의 드롭다운 버튼을 사용하여 최근에 사용된 주소를 선택할 수 있습니다.

  3. Connect 버튼을 누릅니다. 연결된 메시지가 있는 초록색 등으로 연결 상태가 변경됩니다.

  4. 이제 Unity 에디터에서 Play 를 클릭하여 디바이스를 원격으로 실행합니다. Unity 에디터에서 앱을 실행할 때와 동일한 방법으로 일시중지하고 게임 오브젝트를 검사하고 디버그할 수 있지만, 영상, 음성 및 디바이스 입력이 네트워크를 통해 호스트 컴퓨터와 디바이스 사이에 왕복 전송됩니다.

알려진 제한 사항

  • 음성(PhraseRecognizer)은 Remote to Device 를 통해 지원되지 않고, 대신 Unity 에디터를 실행하는 호스트 컴퓨터의 음성을 인터셉트합니다.

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

에디터에서 시뮬레이션(Simulate in Editor)

이 모드를 사용하면 애플리케이션이 실제 월드 Windows Holographic 디바이스에 연결되지 않은 Unity 에디터의 시뮬레이션된 홀로그래픽 디바이스에서 직접 실행됩니다. 이 모드는 디바이스에 액세스할 수 없는 경우에 Windows Holographic용으로 개발하는 데 유용합니다. 단, 에뮬레이터에 종속하지 않고 디바이스에서 테스트해야 합니다.

이 모드를 사용하려면 Emulation ModeSimulate in Editor 로 설정하고 Play 버튼을 누르십시오. 애플리케이션이 Unity 에디터에 빌트인된 에뮬레이터에서 시작됩니다.

Holographic 제어판에서 Room 드롭다운 메뉴를 사용하여 (XDE HoloLens Emulator와 함께 제공되는 것과 동일한) 가상 룸 다섯 개 중 하나를 선택하고 Gesture Hand 드롭다운 메뉴를 사용하여 제스처를 수행하는 가상 핸드(왼쪽 또는 오른쪽)를 지정합니다.

__Simulate in Editor__가 선택된 홀로그래픽 에뮬레이션 제어 창
__Simulate in Editor__가 선택된 홀로그래픽 에뮬레이션 제어 창

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

컨트롤: 기능:
왼쪽 스틱 위아래로 조종하면 가상 휴먼 플레이어가 앞과 뒤로 움직입니다. 왼쪽과 오른쪽으로 조종하면 왼쪽과 오른쪽으로 움직입니다.
오른쪽 스틱 위아래로 조종하면 가상 휴먼 플레이어의 고개가 위 아래로 움직입니다. 왼쪽과 오른쪽으로 조종하면 가상 휴먼 플레이어가 왼쪽과 오른쪽으로 돕니다.
D 패드 가상 휴먼 플레이어를 위와 아래로 움직이거나 머리를 왼쪽과 오른쪽으로 기웁니다.
왼쪽 및 오른쪽 트리거 버튼, A 버튼 가상 핸드로 탭 제스처를 수행합니다.
Y 버튼 가상 휴먼 플레이어의 헤드 피치 및 롤을 초기화합니다.

게임 컨트롤러를 사용하려면 Unity 에디터의 포커스가 게임 뷰에 있어야 합니다. UI로 다른 작업을 수행한 후에는 게임 뷰 창을 클릭하여 포커스를 이 창으로 되돌리십시오.

알려진 제한 사항

  • 대부분의 게임 컨트롤러는 Windows와 Unity에서 인식되는 경우에 한해 Simulate in Editor 모드에서 작동하지만, 지원되지 않는 컨트롤러와 호환되지 않는 경우가 발생할 수 있습니다.

  • PhotoCaptureSimulate in Editor 모드에서 사용할 수 있지만, 디바이스가 없기 때문에 사용자 자신의 로컬 카메라(연결된 웹캠 등)를 사용해야 합니다. 이 경우 실제 월드를 기준으로 한 일반 로컬 카메라의 상대적인 위치를 자동으로 계산할 수 없기 때문에 TryGetProjectionMatrix 또는 TryGetCameraToWorldMatrix를 사용해 매트릭스를 검색해서 가져올 수 없습니다.

비디오 캡처(Video capture)
웹 플레이어(Web Player)