샘플 앱 실행: Android - Unity(C#)

이 빠른 시작에서는 Unity(C#)를 사용하여 Android 디바이스용 Azure Spatial Anchors 샘플 앱을 실행하는 방법을 설명합니다. Azure Spatial Anchors는 시간이 지남에 따라 디바이스에서 위치를 유지하는 개체를 사용하여 혼합 현실 환경을 만들 수 있는 플랫폼 간 개발자 서비스입니다. 완료되면, Unity 지원 ARCore Android 앱이 있어 공간 앵커를 저장하고 회수할 수 있습니다.

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

  • Spatial Anchors 계정 만들기
  • Unity 빌드 설정 준비
  • Spatial Anchors 계정 식별자 및 계정 키 구성
  • Android Studio 프로젝트 내보내기
  • Android 디바이스 배포 및 실행

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

필수 조건

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

  • 개발자 사용ARCore 지원 Android 디바이스.
    • 컴퓨터가 Android 디바이스와 통신하려면 추가 디바이스 드라이버가 필요할 수 있습니다. 추가 정보 및 지침은 여기를 참조하세요.
  • Windows 또는 macOS 머신.
    • Windows에서 실행하는 경우 Windows용 GitGit LFS도 필요합니다.
    • macOS에서 실행하는 경우 HomeBrew를 통해 Git이 설치됩니다. 터미널의 한 줄에 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 명령을 입력합니다. 그런 다음, brew install gitbrew install git-lfs를 실행합니다.
  • Android SDK 및 NDK 도구OpenJDK 모듈이 있는 Android 빌드 지원을 포함한 Unity 설치. 지원되는 버전 및 필수 기능은 Unity 프로젝트 설정 페이지를 참조하세요.

Spatial Anchors 리소스 만들기

Azure Portal로 이동합니다.

왼쪽 창에서 리소스 만들기를 선택합니다.

검색 상자를 사용하여 Spatial Anchors를 검색합니다.

Screenshot showing the results of a search for Spatial Anchors.

Spatial Anchors를 선택한 다음, 만들기를 선택합니다.

Spatial Anchors 계정 창에서 다음을 수행합니다.

  • 일반 영숫자 문자를 사용하여 고유한 리소스 이름을 입력합니다.

  • 리소스를 연결할 구독을 선택합니다.

  • 새로 만들기를 선택하여 리소스 그룹을 만듭니다. 이름을 myResourceGroup으로 지정한 다음, 확인을 선택합니다.

    리소스 그룹은 웹앱, 데이터베이스, 스토리지 계정과 같은 Azure 리소스가 배포되고 관리되는 논리적 컨테이너입니다. 예를 들어 나중에 간단한 단계 하나만으로 전체 리소스 그룹을 삭제하도록 선택할 수 있습니다.

  • 리소스를 배치할 위치(Azure 지역)를 선택합니다.

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

Screenshot of the Spatial Anchors pane for creating a resource.

리소스를 만든 후 Azure Portal은 배포가 완료되었음을 표시합니다.

Screenshot showing that the resource deployment is complete.

리소스로 이동을 선택합니다. 이제 리소스 속성을 볼 수 있습니다.

나중에 사용하기 위해 리소스의 계정 ID 값을 텍스트 편집기에 복사합니다.

Screenshot of the resource properties pane.

또한 리소스의 계정 도메인 값을 텍스트 편집기에 복사합니다.

Screenshot showing the resource's account domain value.

설정 아래에서 액세스 키를 선택합니다. 나중에 사용하기 위해 기본 키 값, 계정 키를 텍스트 편집기에 복사합니다.

Screenshot of the Keys pane for the account.

샘플 프로젝트 다운로드 및 SDK 가져오기

샘플 리포지토리 복제

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

git clone https://github.com/Azure/azure-spatial-anchors-samples.git
cd ./azure-spatial-anchors-samples

ASA SDK 가져오기

여기의 지침에 따라 Android 플랫폼에 필요한 ASA SDK 패키지를 다운로드하여 가져옵니다.

Unity 구성

Unity에서 Unity 폴더의 프로젝트를 엽니다. Unity는 프로젝트의 버전과 컴퓨터에 설치된 버전이 차이가 있는지를 묻는 메시지를 표시할 수 있습니다. 이 경고는 프로젝트가 생성한 버전보다 Unity 편집기의 버전이 더 최신인 경우에는 문제가 되지 않습니다. 사용 중인 버전이 최신 버전이면 계속을 선택합니다. 사용 중인 버전이 프로젝트에 필요한 버전보다 오래된 경우 끝내기를 클릭하고 Unity 편집기를 업그레이드합니다.

Screenshot of the Unity pane.

파일>빌드 설정을 선택하여 빌드 설정을 엽니다.

플랫폼 섹션에서, Android를 선택하고 플랫폼 전환을 선택하여 플랫폼을 Android로 변경합니다. Android 지원 구성 요소가 누락된 경우 Unity가 이러한 구성 요소를 설치하라고 요청할 수 있습니다.

Screenshot of the Unity Build Settings pane - Android

빌드 설정 창을 닫습니다.

계정 정보 구성

다음 단계는 계정 정보를 사용하도록 앱을 구성하는 것입니다. 앞서 "Spatial Anchors 리소스 만들기" 섹션에서 계정 키, 계정 ID계정 도메인 값을 텍스트 편집기에 복사했습니다.

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

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

Android Studio 프로젝트 내보내기

파일>빌드 설정을 선택하여 빌드 설정을 엽니다.

빌드 장면 아래에서 모든 장면 옆에 확인 표시가 있는지 확인합니다.

디바이스 실행에서 디바이스를 선택한 다음, 빌드 및 실행을 선택합니다. 이름을 선택할 수 있는 .apk 파일을 저장하라는 메시지가 표시됩니다.

앱에서 화살표를 사용하여 BasicDemo를 선택한 다음, Go! 단추를 눌러 데모를 실행합니다. 지침에 따라 앵커를 배치하고 회수합니다.

Screenshot 1Screenshot 2Screenshot 3

앱의 지침에 따라 앵커를 배치하고 회수합니다.

문제 해결

렌더링 문제

앱 실행 시 백그라운드로 카메라가 보이지 않으면(대신 공백, 파랑 또는 기타 질감 등이 보이면) Unity에서 자산을 다시 가져와야 할 가능성이 높습니다. 앱을 중지합니다. Unity의 맨 위 메뉴에서 자산 -> 모두 다시 가져오기를 선택합니다. 그런 다음, 앱을 다시 실행합니다.

리소스 정리

이전 단계에서는 리소스 그룹에서 Azure 리소스를 만들었습니다. 나중에 이러한 리소스가 필요하지 않은 경우에 리소스 그룹을 삭제하여 삭제할 수 있습니다.

Azure Portal 메뉴 또는 페이지에서 리소스 그룹을 선택합니다. 그런 다음, 리소스 그룹 페이지에서 myResourceGroup을 선택합니다.

myResourceGroup 페이지에서 나열된 리소스가 삭제하려는 리소스인지 확인합니다.

리소스 그룹 삭제를 선택하고, 텍스트 상자에서 myResourceGroup을 입력하여 확인한 다음, 삭제를 선택합니다.

다음 단계

이 빠른 시작에서는 Spatial Anchors 계정을 만들었습니다. 그런 다음, 공간 앵커를 저장하고 회수하도록 앱을 구성하고 배포했습니다. 다른 디바이스와 공간 앵커를 공유할 수 있도록 앱을 개선하는 방법을 자세히 알아보려면 다음 자습서를 계속 진행하세요.