연습 - HoloLens 2용 Azure Cloud Services
각 챕터마다 새 Azure Cloud 서비스를 추가하여 애플리케이션 기능 및 사용자 환경을 확장하는 동시에 각 Azure 클라우드 서비스의 기본 사항을 학습합니다.
비고
이 모듈 시리즈는 HoloLens 2에 중점을 두지만 Unity의 플랫폼 간 특성으로 인해 대부분의 단원은 데스크톱 및 모바일 애플리케이션에도 적용됩니다.
애플리케이션 목표
이 모듈 시리즈에서는 이미지에서 개체를 검색하고 해당 공간 위치를 찾을 수 있는 HoloLens 2 애플리케이션을 빌드합니다. 이러한 개체를 추적된 개체라고 합니다.
사용자는 추적된 개체 를 만들어 컴퓨터 비전, 공간 위치 또는 둘 다를 통해 이미지 집합을 연결할 수 있습니다. 모든 데이터는 클라우드에 유지되어야 합니다.
기능
- 데이터 및 이미지의 기본 관리
- 이미지 학습 및 검색
- 공간 위치 및 안내 저장
Azure Cloud Services
다음 Azure Cloud 서비스를 사용하여 위의 기능을 구현합니다.
Azure Storage
Azure Storage를 사용하여 데이터를 유지합니다. Azure Storage를 사용하면 테이블에 데이터를 저장하고 이미지와 같은 큰 이진 파일을 업로드할 수 있습니다.
Azure Custom Vision (Azure 사용자 정의 비전)
Azure AI Custom Vision(Azure AI 서비스의 일부)을 사용하여 이미지 집합을 추적된 개체에 연결하고, 만든 집합에서 기계 학습 모델을 학습하고, 추적된 개체를 검색할 수 있습니다.
Unity 프로젝트 만들기 및 준비
이 섹션에서는 새 Unity 프로젝트를 만들고 MRTK 개발을 준비합니다.
먼저 다음 단계를 포함하는 디바이스 지침에 애플리케이션 빌드를 제외하고 HoloLens 2 학습 경로의 단계를 따릅니다.
- Unity 프로젝트 만들기 및 적절한 이름 제공(예: Azure Cloud Tutorials)
- 빌드 플랫폼 전환
- TextMeshPro 필수 리소스 가져오기
- Mixed Reality 도구 상자 가져오기
- Unity 프로젝트 구성
- 장면 만들기 및 구성 및 장면에 적절한 이름 지정(예: AzureCloudServices)
자습서 자산 가져오기
나열된 순서대로 다음 Unity 사용자 지정 패키지를 다운로드하고 가져옵니다.
자습서 자산을 가져온 후 프로젝트 창은 다음과 유사하게 표시됩니다.
장면 준비
이 섹션에서는 자습서 프리팹 중 일부를 추가하여 장면을 준비합니다.
프로젝트 창에서 Assets>MRTK.Tutorials.AzureCloudServices>Prefabs>Manager 폴더로 이동합니다. Ctrl 단추를 누른 상태에서 SceneController, RootMenu 및 DataManager 를 선택하여 세 가지 프리팹을 선택합니다.
SceneController(prefab)에는 SceneController(스크립트) 및 UnityDispatcher(스크립트)의 두 스크립트가 포함되어 있습니다. SceneController 스크립트 구성 요소는 여러 UX 함수를 포함하고 사진 캡처 기능을 용이하게 하는 반면 UnityDispatcher는 Unity 주 스레드에서 실행 작업을 허용하는 도우미 클래스입니다.
RootMenu(prefab)는 다양한 작은 스크립트 구성 요소를 통해 서로 연결된 모든 UI 창을 보관하고 애플리케이션의 일반 UX 흐름을 제어하는 기본 UI 프리팹입니다.
DataManager(prefab)는 Azure Storage와 통신하는 작업을 담당하며, 다음 자습서에서 자세히 설명합니다.
이제 세 개의 프리팹이 선택된 상태에서 계층 구조 창으로 끌어 장면에 추가합니다.
장면의 개체에 초점을 맞추려면 RootMenu 개체를 두 번 클릭한 다음 다시 약간 축소할 수 있습니다. RootMenu 개체가 여전히 선택된 상태에서 Transform 구성 요소의 값을 다음으로 변경합니다.
위치: X = 0.0, Y = 1.6, Z = 0.6
팁 (조언)
장면에 방해가 되는 큰 아이콘(예: 큰 프레임 'T' 아이콘)을 찾으면 Gizmos 를 오프 위치로 전환하여 숨길 수 있습니다.
장면 구성
이 섹션에서는 SceneManager, DataManager 및 RootMenu 를 함께 연결하여 다음 Azure Storage 통합 자습서의 작업 장면을 만듭니다.
객체 연결하기
계층 구조 창에서 DataManager 개체를 선택합니다.
검사기 창에서 DataManager(스크립트) 구성 요소를 찾습니다. On Data Manager Ready() 이벤트에 빈 슬롯이 표시됩니다. Hierarchy 창에서 On Data Manager Ready() 이벤트로 SceneController 개체를 끕니다.
이제 이벤트의 드롭다운 메뉴가 활성화되었습니다. 드롭다운 메뉴를 선택하고 SceneController로 이동한 다음 하위 메뉴에서 Init() 옵션을 선택합니다.
계층 구조 창에서 SceneController 개체를 선택합니다. Inspector에서 SceneController (스크립트) 구성 요소를 찾을 수 있습니다.
이제 몇 가지 채워지지 않은 필드가 있습니다. 변경해 보겠습니다. 계층 구조에서 데이터 관리자 필드로 DataManager 개체를 이동한 다음, 계층 구조에서 기본 메뉴 필드로 >MainMenu GameObject를 이동합니다.
계층 구조 창에서 MRTK XR Rig 개체를 선택합니다. MRTK Speech 자식 개체가 사용하도록 설정되어 있는지 확인합니다. 이렇게 하면 "메뉴 열기"라고 말하여 메뉴를 열 수 있습니다.
이제 다가오는 튜토리얼을 위한 장면이 준비되었습니다. 프로젝트에 저장하는 것을 잊지 마세요.
프로젝트 빌드 파이프라인 준비
비고
HoloLens 2에서 빌드 및 테스트는 필수가 아닙니다. HoloLens 디바이스가 없는 경우 HoloLens 2 에뮬레이터에서 테스트할 수 있습니다. HoloLens.com 디바이스를 구입할 수 있습니다.
장면을 완료하기 전에 HoloLens 2용으로 빌드할 프로젝트를 준비해 보겠습니다.
1. 다른 필수 기능 추가
Unity 메뉴에서프로젝트 설정>을 선택하여 프로젝트 설정 창을 엽니다.
프로젝트 설정 창에서 플레이어를 선택한 다음 게시 설정을 선택합니다.
게시 설정에서 기능 섹션까지 아래로 스크롤하여 InternetClient, 마이크 및 SpatialPerception 기능(자습서의 시작 부분에서 프로젝트를 만들 때 사용하도록 설정)이 사용하도록 설정되어 있는지 다시 확인합니다. 그런 다음 InternetClientServer, PrivateNetworkClientServer 및 웹캠 기능을 사용하도록 설정합니다.
2. HoloLens 2에 앱 배포
이 자습서 시리즈에서 사용할 모든 기능은 Unity 편집기 내에서 실행할 수 없습니다. 따라서 HoloLens 2 디바이스 또는 에뮬레이터에 애플리케이션을 배포하는 데 익숙해야 합니다.
팁 (조언)
Unity 프로젝트를 빌드하고 HoloLens 2에 배포하는 방법에 대한 미리 알림은 시작 자습서 - 애플리케이션 지침 빌드 및 배포 를 참조할 수 있습니다.
3. HoloLens 2에서 앱을 실행하고 앱 내 지침을 따릅니다.
주의
모든 Azure 서비스는 인터넷을 사용하므로 디바이스가 인터넷에 연결되어 있는지 확인합니다.
애플리케이션이 디바이스에서 실행 중인 경우 요청된 다음 기능에 대한 액세스 권한을 부여합니다.
- 마이크
- 사진기
Custom Vision 과 같은 서비스가 제대로 작동하려면 이러한 기능이 필요합니다.











