Share via


빠른 시작: C++/WinRT 및 DirectX로 Azure Object Anchors를 사용하여 HoloLens 앱 만들기

이 빠른 시작에서는 C++/WinRT 및 DirectX로 Azure Object Anchors를 사용하여 HoloLens 앱을 만드는 방법을 다룹니다. Azure Object Anchors는 3D 자산을 HoloLens에 대한 개체 인식 혼합 현실 환경을 지원하는 AI 모델로 변환하는 관리형 클라우드 서비스입니다. 완료하면 Holographic Direct X 11(유니버설 Windows) 애플리케이션에서 개체와 해당 포즈를 검색할 수 있는 HoloLens 앱이 생성됩니다.

이 문서에서 배울 내용은 다음과 같습니다.

  • HoloLens 애플리케이션 만들기 및 테스트용으로 로드
  • 개체 검색 및 해당 모델 시각화

Azure를 구독하고 있지 않다면 시작하기 전에 Azure 체험 계정을 만듭니다.

필수 조건

이 빠른 시작을 완료하려면 다음 항목이 있어야 합니다.

  • 사용자 환경 및 해당 3D 모델(CAD 또는 스캔)의 물리적 개체.
  • 다음이 설치된 Windows 컴퓨터:
  • 최신 상태이고 개발자 모드가 사용하도록 설정된 HoloLens 2 디바이스.
    • HoloLens의 최신 릴리스로 업데이트하려면 설정 앱을 열고 업데이트 및 보안으로 이동한 다음, 업데이트 확인을 선택합니다.

Object Anchors 계정 만들기

먼저 Object Anchors 서비스를 사용하여 계정을 만들어야 합니다.

  1. Azure Portal로 이동하여 리소스 만들기를 선택합니다.

    Create a new resource

  2. Object Anchors 리소스를 검색합니다.

    "Object Anchors"를 검색합니다.

    Select the Object Anchors Resource

    검색 결과의 Object Anchors 리소스에서 만들기 -> Object Anchors를 선택합니다.

    Create an Object Anchors Resource

  3. Object Anchors 계정 대화 상자에서:

    • 고유한 리소스 이름을 입력합니다.
    • 리소스를 연결할 구독을 선택합니다.
    • 기존 리소스 그룹을 만들거나 사용합니다.
    • 리소스를 배치할 지역을 선택합니다.

    Enter Object Anchors resource account details

    리소스 만들기를 시작하려면 만들기를 선택합니다.

  4. 리소스를 만들었으면 리소스로 이동을 선택합니다.

    Go to resource

  5. 개요 페이지에서:

    계정 도메인을 기록해 둡니다. 나중에 필요합니다.

    Copy the account domain for your Object Anchors resource

    계정 ID를 기록해 둡니다. 나중에 필요합니다.

    Copy the account ID for your Object Anchors resource

    액세스 키 페이지로 이동하여 기본 키를 기록해 둡니다. 나중에 필요합니다.

    Copy the account key for your Object Anchors resource

모델 업로드

앱을 실행하기 전에 앱에서 모델을 사용할 수 있어야 합니다. Object Anchors 모델이 아직 없는 경우 모델 만들기의 지침에 따라 모델을 만듭니다. 그런 다음, 여기로 돌아옵니다.

HoloLens의 전원이 켜져 있고 개발 디바이스(PC)에 연결된 상태에서 다음 단계에 따라 HoloLens의 3D Objects 폴더에 모델을 업로드합니다.

  1. Ctrl 키와 C(Ctrl + C)를 함께 눌러 작업할 모델을 선택하고 복사합니다.

  2. Windows 로고 키와 E(Win + E)를 함께 눌러 파일 탐색기를 시작합니다. 왼쪽 창에 다른 드라이브 및 폴더와 함께 나열된 HoloLens가 표시되어야 합니다.

    file explorer

  3. HoloLens 링크를 탭하여 오른쪽 창에 HoloLens 디바이스의 스토리지를 표시합니다.

    open HoloLens internal storage

  4. 파일 탐색기에서 내부 스토리지> 3D 개체로 이동합니다. 이제 Ctrl 키와 V(Ctrl + V)를 함께 눌러 3D Objects 폴더에 모델을 붙여넣을 수 있습니다.

    paste models in 3D Objects folder

샘플 프로젝트 열기

다음 명령을 실행하여 샘플 리포지토리를 복제합니다.

git clone https://github.com/Azure/azure-object-anchors.git

cd ./azure-object-anchors

Visual Studio에서 quickstarts/apps/directx/DirectXAoaSampleApp.sln을 엽니다.

솔루션 구성릴리스로 변경하고 솔루션 플랫폼ARM64로 변경하고 배포 대상 옵션에서 디바이스를 선택합니다.

계정 정보 구성

다음 단계는 계정 정보를 사용하도록 앱을 구성하는 것입니다. "Object Anchors 계정 만들기" 섹션에서 계정 키, 계정 ID계정 도메인 값을 기록해 두었습니다.

Assets\ObjectAnchorsConfig.json을 엽니다.

AccountId 필드를 찾아 Set me를 계정 ID로 바꿉니다.

AccountKey 필드를 찾아 Set me를 계정 키로 바꿉니다.

AccountDomain 필드를 찾아 Set me를 계정 도메인으로 바꿉니다.

이제 프로젝트를 마우스 오른쪽 단추로 클릭하고 빌드를 선택하여 AoaSampleApp 프로젝트를 빌드합니다.

Screenshot shows configuring Visual Studio project to deploy.

HoloLens에 앱 배포

샘플 프로젝트를 성공적으로 컴파일한 후에는 HoloLens에 앱을 배포할 수 있습니다.

HoloLens 디바이스의 전원이 켜져 있고 USB 케이블을 통해 PC에 연결되어 있는지 확인합니다. 디바이스가 선택한 배포 대상인지 확인합니다(위 참조).

AoaSampleApp 프로젝트를 마우스 오른쪽 단추로 클릭한 다음, 컨텍스트 메뉴에서 배포를 선택하여 앱을 설치합니다. Visual Studio의 출력 창에 오류가 표시되지 않으면 앱이 HoloLens에 설치됩니다.

Screenshot shows the context menu for the project with Deploy selected.

앱을 시작하기 전에 개체 모델(예: chair.ou)을 HoloLens의 3D Objects 폴더에 업로드해야 합니다. 아직 수행하지 않은 경우 모델 업로드 섹션의 지침을 따릅니다.

앱을 실행하고 디버그하려면 디버그>디버깅 시작을 선택합니다.

개체 모델 수집 및 해당 인스턴스 검색

이제 AoaSampleApp 앱이 HoloLens 디바이스에서 실행됩니다. 대상 개체(의자)에 2m 이내로 가까이 걸어가서 여러 각도에서 바라보면서 검사합니다. 개체 주변에 분홍색 경계 상자와 개체 표면 가까이에 렌더링된 노란색 점이 표시됩니다. 이는 개체가 검색되었음을 나타냅니다. 검색 영역을 나타내는 노란색 상자도 보일 것입니다.

Photograph shows a chair with the bounding box, point cloud, and search area.

오른손 또는 왼손으로 공중에서 손가락을 클릭하여 앱에서 개체에 대한 검색 공간을 정의할 수 있습니다. 검색 공간은 반경 2미터의 구, 4m^3 경계 상자 및 뷰 절두체 사이에서 전환됩니다. 자동차와 같은 더 큰 개체의 경우 약 2미터 거리에서 개체의 모서리를 향해 서서 뷰 절두체 선택을 사용하는 것이 일반적으로 가장 좋은 선택입니다. 검색 영역이 변경될 때마다 앱은 현재 추적 중인 인스턴스를 제거합니다. 그런 다음, 새 검색 영역에서 다시 찾으려고 시도합니다.

이 앱은 여러 개체를 한 번에 추적할 수 있습니다. 이렇게 하려면 여러 모델을 디바이스의 3D 개체 폴더에 업로드하고 모든 대상 개체를 포함하는 검색 영역을 설정합니다. 여러 개체를 검색하고 추적하는 데 시간이 더 오래 걸릴 수 있습니다.

앱은 3D 모델을 해당하는 실제 대응 개체에 가깝게 정렬합니다. 사용자는 왼손으로 에어 탭하여 고정밀 추적 모드를 켤 수 있으며, 이는 보다 정확한 포즈를 계산합니다. 이 기능은 아직 실험적입니다. 시스템 리소스를 더 많이 소비하고 예상 포즈에서 지터가 더 많이 발생할 수 있습니다. 표준 추적 모드로 다시 전환하려면 왼손으로 다시 에어 탭합니다.

다음 단계

FAQ