iOS의 클라우드 앵커 빠른 시작

ARCore Cloud Anchor API 또는 ARCore Cloud Anchor 서비스는 iOS 앱에 클라우드 앵커 기능을 제공하므로 iOS 및 Android 기기 사용자가 AR 환경을 공유할 수 있습니다.

이 가이드에서는 다음을 수행하는 방법을 설명합니다.

  • 클라우드 앵커를 사용하도록 개발 환경 설정
  • 샘플 앱에서 앵커 호스팅 및 해결 시도

기본 요건

  • Xcode 버전 13.0 이상
  • Cocoapods를 사용하는 경우 Cocoapods 1.4.0 이상
  • iOS 12.0 이상을 실행하는 ARKit 호환 Apple 기기(iOS 12.0 이상의 배포 대상 필요)

클라우드 앵커 사용

다음 단계에서는 클라우드 앵커 샘플 앱을 사용하여 ARCore 클라우드 앵커를 지원하는 앱을 구성하고 빌드하는 중요한 작업을 보여줍니다.

Cloud Anchors 샘플 앱 가져오기

  1. 샘플 앱 코드를 가져오려면 GitHub에서 iOS용 ARCore SDK를 클론하거나 다운로드합니다.

  2. 터미널 또는 Finder 창을 열고 SDK를 클론하거나 다운로드한 폴더로 이동합니다.

  3. 샘플 앱 코드는
    /arcore-ios-sdk-master/Examples/CloudAnchorExample에서 찾을 수 있습니다.

    영구 클라우드 앵커 샘플 앱 코드는
    /arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample에 있습니다.

세션 설정

샘플 앱은 세션을 설정하는 과정에서 다음과 같은 중요한 작업을 실행합니다.

클라우드 앵커 ID 공유 설정

클라우드 앵커 샘플 앱은 Firebase를 사용하여 기기 간에 클라우드 앵커 ID를 공유합니다. 자체 앱에서 다른 솔루션을 사용할 수 있습니다.

샘플 앱에서 Firebase 데이터베이스를 설정하는 방법은 다음과 같습니다.

  1. Firebase 안내에 따라 앱에 Firebase를 추가합니다.
  2. 앱에 Firebase를 추가하는 과정에서 생성된 GoogleService-Info.plist 파일을 다운로드합니다.
  3. 샘플에 Firebase 스토리지를 사용 설정합니다.
    • Firebase Console로 이동하고 샘플 앱에 설정한 프로젝트를 선택합니다.
    • Database 패널을 선택합니다.
    • Realtime Database 옵션에서 Get Started 아이콘을 클릭합니다.
    • Security rules for Realtime Database 메뉴가 열립니다.
      • 샘플을 실행하려면 Start in test mode을 선택합니다.
      • 게시하려는 앱에 Firebase를 사용하는 경우 더 엄격한 보안 규칙을 사용해야 합니다.
  4. Xcode에서 앱의 Info.plist 옆에 GoogleService-Info.plist 파일을 추가합니다.

ARCore API 설정

클라우드 앵커를 사용하려면 먼저 애플리케이션에 ARCore API를 설정해야 합니다.

포드 업데이트 실행

CloudAnchorExample 앱에는 필요한 ARCore SDK 및 iOS 버전으로 사전 구성된 Podfile가 제공됩니다. 이러한 종속 항목을 설치하려면 다음 안내를 따르세요.

  1. 터미널 창을 열고 Xcode 프로젝트가 있는 폴더에서 pod update을 실행합니다.
    그러면 나중에 앱을 빌드하고 실행하는 데 사용할 .xcworkspace 파일이 생성됩니다.

자체 앱에서 Podfile를 구성하는 방법에 관한 자세한 내용은 앱에 ARCore SDK 추가를 참고하세요.

  1. Xcode에서 프로젝트의 .xcworkspace 파일을 엽니다.

    빌드 오류를 방지하려면 .xcodeproj 파일이 아닌 .xcworkspace 파일에서 빌드해야 합니다.

App Bundle ID 변경

팀과 함께 앱에 서명할 수 있도록 Xcode에서 앱의 번들 ID를 변경합니다.

앱 빌드 및 실행

  1. 기기를 연결하고 Xcode에서 앱을 실행합니다.

  2. (선택사항) 샘플 앱을 빌드하고 실행하는 경우 앱을 사용하여 클라우드 앵커를 호스팅하고 확인하는 방법에 대한 자세한 내용은 다음 섹션을 참고하세요.

샘플 앱 사용해 보기

  1. .xcworkspace 파일의 샘플 앱을 빌드하고 실행하여 기기에서 실행합니다.

  2. 메시지가 표시되면 앱에 카메라 권한을 부여합니다. 그러면 ARKit에서 카메라 앞에서 평면 감지를 시작합니다.

  3. HOST 아이콘을 탭하여 호스팅 모드로 전환합니다. 호스팅된 앵커를 공유하기 위한 방 코드가 생성되어 화면에 표시됩니다.

  4. 비행기를 탭하여 클라우드 앵커 호스팅을 시작합니다.

    • 앱이 평면에 앤디 Android 객체를 배치하고 여기에 앵커를 연결합니다.
    • 호스트 요청이 ARCore API 클라우드 엔드포인트로 전송됩니다. 호스트 요청에는 근처의 시각적 특징을 기준으로 앵커의 위치를 나타내는 데이터가 포함됩니다.
    • 앵커가 호스팅되면 이 공간에서 클라우드 앵커를 확인하는 데 사용되는 ID를 가져옵니다.
  5. RESOLVE를 탭하고 방 코드를 입력하여 동일하거나 다른 기기를 사용하여 이 방에 대해 이전에 호스팅된 클라우드 앵커에 액세스합니다.

    • 확인 요청이 ARCore API 클라우드 엔드포인트로 전송됩니다.
    • 확인 요청에 클라우드 앵커 ID가 포함되어 있습니다. ID가 호스팅된 앵커와 일치하고 현지화에 성공하면 서버는 로컬 좌표에 앵커의 변환을 반환합니다.
    • 샘플 앱은 변환을 사용하여 장면에 앵커를 추가하고 여기에 연결된 가상 객체를 렌더링합니다.

앱에 ARCore SDK 추가

자체 앱에서 ARCore SDK 및 지원되는 iOS 버전 관리를 포함하도록 Podfile를 업데이트해야 합니다. 방법은 다음과 같습니다.

  1. 프로젝트의 Podfile에 다음 platformpod를 추가합니다.

        platform :ios, '11.0'
        pod 'ARCore/CloudAnchors', '~> 1.41.0'
    
  1. 터미널 창을 열고 Xcode 프로젝트가 있는 폴더에서 pod update을 실행합니다.
    그러면 앱을 빌드하고 실행하는 데 사용하는 .xcworkspace 파일이 생성됩니다.

영구 클라우드 앵커

지속성으로 클라우드 앵커 호스팅에 설명된 대로 클라우드 앵커에 최대 365일의 TTL(수명)을 부여할 수 있습니다. 영구 클라우드 앵커를 사용하는 샘플 코드는 GitHub의 iOS용 ARCore SDK/arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample 디렉터리에서 확인할 수 있습니다.

다음 단계