Windows Mixed Reality용 2D UWP 앱 업데이트

Windows Mixed Reality 사용자가 홀로그램을 실제 및 디지털 세계에서 바로 주변에 있는 것처럼 볼 수 있습니다. HoloLens와 몰입형 헤드셋 액세서리를 연결하는 데스크톱 PC는 모두 Windows 10 장치입니다. 스토어에서 거의 모든 UWP(유니버설 Windows 플랫폼) 앱을 2D 앱으로 실행할 수 있습니다.

혼합 현실용 2D UWP 앱 만들기

혼합 현실 헤드셋에 2D 앱을 가져오는 첫 번째 단계는 데스크톱 모니터에서 앱을 표준 2D 앱으로 실행하는 것입니다.

새 2D UWP 앱 빌드

혼합 현실용 새 2D 앱을 빌드하려면 표준 UWP(2D 유니버설 Windows 플랫폼) 앱을 빌드합니다. 해당 앱이 혼합 현실에서 슬레이트로 실행되도록 하려면 다른 앱 변경이 필요하지 않습니다.

2D UWP 앱 빌드를 시작하려면 첫 번째 앱 만들기 문서를 검사.

UWP에 기존 2D 스토어 앱 가져오기

스토어에 2D Windows 앱이 이미 있는 경우 UWP(Windows 10 유니버설 Windows 플랫폼)를 대상으로 하는지 확인합니다. 현재 스토어 앱에서 사용할 수 있는 모든 잠재적 시작 지점은 다음과 같습니다.

시작 지점 AppX 매니페스트 플랫폼 대상 이 유니버설을 만드는 방법?
Windows Phone(Silverlight) Silverlight 앱 매니페스트 WinRT로 마이그레이션
Windows Phone 8.1 유니버설 8.1 플랫폼 대상을 포함하지 않는 AppX 매니페스트 앱을 유니버설 Windows 플랫폼 마이그레이션
Windows 스토어 8 8 플랫폼 대상을 포함하지 않는 AppX 매니페스트 앱을 유니버설 Windows 플랫폼 마이그레이션
Windows 스토어 8.1 유니버설 8.1 플랫폼 대상을 포함하지 않는 AppX 매니페스트 앱을 유니버설 Windows 플랫폼 마이그레이션

현재 PC에서 Win32 앱으로 빌드된 2D Unity 앱이 있는 경우 Mac은 Linux 독립 실행형 빌드 대상을 & 혼합 현실에 대한 유니버설 Windows 플랫폼 빌드 대상으로 전환합니다.

아래 Windows.Holographic 디바이스 패밀리를 사용하여 앱을 HoloLens로 제한할 수 있는 방법에 대해 설명합니다.

Windows Mixed Reality 몰입형 헤드셋에서 2D 앱 실행

데스크톱 컴퓨터에 2D 앱을 배포하고 모니터에서 사용해 본 경우 몰입형 데스크톱 헤드셋으로 사용해 볼 준비가 된 것입니다.

혼합 현실 헤드셋 내의 시작 메뉴로 이동하여 거기에서 앱을 시작합니다. 데스크톱 셸과 홀로그램 셸은 모두 동일한 UWP 앱 집합을 공유하므로 Visual Studio에서 배포한 후에는 앱이 이미 있어야 합니다.

몰입형 헤드셋과 HoloLens를 모두 대상으로 지정

축하합니다! 이제 앱에서 UWP(Windows 10 유니버설 Windows 플랫폼)를 사용하고 있습니다.

이제 데스크톱, 모바일, Xbox, Windows Mixed Reality 몰입형 헤드셋, HoloLens 및 향후 Windows 장치와 같은 오늘날의 Windows 장치에서 앱을 실행할 수 있습니다. 그러나 실제로 모든 디바이스를 대상으로 지정하려면 앱이 Windows를 대상으로 하는지 확인해야 합니다. 유니버설 디바이스 패밀리.

디바이스 패밀리를 Windows.Universal로 변경

이제 AppX 매니페스트로 이동하여 Windows 10 UWP 앱이 HoloLens에서 실행될 수 있도록 합니다.

  • Visual Studio를 사용하여 앱의 솔루션 파일을 열고 앱 패키지 매니페스트로 이동합니다.
  • 솔루션에서 Package.appxmanifest 파일을 마우스 오른쪽 단추로 클릭하고 코드 보기로 이동합니다.
    솔루션 탐색기 package.appxmanifest
  • 대상 플랫폼이 Windows인지 확인합니다. 종속성 섹션의 범용
    <Dependencies>
      <TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.10240.0" MaxVersionTested="10.0.10586.0" />
    </Dependencies>
    
  • 저장!

개발 환경에 Visual Studio를 사용하지 않는 경우 선택한 텍스트 편집기에서 AppXManifest.xml 열어 Windows.UniversalTargetDeviceFamily를 대상으로 지정할 수 있습니다.

HoloLens 에뮬레이터에서 실행

이제 UWP 앱이 "Windows.Universal"을 대상으로 하므로 앱을 빌드하고 HoloLens 에뮬레이터에서 실행해 보겠습니다.

  • HoloLens 에뮬레이터가 설치되어 있는지 확인합니다.

  • Visual Studio에서 앱에 대한 x86 빌드 구성을 선택합니다.

    Visual Studio의 x86 빌드 구성

  • 배포 대상 드롭다운 메뉴에서 HoloLens 에뮬레이터를 선택합니다.

    배포 대상 목록의 HoloLens 에뮬레이터

  • 디버그 > 디버깅 시작을 선택하여 앱을 배포하고 디버깅을 시작합니다.

  • 에뮬레이터가 앱을 시작하고 실행합니다.

  • 키보드, 마우스 및 Xbox 컨트롤러를 사용하여 전 세계에 앱을 배치하여 시작합니다.

    UWP 샘플로 로드된 HoloLens 에뮬레이터

다음 단계

이 시점에서 다음 두 가지 중 하나가 발생할 수 있습니다.

  1. 앱이 시작되고 에뮬레이터에 배치된 후 실행이 시작됩니다. 놀랍습니다.
  2. 또는 2D 홀로그램에 대한 로드 애니메이션이 표시되면 로드가 중지되고 시작 화면에서 앱만 표시됩니다. 즉, 문제가 발생하여 Mixed Reality 앱을 생생하게 만드는 방법을 이해하기 위해 더 많은 조사가 수행됩니다.

UWP 앱이 HoloLens에서 시작되지 않도록 중지하는 가능한 문제의 근본 원인을 파악하려면 디버그해야 합니다.

디버거에서 UWP 앱 실행

다음 단계에서는 Visual Studio 디버거를 사용하여 UWP 앱을 디버깅하는 단계를 안내합니다.

  • 아직 수행하지 않은 경우 Visual Studio에서 솔루션을 엽니다. 대상을 HoloLens 에뮬레이터 로 변경하고 빌드 구성을 x86으로 변경합니다.
  • 디버그 > 디버깅 시작을 선택하여 앱을 배포하고 디버깅을 시작합니다.
  • 마우스, 키보드 또는 Xbox 컨트롤러를 사용하여 전 세계에 앱을 배치합니다.
  • 이제 Visual Studio가 앱 코드의 어딘가에서 중단됩니다.
    • 처리되지 않은 오류로 인해 앱이 즉시 충돌하거나 디버거에 침입하지 않는 경우 앱의 핵심 기능에 대한 테스트 통과를 통해 모든 것이 실행되고 작동하는지 확인합니다. 아래 그림과 같은 오류(처리 중인 내부 예외)가 표시될 수 있습니다. 앱 환경에 영향을 주는 내부 오류를 놓치지 않도록 하려면 자동화된 테스트 및 단위 테스트를 실행하여 모든 것이 예상대로 작동하는지 확인합니다.

시스템 예외를 보여 주는 UWP 샘플로 로드된 HoloLens 에뮬레이터

UI 업데이트

이제 UWP 앱이 몰입형 헤드셋과 HoloLens에서 2D 홀로그램으로 실행되고 있으므로 다음으로 아름답게 보이는지 확인합니다. 다음과 같은 몇 가지 사항을 고려해야 합니다.

  • Windows Mixed Reality 모든 2D 앱을 고정 해상도로 실행하고 853x480 유효 픽셀과 같은 DPI를 실행합니다. 디자인이 이 규모에서 개선이 필요한지 고려하고 아래의 디자인 지침을 검토하여 HoloLens 및 몰입형 헤드셋에 대한 환경을 개선합니다.
  • Windows Mixed Reality 2D 라이브 타일을 지원하지 않습니다. 핵심 기능이 라이브 타일에 대한 정보를 표시하는 경우 해당 정보를 앱으로 다시 이동하거나 3D 앱 시작 관리자를 탐색하는 것이 좋습니다.

2D 앱 보기 해상도 및 배율 인수

반응형 디자인에서

Windows 10 실제 화면 픽셀에서 유효 픽셀로 모든 시각적 디자인을 이동합니다. 즉, 개발자는 효과적인 픽셀에 대한 Windows 10 휴먼 인터페이스 지침에 따라 UI를 설계하고, Windows 크기 조정을 통해 유효 픽셀이 디바이스, 해상도, DPI 등에서 유용성에 적합한 크기가 되도록 합니다. 자세한 내용은 MSDN 및 이 BUILD 프레젠테이션 에 대한 이 훌륭한 읽기를 참조하세요.

다양한 거리에서 전 세계에 앱을 배치할 수 있는 고유한 기능을 갖추고 있더라도 TV와 유사한 시청 거리는 최고의 가독성과 응시/제스처와의 상호 작용을 생성하는 것이 좋습니다. 따라서 Mixed Reality Home의 가상 슬레이트는 다음 위치에서 평면 UWP 보기를 표시합니다.

1280x720, 150%DPI (853x480 유효 픽셀)

이 해결 방법은 다음과 같은 몇 가지 장점이 있습니다.

  • 이 유효 픽셀 레이아웃은 태블릿 또는 소형 데스크톱과 거의 동일한 정보 밀도를 갖습니다.
  • Xbox One에서 실행되는 UWP 앱의 고정 DPI 및 유효 픽셀과 일치하여 장치 간에 원활한 환경을 제공합니다.
  • 이 크기는 전 세계 앱의 작동 거리를 확장할 때 적합합니다.

2D 앱 뷰 인터페이스 디자인 모범 사례

해야 하는 질문:

  • 스타일, 글꼴 크기 및 단추 크기에 대한 Windows 10 HIG(휴먼 인터페이스 지침)를 따릅니다. HoloLens는 앱에 호환되는 앱 패턴, 읽을 수 있는 텍스트 크기 및 적절한 적중 대상 크기가 있는지 확인하기 위해 작업을 수행합니다.
  • UI가 반응형 디자인 에 대한 모범 사례를 따라 HoloLens의 고유한 해상도 및 DPI를 가장 잘 살펴보도록 합니다.
  • Windows의 "밝은" 색 테마 권장 사항을 사용합니다.

하지 말아야 할 질문:

  • 혼합 현실에서 UI를 너무 크게 변경하여 사용자가 헤드셋 내/외부에 익숙한 경험을 할 수 있도록 합니다.

앱 모델 이해

혼합 현실용 앱 모델은 많은 앱이 함께 사는 Mixed Reality Home을 사용하도록 설계되었습니다. 이를 한 번에 많은 2D 앱을 실행하는 데스크톱과 동등한 혼합 현실이라고 생각합니다. 이는 앱 수명 주기, 타일 및 앱의 기타 주요 기능에 영향을 줍니다.

앱 바 및 뒤로 단추

2D 보기는 콘텐츠 위에 앱 바로 데코레이트됩니다. 앱 바에는 앱별 개인 설정의 두 가지 지점이 있습니다.

제목: 앱 instance 연결된 타일의 표시 이름을 표시합니다.

뒤로 단추: 누를 때 BackRequested 이벤트를 발생합니다. 뒤로 단추 표시 유형은 SystemNavigationManager.AppViewBackButtonVisibility에 의해 제어됩니다.

2D 앱 보기의 앱 바 UI
2D 앱 보기의 앱 바 UI

2D 앱 디자인 테스트

앱을 테스트하여 텍스트를 읽을 수 있고, 단추를 대상으로 지정하고, 전체 앱이 올바른지 확인하는 것이 중요합니다. 해상도가 1280x720 @150%로 설정된 데스크톱 헤드셋, HoloLens, 에뮬레이터 또는 터치 디바이스에서 테스트 할 수 있습니다.

새로운 입력 가능성

HoloLens는 고급 깊이 센서를 사용하여 세상을 보고 사용자를 확인합니다. 이를 통해 블룸 및 에어 탭과 같은 고급 손 제스처 를 사용할 수 있습니다. 강력한 마이크를 사용하면 음성 환경도 사용할 수 있습니다.

데스크톱 헤드셋을 사용하면 사용자가 모션 컨트롤러를 사용하여 앱을 가리키고 조치를 취할 수 있습니다. 또한 게임 패드를 사용하여 응시를 통해 개체를 대상으로 지정할 수도 있습니다.

Windows는 UWP 앱의 이러한 모든 복잡성을 처리하여 응시, 제스처, 음성 및 모션 컨트롤러 입력을 입력 메커니즘을 추상화하는 포인터 이벤트 로 변환합니다. 예를 들어 사용자가 손으로 에어 탭을 수행했거나 모션 컨트롤러에서 Select 트리거를 뽑았을 수 있지만 2D 애플리케이션은 입력이 어디에서 왔는지 알 필요가 없습니다. 터치 스크린에 있는 것처럼 2D 터치 프레스만 표시됩니다.

다음은 UWP 앱을 HoloLens로 가져올 때 입력에 대해 이해해야 하는 개략적인 개념/시나리오입니다.

  • 응시 는 예기치 않게 메뉴, 플라이아웃 또는 기타 사용자 인터페이스 요소를 트리거하여 앱 주위를 응시하여 팝업할 수 있는 가리키기 이벤트로 바뀝니다.
  • 응시는 마우스 입력만큼 정확하지 않습니다. 터치 친화적인 모바일 애플리케이션과 유사하게 HoloLens에 적절한 크기의 적중 대상을 사용합니다. 앱의 가장자리 근처에 있는 작은 요소는 상호 작용하기가 특히 어렵습니다.
  • 사용자는 스크롤에서 끌어서 두 손가락 이동으로 이동하려면 입력 모드를 전환해야 합니다. 앱이 터치 입력용으로 설계된 경우 두 손가락 이동 뒤에 주요 기능이 잠겨 있지 않은지 확인하는 것이 좋습니다. 그렇다면 두 손가락 이동이 시작될 수 있는 단추와 같은 대체 입력 메커니즘을 사용하는 것이 좋습니다. 예를 들어 지도 앱은 두 손가락 이동으로 확대/축소할 수 있지만 한 번의 클릭으로 동일한 확대/축소 상호 작용을 시뮬레이션하는 더하기, 빼기 및 회전 단추가 있습니다.

음성 입력 은 혼합 현실 환경의 중요한 부분입니다. 헤드셋을 사용할 때 Cortana에 전원을 공급하는 Windows 10 있는 모든 음성 API를 사용하도록 설정했습니다.

유니버설 앱 게시 및 유지 관리

앱이 실행되고 나면 앱을 패키지하여 Microsoft Store에 제출합니다.

추가 정보