빠른 시작: Azure Spatial Anchors를 사용하여 Unity iOS 앱 만들기Quickstart: Create a Unity iOS app with Azure Spatial Anchors

이 빠른 시작에서는 Azure Spatial Anchors를 사용하여 Unity iOS 앱을 만드는 방법을 설명합니다.This quickstart covers how to create a Unity iOS app using Azure Spatial Anchors. Azure Spatial Anchors는 시간이 지남에 따라 디바이스에서 위치를 유지하는 개체를 사용하여 혼합 현실 환경을 만들 수 있는 플랫폼 간 개발자 서비스입니다.Azure Spatial Anchors is a cross-platform developer service that allows you to create mixed reality experiences using objects that persist their location across devices over time. 완료되면, Unity 지원 ARKit iOS 앱이 있어 공간 앵커를 저장하고 회수할 수 있습니다.When you're finished, you'll have an ARKit iOS app built with Unity that can save and recall a spatial anchor.

이 문서에서 배울 내용은 다음과 같습니다.You'll learn how to:

  • Spatial Anchors 계정 만들기Create a Spatial Anchors account
  • Unity 빌드 설정 준비Prepare Unity build settings
  • Spatial Anchors 계정 식별자 및 계정 키 구성Configure the Spatial Anchors account identifier and account key
  • Xcode 프로젝트 내보내기Export the Xcode project
  • iOS 디바이스 배포 및 실행Deploy and run on an iOS device

Azure 구독이 아직 없는 경우 시작하기 전에 체험 계정을 만듭니다.If you don't have an Azure subscription, create a free account before you begin.

사전 요구 사항Prerequisites

이 빠른 시작을 완료하려면 다음 항목이 있어야 합니다.To complete this quickstart, make sure you have:

  • 최신 버전의 Xcode가 설치된 macOS 머신(Unity 2019.4(LTS) 포함).A macOS machine with Unity 2019.4 (LTS), the latest version of Xcode installed.
  • HomeBrew를 통해 설치된 Git.Git installed via HomeBrew. 터미널의 한 줄에 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 명령을 입력합니다.Enter the following command into a single line of the Terminal: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)". 그런 다음, brew install gitbrew install git-lfs를 실행합니다.Then, run brew install git and brew install git-lfs.
  • 개발자가 사용 가능한 ARKit 호환 iOS 디바이스A developer enabled ARKit compatible iOS device.

Spatial Anchors 리소스 만들기Create a Spatial Anchors resource

Azure 포털로 이동합니다.Go to the Azure portal.

왼쪽 창에서 리소스 만들기 를 선택합니다.On the left pane, select Create a resource.

검색 상자를 사용하여 Spatial Anchors 를 검색합니다.Use the search box to search for Spatial Anchors.

Spatial Anchors 검색 결과를 보여주는 스크린샷.

Spatial Anchors 를 선택한 다음, 만들기 를 선택합니다.Select Spatial Anchors, and then select Create.

Spatial Anchors 계정 창에서 다음을 수행합니다.On the Spatial Anchors Account pane, do the following:

  • 일반 영숫자 문자를 사용하여 고유한 리소스 이름을 입력합니다.Enter a unique resource name by using regular alphanumeric characters.

  • 리소스를 연결할 구독을 선택합니다.Select the subscription that you want to attach the resource to.

  • 새로 만들기 를 선택하여 리소스 그룹을 만듭니다.Create a resource group by selecting Create new. 이름을 myResourceGroup 으로 지정한 다음, 확인 을 선택합니다.Name it myResourceGroup, and then select OK.

    리소스 그룹은 웹앱, 데이터베이스, 스토리지 계정과 같은 Azure 리소스가 배포되고 관리되는 논리적 컨테이너입니다.A resource group is a logical container into which Azure resources, such as web apps, databases, and storage accounts, are deployed and managed. 예를 들어 나중에 간단한 단계 하나만으로 전체 리소스 그룹을 삭제하도록 선택할 수 있습니다.For example, you can choose to delete the entire resource group in one simple step later.

  • 리소스를 배치할 위치(Azure 지역)를 선택합니다.Select a location (region) in which to place the resource.

  • 새로 만들기 를 선택하여 리소스 만들기를 시작합니다.Select New to begin creating the resource.

리소스를 만들기 위한 Spatial Anchors 창의 스크린샷.

리소스를 만든 후 Azure Portal은 배포가 완료되었음을 표시합니다.After the resource is created, the Azure portal shows that your deployment is complete.

리소스 배포가 완료되었음을 보여주는 스크린샷입니다.

리소스로 이동 을 선택합니다.Select Go to resource. 이제 리소스 속성을 볼 수 있습니다.You can now view the resource properties.

나중에 사용하기 위해 리소스의 계정 ID 값을 텍스트 편집기에 복사합니다.Copy the resource's Account ID value into a text editor for later use.

리소스 속성 창의 스크린샷.

또한 리소스의 계정 도메인 값을 텍스트 편집기에 복사합니다.Also copy the resource's Account Domain value into a text editor for later use.

리소스의 계정 도메인 값을 보여주는 스크린샷.

설정 아래에서 를 선택합니다.Under Settings, select Key. 나중에 사용하기 위해 기본 키 값, 계정 키 를 텍스트 편집기에 복사합니다.Copy the Primary key value, Account Key, into a text editor for later use.

계정에 대한 키 창의 스크린샷.

Unity 샘플 프로젝트 다운로드 및 열기Download and open the Unity sample project

다음 명령을 실행하여 샘플 리포지토리를 복제합니다.Clone the samples repository by running the following commands:

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

Unity에서 Unity 폴더의 프로젝트를 엽니다.In Unity, open the project in the Unity folder. Unity는 프로젝트의 버전과 컴퓨터에 설치된 버전이 차이가 있는지를 묻는 메시지를 표시할 수 있습니다.Unity might prompt you about a difference between the version in the project and the version that's installed on your machine. 이 경고는 프로젝트가 생성한 버전보다 Unity 편집기의 버전이 더 최신인 경우에는 문제가 되지 않습니다.This warning is okay, as long as your version of Unity Editor is newer than the one that the project was created with. 사용 중인 버전이 최신 버전이면 계속 을 선택합니다.If your version is newer, select Continue. 사용 중인 버전이 프로젝트에 필요한 버전보다 오래된 경우 끝내기 를 클릭하고 Unity 편집기를 업그레이드합니다.If your version is older than the one the project needs, select Quit, and upgrade your Unity Editor.

Unity 창의 스크린샷.

파일 > 빌드 설정 을 선택하여 빌드 설정 을 엽니다.Open Build Settings by selecting File > Build Settings.

플랫폼 섹션에서 iOS 를 선택합니다.In the Platform section, select iOS.

플랫폼 전환 을 선택하여 플랫폼을 iOS 로 변경합니다.Select Switch Platform to change the platform to iOS. iOS 지원 구성 요소가 누락된 경우 Unity가 이러한 구성 요소를 설치하라고 요청할 수 있습니다.Unity might prompt you to install iOS support components if they're missing.

Unity 빌드 설정 창의 스크린샷.

빌드 설정 창을 닫습니다.Close the Build Settings window.

계정 정보 구성Configure the account information

다음 단계는 계정 정보를 사용하도록 앱을 구성하는 것입니다.The next step is to configure the app to use your account information. 앞서 "Spatial Anchors 리소스 만들기" 섹션에서 계정 키, 계정 ID계정 도메인 값을 텍스트 편집기에 복사했습니다.You copied the Account Key, Account ID, and Account Domain values to a text editor earlier, in the "Create a Spatial Anchors resource" section.

프로젝트 창에서 Assets\AzureSpatialAnchors.SDK\Resources로 이동합니다.On the Project pane, go to Assets\AzureSpatialAnchors.SDK\Resources.

SpatialAnchorConfig 를 선택합니다.Select SpatialAnchorConfig. 검사기 창에서 Spatial Anchors 계정 키 의 값으로 Account Key를, Spatial Anchors 계정 ID 의 값으로 Account ID를, Spatial Anchors 계정 도메인 의 값으로 Account Domain을 입력합니다.On the Inspector pane, enter the Account Key as the value for Spatial Anchors Account Key, the Account ID as the value for Spatial Anchors Account Id, and the Account Domain as the value for Spatial Anchors Account Domain.

Xcode 프로젝트 내보내기Export the Xcode project

파일 > 빌드 설정 을 선택하여 빌드 설정 을 엽니다.Open Build Settings by selecting File > Build Settings.

빌드 장면 아래에서 모든 장면 옆에 확인 표시가 있는지 확인합니다.Under Scenes In Build, ensure all the scenes have a check mark next to them.

빌드 를 선택합니다.Select Build. 열리는 창에서 Xcode 프로젝트를 내보낼 폴더를 선택합니다.On the pane that opens, select a folder to export the Xcode project to.

내보내기가 완료되면 내보낸 Xcode 프로젝트가 포함된 폴더가 표시됩니다.When the export is complete, a folder that contains the exported Xcode project appears.

참고

바꿀지 추가할지 묻는 메시지와 함께 창이 나타나면 추가 를 선택하는 것이 더 빠릅니다.If a window appears with a message asking whether you want to replace or append, we recommend that you select Append, because it's faster. 장면의 자산을 변경하려는 경우에는 바꾸기 를 선택해야 합니다.You should select Replace only if you're changing assets in your scene. 예를 들어, 부모/자식 관계를 추가, 제거 또는 변경하거나 속성을 추가, 제거 또는 변경할 수 있습니다.For example, you might be adding, removing, or changing parent/child relationships, or you might be adding, removing, or changing properties. 소스 코드만 변경하려는 경우에는 추가 를 선택하는 것으로 충분합니다.If you're only making source code changes, Append should be enough.

Xcode 프로젝트 열기Open the Xcode project

이제 Xcode에서 Unity-iPhone.xcodeproj 프로젝트를 열 수 있습니다.Now you can open your Unity-iPhone.xcodeproj project in Xcode.

Xcode를 시작하고 내보낸 Unity-iPhone.xcodeproj 프로젝트를 열거나 프로젝트를 내보낸 위치에서 다음 명령을 실행하여 Xcode에서 프로젝트를 시작할 수 있습니다.You can either launch Xcode and open the exported Unity-iPhone.xcodeproj project or launch the project in Xcode by running the following command from the location where you exported the project:

open ./Unity-iPhone.xcodeproj

루트 Unity-iPhone 노드를 선택하여 프로젝트 설정을 살펴본 다음, 일반 탭을 선택합니다.Select the root Unity-iPhone node to view the project settings, and then select the General tab.

배포 정보 에서 배포 대상이 iOS 11.0 으로 설정되어 있는지 확인합니다.Under Deployment Info, make sure that the deployment target is set to iOS 11.0.

서명 및 기능 탭을 선택하고 서명 자동 관리 가 활성화되어 있는지 확인합니다.Select the Signing & Capabilities tab and make sure that Automatically manage signing is enabled. 그렇지 않은 경우, 표시되는 창에서 자동 사용 을 선택하여 이 옵션을 사용하도록 설정한 다음, 빌드 설정을 재설정합니다.If it's not, enable it, and then reset the build settings by selecting Enable Automatic on the pane that appears.

iOS 디바이스에 앱 배포Deploy the app to your iOS device

iOS 디바이스를 Mac에 연결하고 활성 스키마 를 iOS 디바이스로 설정합니다.Connect the iOS device to the Mac, and set the active scheme to your iOS device.

디바이스를 선택하는 내 iPhone 단추의 스크린샷.

빌드를 선택한 다음, 현재 스키마를 실행 합니다.Select Build and then run the current scheme.

"배포 및 실행" 화살표 단추의 스크린샷.

앱에서 화살표를 사용하여 BasicDemo 를 선택한 다음, Go! 를 누릅니다.In the app, select BasicDemo using the arrows, then press the Go! 데모를 실행하는 단추입니다.button to run the demo. 지침에 따라 앵커를 배치하고 회수합니다.Follow the instructions to place and recall an anchor.

스크린샷 1 스크린샷 2 스크린샷 3Screenshot 1 Screenshot 2 Screenshot 3

완료되면 Xcode에서 중지 를 눌러 앱을 중지합니다.When finished, stop the app by pressing Stop in Xcode.

문제 해결Troubleshooting

렌더링 문제Rendering issues

앱 실행 시 백그라운드로 카메라가 보이지 않으면(대신 공백, 파랑 또는 기타 질감 등이 보이면) Unity에서 자산을 다시 가져와야 할 가능성이 높습니다.When running the app, if you don't see the camera as the background (for instance you instead see a blank, blue or other textures) then you likely need to re-import assets in Unity. 앱을 중지합니다.Stop the app. Unity의 맨 위 메뉴에서 자산 -> 모두 다시 가져오기 를 선택합니다.From the top menu in Unity, choose Assets -> Re-import all. 그런 다음, 앱을 다시 실행합니다.Then, run the app again.

리소스 정리Clean up resources

이전 단계에서 Azure 리소스를 리소스 그룹에 만들었습니다.In the preceding steps, you created Azure resources in a resource group. 이러한 리소스가 나중에 필요하지 않을 경우에는 리소스 그룹을 삭제하여 해당 리소스를 삭제할 수 있습니다.If you don't expect to need these resources in the future, you can delete them by deleting the resource group.

Azure Portal 메뉴 또는 페이지에서 리소스 그룹 을 선택합니다.From the Azure portal menu or Home page, select Resource groups. 그런 다음, 리소스 그룹 페이지에서 myResourceGroup 을 선택합니다.Then, on the Resource groups page, select myResourceGroup.

myResourceGroup 페이지에서 나열된 리소스가 삭제하려는 리소스인지 확인합니다.On the myResourceGroup page, make sure that the listed resources are the ones you want to delete.

리소스 그룹 삭제 를 선택하고, 텍스트 상자에서 myResourceGroup 을 입력하여 확인한 다음, 삭제 를 선택합니다.Select Delete resource group, type myResourceGroup in the text box to confirm, and then select Delete.

다음 단계Next steps

이 빠른 시작에서는 Spatial Anchors 계정을 만들었습니다.In this quickstart, you created a Spatial Anchors account. 그런 다음, 공간 앵커를 저장하고 회수하도록 앱을 구성하고 배포했습니다.You then configured and deployed an app to save and recall spatial anchors. 다른 디바이스와 공간 앵커를 공유할 수 있도록 앱을 개선하는 방법을 자세히 알아보려면 다음 자습서를 계속 진행하세요.To learn more about how to improve the app so it can share spatial anchors with other devices, continue to the next tutorial.