빠른 시작: MRTK를 사용하는 Unity에서 Azure Object Anchors를 사용하여 HoloLens 앱 만들기

이 빠른 시작에서는 Azure Object Anchors를 사용하는 Unity HoloLens 앱을 만듭니다. Azure Object Anchors는 3D 자산을 HoloLens에 대한 개체 인식 혼합 현실 환경을 지원하는 AI 모델로 변환하는 관리형 클라우드 서비스입니다. 완료하면 실제 세계에서 개체를 검색할 수 있는 Unity로 빌드된 HoloLens 앱이 생성됩니다.

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

  • Unity 빌드 설정 준비
  • HoloLens Visual Studio 프로젝트 내보내기
  • HoloLens 2 디바이스에 앱을 배포하고 실행

필수 조건

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

  • 사용자 환경 및 해당 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

장치 설정

HoloLens에 앱을 배포하려면 HoloLens를 컴퓨터와 페어링해야 합니다.

  1. HoloLens에서 설정 -> 업데이트 및 보안 -> 개발자용으로 이동합니다.
  2. 을 클릭하고 첫 번째 배포 중에 Visual Studio에 PIN을 입력할 때까지 화면을 열어둡니다.

모델 업로드

앱을 실행하기 전에 앱에서 모델을 사용할 수 있어야 합니다. 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

다음은 Unity용 Azure Object Anchors 패키지를 다운로드하는 단계입니다.

여기에서 Unity용 Azure Object Anchors 패키지(com.microsoft.azure.object-anchors.runtime)를 찾습니다. 원하는 버전을 선택하고 다운로드 단추를 사용하여 패키지를 다운로드합니다.

Unity에서 quickstarts/apps/unity/mrtk 프로젝트를 엽니다.

Unity 패키지 관리자를 사용하여 Unity 프로젝트로 다운로드한 Azure Object Anchors 패키지를 가져오려면 여기 지침을 따르세요.

계정 정보 구성

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

프로젝트 창에서 Assets\AzureObjectAnchors.SDK\Resources로 이동합니다.

ObjectAnchorsConfig를 선택합니다. 검사기 창에서 Object Anchors 계정 키의 값으로 Account Key를, Object Anchors 계정 ID의 값으로 Account ID를, Object Anchors 계정 도메인의 값으로 Account Domain을 입력합니다.

앱 빌드 및 실행

샘플 장면 빌드

Unity 편집기에서 Assets/MixedReality.AzureObjectAnchors/Scenes로 이동하고, AOASampleScene을 열고, 장면 빌드 목록에 추가합니다.

"TMP 가져오기" 대화 상자에서 TextMesh Pro 리소스를 가져오라는 메시지가 표시되면 "TMP Essentials 가져오기"를 선택합니다. Import TextMesh Pro resources

파일 -> 설정 빌딩을 선택합니다. 유니버설 Windows 플랫폼을 선택한 다음, 플랫폼 전환을 선택합니다. Unity 편집기에서 일부 구성 요소를 먼저 다운로드해야 한다고 표시되면 해당 구성 요소를 다운로드하여 설치합니다. 아래 스크린샷에 따라 빌드 설정을 구성합니다. AOASampleScene옆에만 확인 표시가 있어야 합니다. 다른 장면은 포함하면 안 됩니다.

build settings

빌드를 선택하고 출력 폴더를 선택합니다. 이제 출력 폴더에 VS 프로젝트를 생성할 수 있습니다.

앱 빌드 및 배포

Unity에서 생성한 .sln 파일을 엽니다. 빌드 구성을 다음과 같이 변경합니다.

build configuration

다음으로, 앱을 배포하고 디버그하기 위해 원격 컴퓨터 IP 주소를 구성해야 합니다.

앱 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다. 속성 페이지에서 구성 속성 -> 디버깅을 선택합니다. 컴퓨터 이름 값을 HoloLens 디바이스의 IP 주소로 변경하고 적용을 클릭합니다.

remote debug

속성 페이지를 닫습니다. 원격 컴퓨터를 클릭합니다. 앱이 빌드되고 원격 디바이스에 배포되기 시작합니다. 디바이스가 활성 상태인지 확인합니다.

Unity 시작 화면 후에 흰색 경계 상자가 표시됩니다. 손을 사용하여 경계 상자를 이동, 크기 조정 또는 회전할 수 있습니다. 검색하려는 개체를 포함하도록 상자를 배치합니다.

손 메뉴를 열고 검색 영역 잠금을 선택하여 경계 상자가 더 이상 움직이지 않도록 합니다. 개체 검색을 시작하려면 검색 시작을 선택합니다. 개체가 검색되면 개체에서 메시가 렌더링됩니다. 검색된 인스턴스의 세부 정보가 화면에 표시됩니다(예: 업데이트된 타임스탬프 및 표면 적용 비율). 추적을 중지하기 위해 검색 중지를 선택하면 검색된 모든 인스턴스가 제거됩니다.

앱 메뉴

손 메뉴를 사용하여 다른 작업을 수행할 수도 있습니다.

주 메뉴
  • 검색 시작 / 검색 중지 – 개체 검색 프로세스를 시작하거나 중지합니다.

  • 공간 매핑 전환 – 공간 매핑 렌더링을 표시하거나 숨깁니다. 검사가 완료된 경우 이 옵션을 사용하여 디버그할 수 있습니다.

  • 추적기 설정 – 추적기 설정 메뉴 활성화를 토글합니다.

  • 검색 영역 설정 – 검색 영역 설정 메뉴 활성화를 토글합니다.

  • 추적 시작 – 진단 데이터를 캡처하여 디바이스에 저장합니다. 자세한 내용은 디버그 검색 문제 및 캡처 진단 섹션을 참조하세요.

  • 추적 업로드 – 진단 데이터를 Object Anchors 서비스에 업로드합니다.

    Unity primary hand menu

추적기 설정 메뉴
  • 높은 정확성 – 더 정확한 포즈를 얻기 위해 사용되는 실험적 기능입니다. 이 옵션을 사용하도록 설정하면 개체 검색 중에 더 많은 시스템 리소스가 필요합니다. 개체 메시는 이 모드에 있을 때 분홍색으로 렌더링됩니다. 일반 추적 모드로 다시 전환하려면 이 단추를 다시 선택합니다.

  • 안정된 수직 정렬 – 사용하도록 설정하면 개체가 수직이 아닌 각도에서 검색될 수 있습니다. 램프에서 개체를 검색하는 데 유용합니다.

  • 크기 변경 허용 – 추적기가 환경 정보를 기반으로 검색된 개체의 크기를 변경할 수 있습니다.

  • 적용 비율 슬라이더 – 추적기가 개체를 검색하기 위해 일치해야 하는 표면 점의 비율을 조정합니다. 낮은 값을 사용하면 추적기가 HoloLens 센서가 검색하기 어려운 개체(예: 어두운 개체 또는 반사율이 높은 개체)를 더 잘 검색할 수 있습니다. 값이 높을수록 잘못된 검색 빈도가 줄어듭니다.

    Unity tracker hand menu

검색 영역 설정 메뉴
  • 검색 영역 잠금 – 실수로 손으로 움직이는 것을 방지하기 위해 영역 경계 상자를 잠급니다.

  • 검색 영역 자동 조정 – 개체 검색 중에 검색 영역 자체의 위치를 ​​변경할 수 있습니다.

  • 메시 순환 – 검색 영역 내에서 로드된 메시 시각화를 순환합니다. 이 옵션은 사용자가 검색하기 어려운 개체에 대해 검색 상자를 정렬하는 데 도움이 될 수 있습니다.

    Unity search area hand menu

문제 해결

개체가 검색되지 않으면 다음 단계를 시도할 수 있습니다.

  1. 개체에 올바른 모델을 사용하고 있는지 다시 확인합니다.
  2. 검색 영역을 시각화하고 대상 개체를 포함하는지 확인합니다.
  3. MinSurfaceCoverage를 줄여 보세요.
  4. Windows Device Portal에서 보기 -> 3D 보기를 클릭하고 검사가 완료되었는지 확인합니다.

다음 단계

FAQ