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

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

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

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

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

필수 조건

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

  • 개발자가 사용 가능한 ARKit 호환 iOS 디바이스
  • 최신 버전의 Xcode가 설치된 macOS 머신.
  • Unity 설치. 지원되는 버전 및 필수 기능은 Unity 프로젝트 설정 페이지를 참조하세요.
  • HomeBrew를 통해 설치된 Git. 터미널의 한 줄에 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 명령을 입력합니다. 그런 다음, brew install gitbrew install git-lfs를 실행합니다.

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 가져오기

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

Unity 구성

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

Screenshot of the Unity pane.

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

플랫폼 섹션에서 iOS를 선택합니다.

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

Screenshot of the Unity Build Settings window.

빌드 설정 창을 닫습니다.

계정 정보 구성

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

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

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

Xcode 프로젝트 내보내기

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

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

빌드를 선택합니다. 열리는 창에서 Xcode 프로젝트를 내보낼 폴더를 선택합니다.

내보내기가 완료되면 내보낸 Xcode 프로젝트가 포함된 폴더가 표시됩니다.

참고 항목

바꿀지 추가할지 묻는 메시지와 함께 창이 나타나면 추가를 선택하는 것이 더 빠릅니다. 바꾸기는 대상 폴더에서 모든 파일을 제거하고 새 콘텐츠를 생성합니다.

Xcode 프로젝트 열기

이제 Xcode에서 Unity-iPhone.xcodeproj 프로젝트를 열 수 있습니다.

Xcode를 시작하고 내보낸 Unity-iPhone.xcodeproj 프로젝트를 열거나 프로젝트를 내보낸 위치에서 다음 명령을 실행하여 Xcode에서 프로젝트를 시작할 수 있습니다.

open ./Unity-iPhone.xcodeproj

루트 Unity-iPhone 노드를 선택하여 프로젝트 설정을 살펴본 다음, 일반 탭을 선택합니다.

배포 정보에서 배포 대상이 iOS 11.0으로 설정되어 있는지 확인합니다.

서명 및 기능 탭을 선택하고 서명 자동 관리가 활성화되어 있는지 확인합니다. 그렇지 않은 경우, 표시되는 창에서 자동 사용을 선택하여 이 옵션을 사용하도록 설정한 다음, 빌드 설정을 재설정합니다.

iOS 디바이스에 앱 배포

iOS 디바이스를 Mac에 연결하고 활성 스키마를 iOS 디바이스로 설정합니다.

Screenshot of the My iPhone button for selecting the device.

빌드를 선택한 다음, 현재 스키마를 실행합니다.

Screenshot of the

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

Screenshot 1Screenshot 2Screenshot 3

완료되면 Xcode에서 중지를 눌러 앱을 중지합니다.

문제 해결

렌더링 문제

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

리소스 정리

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

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

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

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

다음 단계

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