ARCore의 새로운 변경사항과 주목할 만한 변경사항
ARCore v1.50.0의 새로운 기능
ARCore SDK의 targetSdkVersion
변경사항
ARCore의 targetSdkVersion
가 Android API 수준 36으로 업데이트되었습니다. 앱이 targetSdkVersion
를 지정하지 않으면 매니페스트 병합으로 인해 앱의 targetSdkVersion
가 36이 됩니다.
Unity의 경우 Unity 프로젝트의 Project Settings(프로젝트 설정) > Player(플레이어) > Android > Other Settings(기타 설정)에서 Target API Level(타겟 API 수준)을 지정하면 ARCore의 targetSdkVersion
값이 재정의됩니다.
ARCore v1.49.0의 새로운 기능
다양한 버그 수정 및 성능 개선
ARCore v1.48.0의 새로운 기능
Unity 6 및 AR Foundation 6 지원이 정식 출시됨
이제 Unity의 AR Foundation용 ARCore 확장 프로그램에서 AR Foundation 6을 지원합니다. 다음 설치 방법을 사용하여 AR Foundation과 호환되는 버전의 ARCore Extensions를 획득하세요.
Add package from git url...
를 통해:https://github.com/google-ar/arcore-unity-extensions.git#arf6
를 사용합니다.Add package from tarball...
사용: 버전 페이지에서arf6
로 표시된 버전을 사용합니다.
AR Foundation 5에서 AR Foundation 6로 프로젝트를 업그레이드하려면 다음 가이드를 참고하세요.
브레이킹 체인지 및 동작 변경사항
- SDK가 더 이상 iOS 버전 13.0 미만의 배포 타겟을 지원하지 않음
ARCore v1.47.0의 새로운 기능
Unity 6 및 AR Foundation 6 베타 지원
이제 Unity용 ARCore 확장 프로그램의 AR Foundation에서 AR Foundation 6 베타를 지원하여 Unity 6를 지원합니다. 다음 설치 방법을 사용하여 AR Foundation과 호환되는 버전의 ARCore Extensions를 획득하세요.
Add package from git url...
를 통해:https://github.com/google-ar/arcore-unity-extensions.git#arf6
를 사용합니다.Add package from tarball...
사용: 버전 페이지에서arf6
로 표시된 버전을 사용합니다.
AR Foundation 5에서 AR Foundation 6로 프로젝트를 업그레이드하려면 다음 가이드를 참고하세요.
버그 수정
- Unity 6에서 Cloud Anchor 샘플의 평면이 투명하지 않은 문제 수정
기타 변경사항
- ARCore Extensions GitHub 저장소의
main
브랜치가arf5
브랜치를 추적하도록 전환되었습니다.
ARCore v1.46.0의 새로운 기능
ARCore SDK의 targetSdkVersion
변경사항
ARCore의 targetSdkVersion
가 Android API 수준 35로 업데이트되었습니다. 앱이 targetSdkVersion
을 지정하지 않는 경우 매니페스트 병합으로 인해 앱의 targetSdkVersion
이 35가 됩니다.
Unity의 경우 Unity 프로젝트의 Project Settings(프로젝트 설정) > Player(플레이어) > Android > Other Settings(기타 설정)에서 Target API Level(타겟 API 수준)을 지정하면 ARCore의 targetSdkVersion
값이 재정의됩니다.
ARCore v1.45.0의 새로운 기능
Flash Mode API
이제 ARCore에서 기기의 손전등 모드를 사용 설정할 수 있으므로 어두운 환경에서 인식 기능을 개선할 수 있습니다.
Android (Kotlin/Java)
Config.FlashMode
: 기기에서 플래시 단위를 사용 설정하거나 사용 중지하는 구성 옵션입니다.- 플래시 기능을 감지하고 토치 모드를 사용 설정하는 방법에 관한 자세한 내용은 개발자 가이드를 참고하세요.
Android NDK (C)
ArFlashMode
: 기기에서 플래시 단위를 사용 설정하거나 사용 중지하는 구성 옵션입니다.- 플래시 기능을 감지하고 토치 모드를 사용 설정하는 방법에 관한 자세한 내용은 개발자 가이드를 참고하세요.
Unity용 ARCore 확장 프로그램의 AR Foundation은 AR Foundation 5를 지원합니다.
이제 AR Foundation용 ARCore 확장 프로그램이 AR Foundation 5를 공식적으로 지원합니다. AR Foundation 5 (Unity 버전 2022 및 2023에서 확인된 버전)를 사용하는 경우 다음 설치 방법을 사용하여 호환되는 버전의 ARCore Extensions for AR Foundation을 획득하세요.
Add package from git url...
를 통해:https://github.com/google-ar/arcore-unity-extensions.git#arf5
사용Add package from tarball...
를 통해: 출시 페이지에서arf5
로 표시된 출시를 사용합니다.
AR Foundation 버전 4를 계속 사용하는 프로젝트는 다음 설치 방법을 사용할 수 있습니다.
Add package from git url...
를 통해:https://github.com/google-ar/arcore-unity-extensions.git#arf4
사용Add package from tarball...
를 통해: 출시 페이지에서arf4
로 표시된 출시를 사용합니다.
AR Foundation 4에서 AR Foundation 5로 프로젝트를 업그레이드하려면 이전 가이드를 참고하세요.
베타 지원의 ARCORE_USE_ARF_5
와 같은 맞춤 스크립팅 기호는 더 이상 사용되지 않습니다.
ARCore v1.44.0의 새로운 기능
이번 출시에는 새로운 기능이 없습니다.
ARCore v1.43.0의 새로운 기능
Geospatial Creator의 Places API 이전
Geospatial Creator의 검색 기능이 이제 Google의 New Places API를 사용합니다. 검색 기능을 사용하려면 Google Cloud 콘솔에서 'Places API (신규)'를 사용 설정하세요.
ARCore v1.42.0의 새로운 기능
Unity용 Geospatial Creator에서 타일에 스냅
ARGeospatialCreatorAnchor
편집기 인스펙터 패널에 '타일에 맞추기' 버튼이 추가되었습니다. 이 버튼은 앵커의 현재 위도와 경도에서 지형 또는 루프톱 앵커의 편집기 전용 고도 값을 3D 타일 지오메트리의 상단으로 설정합니다. 이 속성은 런타임 동작에 영향을 미치지 않습니다. 이렇게 하면 런타임의 위치와 일치하도록 편집기에서 앵커의 위치를 조정할 수 있습니다.
ARCore v1.41.0의 새로운 기능
Geospatial Creator API
이제 Unity용 Geospatial Creator에 편집기 모드에서 Geospatial Creator 객체를 만들고 조작하는 기능이 포함됩니다. 새로 제공되는 클래스와 API는 Geospatial Creator API 가이드에 설명되어 있습니다.
AR Foundation 버전 5.x 지원 (베타)
이제 Unity용 ARCore 확장 프로그램의 AR Foundation에서 AR Foundation 버전 5.x를 지원합니다. 기존 프로젝트를 AR Foundation으로 이전하려면 이전 가이드를 참고하세요.
ARCore v1.40.0의 새로운 기능
iOS의 장면 시맨틱
이제 Scene Semantics API를 iOS용 ARCore SDK와 iOS 플랫폼을 타겟팅하는 Unity용 AR Foundation의 ARCore 확장 프로그램에서 사용할 수 있습니다. Scene Semantics API를 사용하면 개발자가 사용자 주변의 장면을 실시간으로 파악하여 픽셀을 11가지 실외 구성요소 클래스로 라벨링할 수 있습니다. 자세한 내용은 장면 시맨틱 소개를 참고하세요.
iOS
Unity (AR Foundation)
Unity용 Geospatial Creator에서 관심 장소 검색하기
이제 Unity용 Geospatial Creator에서 텍스트 검색을 지원하여 포토그래픽 3D 타일 뷰를 배치할 수 있습니다. 자세한 내용은 지리공간 생성기에서 관심 장소 검색하기를 참고하세요.
ARCore v1.39.0의 새로운 기능
이번 출시에는 새로운 기능이 없습니다.
ARCore v1.38.0의 새로운 기능
이번 출시에는 새로운 기능이 없습니다.
ARCore v1.37.0의 새로운 기능
장면 시맨틱스
Scene Semantics는 주변 장면의 세부정보를 더 풍부하게 제공하여 사용자가 주변 환경을 더 쉽게 이해할 수 있도록 지원합니다. Scene Semantics는 카메라 이미지 피드에서 ML 모델을 실행하고 각 픽셀이 11개 야외 개념 라벨 중 하나에 해당하는 시맨틱 이미지를 제공합니다.
자세한 내용은 장면 시맨틱 소개 및 semantics_java 샘플 앱을 참고하세요.
Streetscape Geometry
Streetscape Geometry는 Geospatial API가 사용 설정된 경우 사용자 주변 지역의 건물과 지형에 관한 지오메트리를 제공하는 새로운 ARCore Geospatial API입니다.
Android (Kotlin/Java)
거리 풍경 형태 개발자 가이드 (Kotlin/Java)를 참고하세요. 또한 geospatial_java 샘플 앱이 업데이트되어 거리 풍경 형태가 포함되었습니다.
Android NDK (C)
자세한 내용은 거리 풍경 형태 개발자 가이드 (C)를 참고하세요.
Unity (AR Foundation)
자세한 내용은 거리 풍경 형태 개발자 가이드 (Unity)를 참고하세요.
iOS
자세한 내용은 거리 풍경 형태 개발자 가이드 (iOS)를 참고하세요. 또한 GeospatialExample 앱이 Streetscape Geometry를 포함하도록 업데이트되었습니다.
GARStreetscapeGeometry
:GARStreetscapeGeometry.mesh
는 3D 메시를 제공합니다.GARStreetscapeGeometry.meshTransform
은 세션의 세계 공간을 기준으로 하는 도형의 원점 변환을 제공합니다.GARStreetscapeGeometry.trackingState
는 추적 상태를 유지합니다.GARStreetscapeGeometry.type
는 지형인지 건물 도형인지 나타냅니다.GARStreetscapeGeometry.quality
은(는) 형상의 품질을 제공합니다.GARStreetscapeGeometry.identifier
은 형상의 고유 식별자를 제공합니다.GARSession.createAnchorOnStreetscapeGeometry:transform:error:
는 지정된 위치와 방향에 앵커를 만듭니다.GARSession.raycastStreetscapeGeometry:direction:error:
는 장면에서 로드된 거리 풍경 형태에 대해 광선 투사를 실행합니다.
루프탑 앵커
옥상 앵커는 콘텐츠를 옥상에 고정하는 데 도움이 되는 새로운 공간 앵커 유형입니다.
Android (Kotlin/Java)
지리 공간 앵커 (Java)를 참고하세요. 또한 geospatial_java 샘플 앱이 업데이트되어 옥상 앵커가 포함되었습니다.
Android NDK (C)
자세한 내용은 지리 공간 앵커 (C)를 참고하세요.
Unity (AR Foundation)
자세한 내용은 지리 공간 앵커를 참고하세요. 또한 지리 공간 샘플이 루프톱 앵커를 포함하도록 업데이트되었습니다.
ARAnchorManagerExtensions.ResolveAnchorOnRooftopAsync()
는 지정된 위도, 경도, 옥상 위 고도, 방향에 있는 장면의 게임 객체에 앵커를 제공합니다.ResolveAnchorOnRooftopPromise
ResolveAnchorOnRooftopResult
iOS
자세한 내용은 지리 공간 앵커 (iOS)를 참고하세요. 또한 GeospatialExample 앱이 옥상 앵커를 포함하도록 업데이트되었습니다.
GARSession.createAnchorWithCoordinate:altitudeAboveRooftop:eastUpSouthQAnchor:completionHandler:error:
는 지정된 위치, 루프톱 위 고도(미터), 지구를 기준으로 한 방향에 루프톱 앵커를 만듭니다.GARCreateAnchorOnRooftopFuture
는 옥상 앵커 확인의 비동기 상태를 보유합니다.GARRooftopAnchorState
는 옥상 앵커를 확인하는 상태를 설명합니다.
Geospatial Depth
VPS가 적용되는 영역의 ARCore 세션에서 Depth API와 Streetscape Geometry 모드가 모두 사용 설정되면 생성된 깊이 이미지가 Streetscape Geometry를 사용하여 개선됩니다. 거리 풍경 형태는 생성된 각 깊이 이미지에 65.535미터 범위까지 통합됩니다. 이 이점을 확인하기 위해 Depth API를 호출할 때 변경할 필요는 없습니다.
Android (Kotlin/Java)
자세한 내용은 지리 공간 깊이 (Java)를 참고하세요.
Android NDK (C)
자세한 내용은 지리 공간 깊이 (C)를 참고하세요.
Unity (AR Foundation)
자세한 내용은 지리 공간 깊이 (C)를 참고하세요.
iOS
장면 시맨틱은 현재 iOS에서 사용할 수 없습니다.
Vulkan 렌더링 지원
이제 ARCore는 AHardwareBuffer
를 통해 카메라 이미지를 노출하여 Vulkan 렌더링 지원을 제공합니다. VkImage
에 바인딩하여 이 하드웨어 버퍼를 사용할 수 있습니다.
자세한 내용은 Vulkan을 사용하여 ARCore 애플리케이션 렌더링 및 hello_ar_vulkan_c 샘플 앱을 참고하세요.
Android (Kotlin/Java)
Android NDK (C)
Unity (AR Foundation)
현재 AR Foundation을 사용하는 Unity에서는 Vulkan 렌더링을 사용할 수 없습니다.
전자식 손떨림 보정 (EIS)
전자 이미지 안정화 기능을 사용하도록 ARCore를 구성하여 카메라 프레임을 부드럽게 만들어 사용자 환경을 더욱 유려하게 만들 수 있습니다.
자세한 내용은 전자식 손떨림 보정 사용 설정 및 hello_eis_kotlin 샘플 앱을 참고하세요.
Android (Kotlin/Java)
Config.ImageStabilizationMode
Frame.transformCoordinates3d()
Session.isImageStabilizationModeSupported()
OPENGL_NORMALIZED_DEVICE_COORDINATES
이 아닌 2D 좌표로Frame.transformCoordinates3d()
를 호출하면IllegalArgumentException
를 발생시키는 대신 비정상 종료가 발생하는 알려진 문제가 있습니다. 이 문제는 다음 버전에서 해결될 예정입니다.
Android NDK (C)
ArImageStabilizationMode
ArFrame_transformCoordinates3d()
ArSession_isImageStabilizationModeSupported()
AR_COORDINATES_2D_OPENGL_NORMALIZED_DEVICE_COORDINATES
이외의 2D 좌표로ArFrame_transformCoordinates3d()
를 호출하면AR_ERROR_INVALID_ARGUMENT
를 반환하는 대신 앱이 중단되는 알려진 문제가 있습니다. 이 문제는 다음 버전에서 해결될 예정입니다.
Unity (AR Foundation)
현재 AR Foundation을 사용하는 Unity에서는 EIS를 사용할 수 없습니다.
iOS
EIS는 현재 iOS에서 사용할 수 없습니다.
ARCore 비동기 API
이 출시에서는 Future 및 Promise 패러다임에 따라 비동기 작업 시 인체 공학을 개선하는 새로운 ARCore 비동기 API가 도입되었습니다.
Android (Kotlin/Java)
- 지형 앵커 확인:
Earth.resolveAnchorOnTerrainAsync()
를 사용하여ResolveAnchorOnTerrainFuture
를 가져옵니다. 이전 기호Earth.resolveAnchorOnTerrain()
는 지원 중단되었으며 이후 버전의 ARCore에서 삭제될 수 있습니다. - 클라우드 앵커 확인:
Session.resolveCloudAnchorAsync()
를 사용하여ResolveCloudAnchorFuture
를 가져옵니다. 이전 기호Session.resolveCloudAnchor()
는 지원 중단되었으며 이후 버전의 ARCore에서 삭제될 수 있습니다. - 클라우드 앵커 호스팅:
Session.hostCloudAnchorAsync()
를 사용하여HostCloudAnchorFuture
를 획득합니다. 이전 기호Session.hostCloudAnchor()
및Session.hostCloudAnchorWithTtl()
은 지원 중단되었으며 이후 버전의 ARCore에서 삭제될 수 있습니다. - APK 사용 가능 여부 확인:
ArCoreApk.checkAvailabilityAsync()
를 사용하여 콜백을 등록합니다. 이전 기호ArCoreApk.checkAvailability()
는 지원 중단되지 않았습니다.
Android NDK (C)
- 지형 앵커 확인:
ArEarth_resolveAnchorOnTerrainAsync()
를 사용하여ArResolveAnchorOnTerrainFuture
를 획득하거나ArResolveAnchorOnTerrainCallback
를 사용합니다. 이전 기호ArEarth_resolveAndAcquireNewAnchorOnTerrain()
는 지원 중단되었으며 이후 버전의 ARCore에서 삭제될 수 있습니다. - 클라우드 앵커 확인:
ArSession_resolveCloudAnchorAsync()
를 사용하여ArResolveCloudAnchorFuture
를 획득하거나ArResolveCloudAnchorCallback
를 사용합니다. 이전 기호ArSession_resolveAndAcquireNewCloudAnchor()
는 지원 중단되었으며 이후 버전의 ARCore에서 삭제될 수 있습니다. - 클라우드 앵커 호스팅:
ArSession_hostCloudAnchorAsync()
를 사용하여ArHostCloudAnchorFuture
를 획득하거나ArHostCloudAnchorCallback
를 사용합니다. 이전 기호ArSession_hostAndAcquireNewCloudAnchor()
및ArSession_hostAndAcquireNewCloudAnchorWithTtl()
은 지원 중단되었으며 이후 버전의 ARCore에서 삭제될 수 있습니다. - APK 사용 가능 여부 확인:
ArCoreApk_checkAvailabilityAsync()
를 사용하여 콜백을 등록합니다. 이전 기호ArCoreApk_checkAvailability()
는 지원 중단되지 않았습니다.
Unity (AR Foundation)
- 지형 앵커 확인:
ARAnchorManagerExtensions.ResolveAnchorOnTerrainAsync()
를 사용하여ResolveAnchorOnTerrainPromise
를 가져옵니다. 이전 기호ARAnchorManagerExtensions.ResolveAnchorOnTerrain()
는 지원 중단되었으며 이후 버전의 ARCore에서 삭제될 수 있습니다. - 클라우드 앵커 확인:
ARAnchorManagerExtensions.ResolveCloudAnchorAsync()
를 사용하여ResolveCloudAnchorPromise
를 가져옵니다. 이전 기호ARAnchorManagerExtensions.ResolveCloudAnchorId()
는 지원 중단되었으며 이후 버전의 ARCore에서 삭제될 수 있습니다. - 클라우드 앵커 호스팅:
ARAnchorManagerExtensions.HostCloudAnchorAsync()
를 사용하여HostCloudAnchorPromise
를 획득합니다. 이전ARAnchorManagerExtensions.HostCloudAnchor()
기호는 지원 중단되었으며 이후 버전의 ARCore에서 삭제될 수 있습니다.
iOS
- 지형 앵커 확인:
GARSession.createAnchorWithCoordinate:altitudeAboveTerrain:eastUpSouthQAnchor:completionHandler:error:
를 사용하여GARCreateAnchorOnTerrainFuture
를 가져옵니다. 이전 기호GARSession.createAnchorWithCoordinate:altitudeAboveTerrain:eastUpSouthQAnchor:error:
는 지원 중단되었으며 이후 버전의 ARCore에서 삭제될 수 있습니다. - 클라우드 앵커 확인:
GARSession.resolveCloudAnchorWithIdentifier:completionHandler:error:
를 사용하여GARResolveCloudAnchorFuture
를 가져옵니다. 이전 기호GARSession.resolveCloudAnchorWithIdentifier:error:
는 지원 중단되었으며 이후 버전의 ARCore에서 삭제될 수 있습니다. - 클라우드 앵커 호스팅:
GARSession.hostCloudAnchor:TTLDays:completionHandler:error:
를 사용하여GARHostCloudAnchorFuture
를 획득합니다. 이전 기호GARSession.hostCloudAnchor:error:
및GARSession.hostCloudAnchor:TTLDays:error:
은 지원 중단되었으며 이후 버전의 ARCore에서 삭제될 수 있습니다.
ARCore v1.36.0의 새로운 기능
iOS의 Swift Package Manager 지원
이제 iOS용 ARCore SDK가 Swift Package Manager를 공식적으로 지원합니다. Swift Package Manager를 사용하여 ARCore와 통합하는 방법에 관한 안내는 iOS 앱에서 AR 사용 설정을 참고하세요.
ARCore v1.35.0의 새로운 기능
지리 공간 자세 정확도가 방향을 요로 대체
이제 모든 지리 공간 포즈가 방향 정확도를 노출하여 방향 정확도를 대체합니다.
- Java/Kotlin:
GeospatialPose.getHeading()
를GeospatialPose.getEastUpSouthQuaternion()
로,GeospatialPose.getHeadingAccuracy()
를GeospatialPose.getOrientationYawAccuracy()
로 바꿉니다. - C:
ArGeospatialPose_getHeading()
을ArGeospatialPose_getEastUpSouthQuaternion()
로,ArGeospatialPose_getHeadingAccuracy()
을ArGeospatialPose_getOrientationYawAccuracy()
로 바꿉니다. - iOS:
GARGeospatialTransform.heading
을GARGeospatialTransform.eastUpSouthQTarget
로,GARGeospatialTransform.headingAccuracy
을GARGeospatialTransform.orientationYawAccuracy
로 바꿉니다. - Unity:
GeospatialPose.Heading
을GeospatialPose.EunRotation
로,GeospatialPose.HeadingAccuracy
을GeospatialPose.OrientationYawAccuracy
로 바꿉니다.
추가 변경사항 및 업데이트
기타 변경사항, 버그 수정, 성능 개선사항은 출시 노트를 참고하세요.
- Android용 ARCore SDK 출시 노트
- Android NDK용 ARCore 출시 노트
- iOS용 ARCore SDK 출시 노트
- AR Foundation용 ARCore 확장 프로그램 출시 노트
ARCore v1.34.0의 새로운 기능
기기의 현재 위치에서 공간 컴퓨팅 기능을 사용할 수 있는지 확인
이제 Geospatial API는 런타임에 지정된 수평 위치에서 VPS (Visual Positioning System) 사용 가능 여부를 확인할 수 있습니다. 이 API는 활성 AR 세션 없이 사용할 수 있습니다. 예를 들어 VPS가 사용 가능한 경우에만 'AR 시작' 버튼을 표시할 수 있습니다.
- Java/Kotlin:
Session.checkVpsAvailabilityAsync()
- C:
ArSession_checkVpsAvailabilityAsync()
- iOS:
GARSession.checkVPSAvailabilityAtCoordinate:completionHandler:
- Unity (AR Foundation):
AREarthManager.CheckVpsAvailability()
지리 공간 자세 방향
이제 지리 공간 포즈가 3D 공간에서 방향을 노출합니다.
- Java/Kotlin:
feedbackGeospatialPose.getEastUpSouthQuaternion()
- C:
ArEarth_getGeospatialPose()
- iOS:
GARGeospatialTransform.eastUpSouthQTarget
- Unity:
GeospatialPose.EunRotation()
지리 공간적 포즈 변환
이제 지리 공간 자세를 월드 스페이스(AR) 자세로 변환하거나 월드 스페이스(AR) 자세에서 변환할 수 있습니다.
AR 포즈에서 공간 위치를 가져오려면 다음 단계를 따르세요.
- Java/Kotlin:
Earth.getGeospatialPose()
- C:
ArEarth_getGeospatialPose()
- iOS:
GARSession.geospatialTransformFromTransform:error:
- Unity:
AREarthManager.Convert(Pose)
지리 공간 포즈에서 AR 포즈를 가져오려면 다음 단계를 따르세요.
- Java/Kotlin:
Earth.getPose()
- C:
ArEarth_getPose()
- iOS:
GARSession.transformFromGeospatialCoordinate:altitude:eastUpSouthQTarget:error:
- Unity:
AREarthManager.Convert(GeospatialPose)
이러한 함수에서 획득한 지리 공간적 포즈의 방향 값은 0으로 설정됩니다. 대신 다음을 사용하세요.
- Android (Java/Kotlin/C): 포즈의 EUS 쿼터니언
- iOS: 포즈의
eastUpSouthQTarget
- Unity: 포즈의
EunRotation
추가 변경사항 및 업데이트
기타 변경사항, 버그 수정, 성능 개선사항은 출시 노트를 참고하세요.
- Android용 ARCore SDK 출시 노트
- Android NDK용 ARCore 출시 노트
- iOS용 ARCore SDK 출시 노트
- AR Foundation용 ARCore 확장 프로그램 출시 노트
ARCore v1.33.0의 새로운 기능
새 Cloud Anchors 엔드포인트
- 이제 클라우드 앵커를 사용하려면 지원 중단된 이전 ARCore Cloud Anchor API 대신 ARCore API를 사용 설정해야 합니다. 이전 앱 버전을 지원하려면 전환하는 동안 두 가지를 모두 사용 설정하면 됩니다. ARCore SDK 1.32.0 이하로 빌드된 앱은 이전 API를 타겟팅하고 ARCore SDK 1.33.0 이상으로 빌드된 앱은 새 API를 타겟팅합니다. 다음 내용을 참고하세요.
- 새 API는
arcorecloudanchor.googleapis.com
대신 도메인 이름arcore.googleapis.com
를 사용합니다. - API로 제한된 API 키를 사용하는 경우 ARCore API를 허용해야 합니다.
- 백엔드에서 ARCore Cloud Anchor Management API로 요청을 보내는 경우 ARCore API를 사용 설정한 후 도메인 이름을
arcore.googleapis.com
로 변경해야 합니다. - 이전 API/엔드포인트는 2023년 8월까지 계속 지원됩니다.
- 자세한 내용은 ARCore 1.33 클라우드 앵커 엔드포인트 변경사항을 참고하세요.
- 새 API는
지형 앵커
- 지리 공간 지형 앵커 API는 지정된 수평 위치와 수평 위치의 지형을 기준으로 한 고도에 앵커를 만듭니다.
추가 변경사항 및 업데이트
기타 변경사항, 버그 수정, 성능 개선사항은 출시 노트를 참고하세요.
- Android용 ARCore SDK 출시 노트
- Android NDK용 ARCore 출시 노트
- iOS용 ARCore SDK 출시 노트
- AR Foundation용 ARCore 확장 프로그램 출시 노트
ARCore v1.32.0의 새로운 기능
이번 출시에는 새로운 기능이 없습니다.
Android 및 Unity (AR Foundation) for Android
- ARCore의
targetSdkVersion
가 Android API 수준 32로 업데이트되었습니다. 앱이targetSdkVersion
을 지정하지 않는 경우 매니페스트 병합으로 인해 앱의targetSdkVersion
이 32가 됩니다.- Android SDK: 프로젝트의
build.gradle
또는AndroidManifest.xml
에targetSdkVersion
를 지정하면 ARCore의targetSdkVersion
값이 재정의됩니다. - Android용 AR Foundation: Unity 프로젝트의 Project Settings > Player > Android > Other Settings에서 Target API Level을 지정하면 ARCore의
targetSdkVersion
값이 재정의됩니다.
- Android SDK: 프로젝트의
추가 변경사항 및 업데이트
기타 변경사항, 버그 수정, 성능 개선사항은 출시 노트를 참고하세요.
- Android용 ARCore SDK 출시 노트
- Android NDK용 ARCore 출시 노트
- iOS용 ARCore SDK 출시 노트
- AR Foundation용 ARCore 확장 프로그램 출시 노트
ARCore v1.31.0의 새로운 기능
ARCore Geospatial API
새로운 ARCore Geospatial API는 Google 어스 3D 모델의 데이터와 Google 지도의 스트리트 뷰 이미지 데이터를 활용하여 몰입형, 전 세계적 규모의 위치 기반 증강 현실 환경을 앱에서 지원할 수 있도록 합니다.
플랫폼별 개발자 문서와 새로운 Geospatial API를 시작하려면 ARCore Geospatial API 소개를 참고하세요.
장거리 심도
이제 ARCore Depth API가 장거리 깊이 감지를 포함하도록 최적화되어 표현 가능한 깊이 관찰 범위가 늘어납니다. 깊이 이미지의 16비트가 모두 사용되어 최대 범위가 65, 535mm입니다. 이전에는 13비트만 채워졌으며 한도는 8191밀리미터였습니다.
플랫폼별 개발자 문서와 Depth API 변경사항을 이해하려면 깊이 변경사항을 참고하세요.
플랫폼별 참고사항
Android
새로운 ARCore Geospatial API
자바
Earth
는 지구 상대 좌표로 현지화 기능을 제공합니다.Earth.createAnchor()
는 지정된 위치와 지구를 기준으로 한 방향에 새Anchor
를 만듭니다.
Earth.Earthstate
는TrackingState
을 포함한Earth
의 현재 상태를 설명합니다.GeospatialPose
은 지구를 기준으로 한 특정 위치, 고도, 나침반 방향을 설명합니다.
C
ArEarth
은 지구 상대 좌표에서 현지화 기능을 제공합니다.ArEarth_acquireNewAnchor()
는 지정된 위치와 지구를 기준으로 한 방향에 새Anchor
를 만듭니다.ArEarthState
는ArTrackingState
을 포함한ArEarth
의 현재 상태를 설명합니다.
ArGeospatialPose
은 지구를 기준으로 한 특정 위치, 고도, 나침반 방향을 설명합니다.
ARCore Depth API 업데이트
자바
- 심도 API 함수 호출이 변경되었습니다.
Frame.acquireDepthImage16Bits
에서Frame.acquireDepthImage
로.Frame.acquireRawDepthImage16Bits
에서Frame.acquireRawDepthImage
로.- 두 호출의 출력 이미지 형식이
android.graphics.ImageFormat#DEPTH16
에서android.hardware.HardwareBuffer#D_16
로 변경되었습니다. - 깊이는 여전히 밀리미터 단위의 16비트 정수로 표현되지만 이제 16비트가 모두 깊이를 표현하는 데 사용되므로 표현 가능한 최대 범위가 8191mm에서 65535mm로 늘어납니다.
- Depth API 함수 호출
Frame.acquireDepthImage
및Frame.acquireRawDepthImage
이 지원 중단되었습니다. 대신Frame.acquireDepthImage16Bits
및Frame.acquireRawDepthImage16Bits
를 사용하세요.
- 심도 API 함수 호출이 변경되었습니다.
C
- 심도 API 함수 호출이 변경되었습니다.
ArFrame_acquireDepthImage16Bits
에서ArFrame_acquireDepthImage
로.ArFrame_acquireRawDepthImage
~ArFrame_acquireRawDepthImage16Bits
- 두 호출의 출력 이미지 형식이
AR_IMAGE_FORMAT_DEPTH16
에서AR_IMAGE_FORMAT_D_16
로 변경되었습니다. - 깊이는 여전히 밀리미터 단위의 16비트 정수로 표현되지만 이제 16비트가 모두 깊이를 표현하는 데 사용되므로 표현 가능한 최대 범위가 8191mm에서 65535mm로 늘어납니다.
- Depth API 함수 호출
ArFrame_acquireDepthImage
및ArFrame_acquireRawDepthImage
이 지원 중단되었습니다. 대신ArFrame_acquireDepthImage16Bits
및ArFrame_acquireRawDepthImage16Bits
를 사용하세요.
- 심도 API 함수 호출이 변경되었습니다.
Unity (AR Foundation)
새로운 ARCore Geospatial API:
AREarthManager
은 지구 상대 좌표에서 현지화 기능을 제공합니다.EarthTrackingState
는 최신 프레임의 어스 추적 상태를 가져옵니다.EarthState
은 지구 오류 조건을 유지합니다.
GeospatialPose
은(는) 지구를 기준으로 특정 위치, 고도, 나침반 방향을 설명합니다.ARGeospatialAnchor
는 장면의 게임 객체에 대한 앵커를 제공하며, 이는 지구를 기준으로 한 위치와 방향으로 지정됩니다.
iOS
새로운 ARCore Geospatial API:
GAREarth
지구 상대적 현지화를 제공합니다.GAREarthState.earthState
오류 상태와 조건을 관리합니다.GAREarthState.trackingState
은 지리 공간 데이터에 필요한 추적 상태를 유지합니다.
GARGeospatialTransform
위치, 방향, 고도, 정확도 추정치를 포함한 전역 변환의 표현입니다.GARSession.createAnchorWithCoordinate:altitude:eastUpSouthQAnchor:error:
지구에 상대적인 지정된 위치와 방향에 공간 앵커를 만듭니다.
기타 변경사항
기타 변경사항, 버그 수정, 성능 개선사항은 출시 노트를 참고하세요.
- Android용 ARCore SDK 출시 노트
- Android NDK용 ARCore 출시 노트
- iOS용 ARCore SDK 출시 노트
- AR Foundation용 ARCore 확장 프로그램 출시 노트
ARCore v1.30.0의 새로운 기능
이번 출시에는 새로운 기능이 없습니다.
Android
@NonNull
및@Nullable
로 API 반환 값에 주석을 달았습니다.- 샘플 빌드에 사용되는 빌드 도구 버전이 업데이트되었습니다. Gradle은 7.0.2로, Android Gradle 플러그인은 7.0.4로 업데이트되었습니다. 기존 ARCore 애플리케이션의 경우 이러한 도구를 업그레이드할 필요가 없습니다. 새 기능, 알려진 문제, 비호환성 정보는 Android Gradle 플러그인에 관한 Android 문서를 참고하세요.
Unity (AR Foundation)
새
arcore-unity-extensions-without-edm4u.tgz
출시가 추가되었습니다. 이 출시 변형은 Unity용 외부 종속 항목 관리자와 같은 외부 종속 항목을 번들로 제공하지 않으며 EDM으로 업그레이드할 수 있습니다. 이 라이트 버전을 사용하면 Firebase 라이브러리 사용 시 비호환성 문제가 해결될 수 있습니다. 시작하려면 AR Foundation용 ARCore 확장 프로그램 설치 안내를 참고하세요.2021.2 이상을 더 잘 지원하도록 ExternalDependencyManager가 v1.2.168로 업그레이드되었습니다. 자세한 내용은 EDM 변경 로그를 참고하세요.
세션 구성이 변경되지 않아도 ARCore 세션이 모든 프레임을 구성하여 FPS가 저하되는 문제를 수정했습니다.
iOS
- 다양한 버그 수정 및 성능 개선
ARCore v1.29.0의 새로운 기능
이번 출시에는 새로운 기능이 없습니다.
Android
- hello_ar_java 및 hello_ar_kotlin:
SCREENSPACE_WITH_APPROXIMATE_DISTANCE
를 사용하여 배치된 객체를 즉시 배치를 사용하여 배치된 객체와 더 잘 구분할 수 있도록 객체의 색상을 변경했습니다. - persistent_cloud_anchor_java: 샘플에 누락된 빌드 종속 항목을 추가했습니다. 프로젝트가 올바르게 설정된 경우에도 앵커를 호스팅하면 상태가
CloudAnchorState ERROR_NOT_AUTHORIZED
이 되는 버그를 수정합니다.
Unity (AR Foundation)
- 이제 ARCore 확장 프로그램 패키지는 설치된 AR Foundation 버전이 ARKit XR 플러그인 버전과 호환되도록 ARKit XR 플러그인에 종속됩니다. 이 수정사항은 Unity 2019.x에 ARCore Extensions를 설치하고 ARKit XR 플러그인을 사용 설정할 때 발생하는 컴파일 오류를 수정합니다.
- ARCore 확장 프로그램 프로젝트 설정이 프로젝트 설정 > XR > ARCore 확장 프로그램에서 프로젝트 설정 > XR 플러그인 관리 > ARCore 확장 프로그램으로 이동되었습니다.
ARCoreExtensionsConfig
,ARCoreExtensionsCameraConfigFilter
,ARCoreRecordingConfig
가 Create > XR > ARCore Extensions에서 Create > XR 메뉴로 이동되었습니다.
iOS
- 다양한 버그 수정 및 성능 개선
전체 출시 노트
- ARCore SDK for Android 전체 출시 노트
- Android NDK용 ARCore 전체 출시 노트
- iOS용 ARCore SDK 전체 출시 노트
- AR Foundation용 ARCore 확장 프로그램 출시 노트
ARCore v1.28.0의 새로운 기능
- 2022년 11월부터 AR 지원 앱은 NDK 이미지 또는 이미지 메타데이터를 더 이상 획득할 수 없습니다. 영향을 받는 SDK 버전은 호출되는 특정 함수에 따라 다릅니다. 자세한 내용은 지원 중단 공지사항을 참고하세요.
- C:
ArImage_getNdkImage()
및ArImage_getNdkCameraMetadata()
호출은 항상AImage
및ACameraMetadata
객체에 대해nullptr
을 반환합니다. - Java:
Frame#acquireCameraImage()
에서 반환된Image
객체의 크기는0
x0
픽셀입니다.Frame#getImageMetadata()
호출은 항상IllegalArgumentException
을 발생시킵니다. - Unity (AR Foundation): AR Foundation 2.1 (Unity 2019 LTS)을 사용하는 경우
XRCameraSubsystem.TryGetLatestImage(out XRCameraImage)
호출은 항상false
를 반환합니다. AR Foundation 4.x 이상 버전은 영향을 받지 않으며XRCameraSubsystem.TryGetLatestImage(out XRCameraImage)
호출이 정상적으로 작동합니다. - Unity용 ARCore SDK (지원 중단):
Frame.CameraImage.AcquireCameraImageBytes()
호출은0
x0
픽셀 크기가 됩니다.Frame.CameraMetadata.GetAllCameraMetadataTags()
호출은 빈List<CameraMetadataTag>
를 반환합니다.
- C:
- Java: 이제
ArImage#getCropRect()
가 전체 크기의 자르기 사각형을 반환합니다. 즉, 이미지의 모든 픽셀이 유효합니다. 자세한 내용은android.media.Image#getCropRect()
를 참고하세요.
ARCore v1.27.0의 새로운 기능
이번 출시에는 새로운 기능이 없습니다. 다양한 버그 수정과 성능 개선사항은 다음 출시 노트를 참고하세요.
- ARCore SDK for Android 전체 출시 노트
- Android NDK용 ARCore 전체 출시 노트
- iOS용 ARCore SDK 전체 출시 노트
- AR Foundation용 ARCore 확장 프로그램 출시 노트
이번 출시에는 다양한 버그 수정 외에도 다음이 포함되었습니다.
Kotlin의 샘플 앱
Kotlin 사용 시 권장사항을 보여주는 hello_ar_kotlin이 추가되었습니다.
자세한 내용은 Android 빠른 시작을 참고하세요.
이미지 분류 모델을 ARCore와 함께 사용하는 방법을 보여주기 위해 ml_kotlin이 추가되었습니다.
자세한 내용은 머신러닝 모델의 입력으로 ARCore 사용을 참고하세요.
ARCore v1.26.0의 새로운 기능
이 출시에는 다음과 같은 중요한 변경사항이 추가되었습니다.
- 이제 녹화 및 재생의 데이터 세트에 URI가 지원됩니다.
추가 변경사항 및 업데이트
추가 버그 수정 및 기타 주요 변경사항은 다음 출시 노트를 참고하세요.
- ARCore SDK for Android 전체 출시 노트
- Android NDK용 ARCore 전체 출시 노트
- iOS용 ARCore SDK 전체 출시 노트
- AR Foundation용 ARCore 확장 프로그램 출시 노트
ARCore v1.25.0의 새로운 기능
이번 출시에는 새로운 기능이 없습니다. 다양한 버그 수정과 성능 개선사항은 다음 출시 노트를 참고하세요.
- ARCore SDK for Android 전체 출시 노트
- Android NDK용 ARCore 전체 출시 노트
- iOS용 ARCore SDK 전체 출시 노트
- ARCore SDK for Unity 전체 출시 노트
- AR Foundation용 ARCore 확장 프로그램 출시 노트
ARCore v1.24.0의 새로운 기능
이 출시에는 다음과 같은 중요한 변경사항이 추가되었습니다.
- 이미지 공간 필터링 없이 깊이 이미지를 제공하는 새로운 원시 깊이 API
- Recording & Playback API에 맞춤 데이터 트랙 녹화 기능 추가
- 깊이 히트 테스트를 실행할 수 있는 기능
원시 깊이
Raw Depth API는 전체 Depth API 데이터보다 정확도가 높지만 모든 픽셀을 항상 포함하지는 않는 카메라 이미지의 깊이 데이터를 제공합니다. 원시 깊이 이미지를 일치하는 신뢰도 이미지와 함께 추가로 처리하여 앱이 개별 사용 사례에 충분한 정확도를 갖는 깊이 데이터만 사용할 수 있습니다.
개발자 가이드:
맞춤 트랙 녹음
Recording & Playback API의 새로운 맞춤 데이터 트랙 기능을 사용하면 녹화 중에 ARCore 프레임에 맞춤 데이터를 추가하고 재생 중에 프레임에서 동일한 데이터를 검색할 수 있습니다.
개발자 가이드:
깊이 히트 테스트
이전에는 감지된 평면에서만 히트 테스트를 실행할 수 있어 위치가 크고 평평한 표면으로 제한되었습니다. 깊이 히트 테스트는 부드러운 깊이 정보와 원시 깊이 정보를 모두 활용하여 평면이 아니고 텍스처가 낮은 표면에서도 더 정확한 히트 결과를 제공합니다.
개발자 가이드:
추가 변경사항 및 업데이트
추가 버그 수정 및 기타 주요 변경사항은 다음 출시 노트를 참고하세요.
- ARCore SDK for Android 전체 출시 노트
- Android NDK용 ARCore 전체 출시 노트
- iOS용 ARCore SDK 전체 출시 노트
- ARCore SDK for Unity 전체 출시 노트
- AR Foundation용 ARCore 확장 프로그램 출시 노트
ARCore v1.23.0의 새로운 기능
듀얼 카메라 지원 보류
듀얼 카메라 지원은 몇 주 내에 출시될 예정입니다. 자세한 내용은 지원되는 기기 페이지를 참고하세요.
새로운 디버깅 도구
브로드캐스트 인텐트를 전송하여 개발자는 다음을 사용 설정할 수 있습니다.
Android 디버그 로그에 대한 ARCore API 호출 로깅
ARCore 성능 오버레이
클라우드 앵커 호스팅 및 확인
ARCore SDK 1.11.0 이하를 사용하여 빌드된 AR 지원 앱은 더 이상 클라우드 앵커를 호스팅하거나 해결할 수 없습니다.
C:
ArSession_hostAndAcquireNewCloudAnchor
및ArSession_resolveAndAcquireNewCloudAnchor
에서 반환된 클라우드 앵커의 상태는 항상AR_CLOUD_ANCHOR_STATE_ERROR_INTERNAL
입니다.Java:
Session.hostCloudAnchor(Anchor)
및Session.resolveCloudAnchor(String)
에서 반환된 클라우드 앵커의 상태는 항상Anchor.CloudAnchorState.ERROR_INTERNAL
입니다.Unity:
XPSession.CreateCloudAnchor(Anchor)
및XPSession.ResolveCloudAnchor(string)
에서 반환된 클라우드 앵커의 상태는 항상CloudServiceResponse.ErrorInternal
입니다.
ARCore SDK 1.12.0 이상으로 빌드된 앱은 영향을 받지 않습니다. ARCore Cloud Anchor API 사용에는 지원 중단 정책이 적용됩니다.
추가 변경사항 및 업데이트
추가 버그 수정사항 및 기타 호환성이 깨지는 변경사항은 다음 출시 노트를 참고하세요.
ARCore v1.22.0의 새로운 기능
이 출시 버전에서는 AR Foundation용 ARCore 확장 프로그램을 위한 새로운 Recording and Playback API와 Camera Config Filter API가 추가되었습니다. 자세한 내용은 ARCore 확장 프로그램 전체 출시 노트를 참고하세요.
추가 변경사항 및 업데이트
추가 버그 수정사항 및 기타 호환성이 깨지는 변경사항은 다음 출시 노트를 참고하세요.
ARCore v1.21.0의 새로운 기능
이 출시에서는 Android, Android NDK, Unity용 새로운 녹화 및 재생 API가 추가됩니다.
녹화 및 재생
Recording and Playback API를 사용하면 특정 환경 내에서 동영상과 AR 데이터를 한 번 녹화하고 이 콘텐츠를 사용하여 테스트 목적으로 실시간 카메라 세션을 대체할 수 있습니다. ARCore는 녹화된 세션을 기기에 있는 여러 동영상 트랙과 기타 다양한 데이터가 포함된 MP4 파일에 저장합니다. 그런 다음 앱이 실시간 카메라 세션 대신 이 데이터를 사용하도록 지정할 수 있습니다. 이를 통해 필드로 돌아가지 않고도 다양한 AR 효과를 사용해 보기 위해 해당 콘텐츠를 무기한으로 재생할 수 있습니다.
자세한 내용은 다음을 참조하세요.
ARCore v1.20.0의 새로운 기능
이 출시에는 다음과 같은 중요한 변경사항이 추가되었습니다.
영구 클라우드 앵커에 대한 새로운 지원
Android 및 Android NDK의 이미지 메타데이터 기능을 업데이트했습니다.
Unity 2018.4 이상에서 AR Foundation용 ARCore 확장 프로그램 또는 Unity용 ARCore SDK (1.19 이상)를 지원하려면 Gradle 버전 5.6.4 이상이 필요하다는 새로운 안내
영구 클라우드 앵커에 대한 새로운 지원
ARCore v1.20 이전에는 클라우드 앵커를 처음 호스팅한 후 최대 24시간 동안만 확인할 수 있었습니다. 이제 영구 클라우드 앵커를 사용하면 수명 (TTL)이 1~365일인 클라우드 앵커를 만들 수 있습니다. Cloud Anchor Management API를 사용하여 이미 호스팅된 앵커의 수명을 연장할 수도 있습니다.
영구 클라우드 앵커의 사용은 새로운 클라우드 앵커 지원 중단 정책에 적용됩니다.
C: 개발자 가이드,
ArSession_hostAndAcquireNewCloudAnchorWithTtl
,ArSession_estimateFeatureMapQualityForHosting
Java: 개발자 가이드,
hostCloudAnchorWithTtl
,estimateFeatureMapQualityForHosting
iOS: 개발자 가이드,
hostCloudAnchor:TTLDays:error:
,estimateFeatureMapQualityForHosting:
ARCore Extensions for AR Foundation: Android 개발자 가이드, iOS 개발자 가이드,
ARAnchorManager.HostCloudAnchor(ARAnchor, int)
,ARAnchorManager.SetAuthToken(string)
,ARAnchorManager.EstimateFeatureMapQualityForHosting(Pose)
Android를 타겟팅하는 Unity: 개발자 가이드,
XPSession.CreateCloudAnchor(Anchor, int)
및XPSession.EstimateFeatureMapQualityForHosting(Pose)
Unity 타겟팅 iOS: 개발자 가이드,
XPSession.SetAuthToken(string)
,XPSession.CreateCloudAnchor(UnityARUserAnchorComponent, int)
추가 변경사항 및 업데이트
추가 버그 수정사항 및 기타 호환성이 깨지는 변경사항은 다음 출시 노트를 참고하세요.
ARCore v1.19.0의 새로운 기능
이 출시에는 다음과 같은 중요한 변경사항이 추가되었습니다.
- Android, Android NDK, Unity용 새로운 인스턴트 배치 API
- Unity로 Android 11용으로 빌드하는 새로운 안내
인스턴트 배치
인스턴트 배치 API를 사용하면 사용자가 ARCore가 표면 지오메트리를 감지할 때까지 기다리지 않고도 화면에 AR 객체를 배치할 수 있습니다. 사용자가 환경을 더 많이 이동할수록 객체 배치가 실시간으로 개선됩니다. ARCore가 AR 객체가 배치된 영역에서 올바른 포즈를 감지하면 흰색 객체가 포즈에 맞게 자동으로 업데이트되고 불투명해집니다.
다음 클립은 실제 테이블에 있는 가상 Android 피규어를 보여줍니다. 처음 배치하면 피규어가 흰색이고 훨씬 작습니다. ARCore가 장면 치수 계산을 개선하면 피규어가 더 정확한 위치로 이동합니다. 이로 인해 객체의 인식된 '크기'가 달라질 수 있습니다.
자세한 내용은 다음을 참조하세요.
ARCore v1.18.0의 새로운 기능
이 출시에는 다음과 같은 중요한 변경사항이 추가되었습니다.
- Android, Android NDK, Unity용 새로운 Depth API
- 증강 얼굴 애셋을 만들고 Android 스튜디오로 가져오는 새로운 안내
- Depth API는
4.1.0-preview.2
에서AR Foundation
및ARCore XR Plugin
모두 지원됩니다.
Depth API
깊이를 지원하는 기기에서 Depth API는 ARCore 지원 기기의 RGB 카메라 또는 사용 가능한 경우 활성 깊이 센서를 사용하여 깊이 맵을 만듭니다. 그런 다음 깊이 맵에서 제공하는 픽셀별 깊이를 사용하여 가상 객체가 실제 객체 앞이나 뒤에 정확하게 표시되도록 하면 몰입도 높은 현실적인 사용자 경험을 제공할 수 있습니다.
예를 들어 다음 이미지는 문 옆에 트렁크가 있는 실제 공간에 있는 가상 Android 피규어를 보여줍니다. Depth API는 트렁크 가장자리 뒤에 있는 인물을 적절하게 가립니다.
자세한 내용은 다음을 참조하세요.
ARCore v1.17.0의 새로운 기능
Android용 ARCore SDK의 주목할 만한 사항
여러 카메라 프레임을 버퍼링할 수 있는 새로운 메서드가 추가되었습니다. 멀티 스레드 렌더링과 같은 다른 기법과 함께 이를 사용하여 프레임 속도의 변동성을 줄일 수 있습니다.
누락된 깊이 센서 사용 및 타겟 FPS getter가 추가되었습니다.
Android용 Android SDK 전체 출시 노트도 참고하세요.
ARCore SDK for Unity의 주목할 만한 사항
- Unity 버전 2018.2 이상에서 멀티 스레드 렌더링 지원이 추가되었습니다. 대부분의 경우 성능이 개선되고 프레임 속도의 변동성을 줄일 수 있습니다. 이는 Unity 프로젝트 설정으로, Project Settings > Player > Android > Other Settings > Multithreaded Rendering에 있습니다. 자세한 내용은 개발자 가이드를 참고하세요.
- 특정 ARCore 세션 오류 상태를 나타내는
SessionStatus.ErrorCameraNotAvailable
및SessionStatus.ErrorIllegalState
이 추가되었습니다.
ARCore SDK for Unity 전체 출시 노트도 참고하세요.
iOS용 ARCore SDK의 주목할 만한 사항
Cloud Anchors SDK의 바이너리 크기가 크게 감소했습니다.
이제 증강 얼굴에 비트코드가 지원됩니다.
iOS용 ARCore SDK 전체 출시 노트도 참고하세요.
ARCore v1.16.0의 새로운 기능
Android용 ARCore SDK 및 Android용 Sceneform SDK에서 주목할 만한 사항
이 출시에는 다음과 같은 중요한 변경사항이 추가되었습니다.
- 이제 대부분의 기기는 기기의 기본 GPU 텍스처 해상도보다 낮은 GPU 텍스처 해상도로 지원되는 추가 카메라 구성을 반환합니다.
자세한 내용은 ARCore 지원 기기를 참고하세요.
이러한 확장된 GPU 해상도는
getSupportedCameraConfigs(CameraConfigFilter)
API를 통해 사용할 수 있습니다.
관련 주제에 대한 추가 정보
AR Foundation용 ARCore 확장 프로그램의 주목할 만한 사항
이 출시에는 다음과 같은 중요한 변경사항이 추가되었습니다.
AR Foundation의
XRCameraConfiguration
는 원하는 기준에 따라 적절한 카메라 구성을 선택할 수 있는 메서드로 확장됩니다. 이러한 메서드에는 GetTextureDimensions(), GetFPSRange(), GetDepthSensorUsages()가 포함됩니다. 자세한 안내를 참고하세요.이제 Unity 2019.3.0f6이 ARCore 확장 프로그램에 권장되는 최소 버전입니다. AR Foundation 3.1.0-preview.6에는 Unity 버전 2019.3 이상이 필요합니다.
이제 Unity는 크로스 플랫폼 AR API에서 앵커, 클라우드 앵커, 클라우드 앵커 ID라는 용어를 사용합니다. 이를 반영하도록 ARCore 확장 프로그램 문서가 업데이트되었습니다.
관련 주제에 대한 추가 정보
ARCore SDK for Unity의 주목할 만한 사항
이 출시에는 다음과 같은 중요한 변경사항이 추가되었습니다.
- 이제 대부분의 기기는 기기의 기본 GPU 텍스처 해상도보다 낮은 GPU 텍스처 해상도로 지원되는 추가 카메라 구성을 반환합니다. (자세한 내용은 ARCore 지원 기기를 참고하세요.) 이러한 확장된 GPU 해상도는 ARCoreCameraConfigFilter API를 통해 사용할 수 있습니다.
관련 주제에 대한 추가 정보
ARCore v1.15.0의 새로운 기능
AR Foundation용 ARCore 확장 프로그램의 주목할 만한 사항
이 출시에는 다음과 같은 중요한 변경사항이 추가되었습니다.
Android와 iOS 모두에서 공유 AR 환경을 만드는 방법을 보여주는 CloudAnchors 샘플을 추가했습니다. Android 또는 iOS 안내를 참고하세요.
이제 Unity 2019.2.17f1이 ARCore 확장 프로그램과 함께 사용할 수 있는 최소 권장 버전입니다.
ARCore SDK for Unity의 주목할 만한 사항
이 출시에는 다음과 같은 알려진 문제가 있습니다.
Android 9와 USB 3 케이블을 사용하는 경우 인스턴트 미리보기가 Unity를 정지시킬 수 있습니다. 이 문제를 해결하려면 Android 10으로 업데이트하거나 USB 2 케이블을 사용하세요.
Unity의 게임 뷰 해상도가 너무 높으면 기기에 인스턴트 미리보기가 표시되지 않을 수 있습니다. 이 문제를 해결하려면 편집기에서 Unity의 게임 뷰 해상도를 낮추세요.
기타 변경사항
추가 버그 수정사항 및 기타 호환성이 깨지는 변경사항은 다음 출시 노트를 참고하세요.
ARCore v1.14.0의 새로운 기능
이 출시에는 다음과 같은 중요한 변경사항이 추가되었습니다.
앱이 기기에서 다른 앱에 카메라를 일시적으로 잃은 경우 추적 실패 이유가 이제 더 구체적입니다.
Android:
TrackingFailureReason
이NONE
대신CAMERA_UNAVAILABLE
입니다.Android NDK:
ArTrackingFailureReasons
이AR_TRACKING_FAILURE_REASON_NONE
이 아닌AR_TRACKING_FAILURE_REASON_CAMERA_UNAVAILABLE
입니다.Unity:
Session.LostTrackingReason
이None
대신LostTrackingReason.CameraUnavailable
입니다.
Google은 Google 개인정보처리방침 및 Google API 서비스 약관에 따라 사용자의 ARCore 확장 프로그램 패키지 사용에서 데이터를 수집하고 처리합니다. 이 기능을 선택 해제할 수 있습니다.
ARCore v1.13.0의 새로운 기능
이 출시에는 다음과 같은 중요한 변경사항이 추가되었습니다.
Unity용 ARCore 확장 프로그램의 AR Foundation을 사용하여 클라우드 앵커가 있는 iOS 앱을 빌드하는 기능 지원
추가 버그 수정사항 및 기타 호환성이 깨지는 변경사항은 다음 출시 노트를 참고하세요.
ARCore v1.12.0의 새로운 기능
이 출시에는 다음과 같은 변경사항이 추가되었습니다.
ARCore Extensions for Unity의 AR Foundation을 사용하여 클라우드 앵커가 포함된 Android 앱을 빌드하는 기능 지원
Cloud Anchors의 변경사항은 다음과 같습니다.
- ARCore SDK 1.12 이상 사용에 관한 업데이트된 개인 정보 보호 요건을 준수하려면 알림 화면에 다음 텍스트와 자세히 알아볼 수 있는 링크를 포함하여 애플리케이션에서 Cloud Anchor 사용을 명시적으로 공개해야 합니다. '이 세션을 지원하기 위해 Google은 카메라의 시각적 데이터를 처리합니다.' Cloud Anchor 샘플 앱에서 제공되는 권장 사용자 알림 흐름을 구현하면 됩니다.
자세한 내용은 사용자 개인 정보 보호 요구사항을 참고하세요.
Cloud Anchor에 대한 자세한 내용은 다음을 참고하세요.
Android:
Android NDK:
iOS:
Unity:
ARCore 확장 프로그램:
ARCore v1.11.0의 새로운 기능
이 출시에는 다음과 같은 변경사항이 추가되었습니다.
ARCore 서비스의 이름이 Google Play AR 서비스로 변경되었습니다. Google Play 기기에서는 이제 Google Play 서비스의 일부로 배포됩니다.
ARCore의 카메라 구성은 지원되는 기기에서 60fps를 타겟팅하고 깊이 센서가 있는 기기에서 깊이 센서 사용을 우선시합니다. 새 카메라 구성 필터를 사용하여 카메라 캡처 프레임 속도를 30fps로 제한하거나, ARCore가 깊이 센서를 사용하지 못하도록 하거나, 두 옵션 모두를 기반으로 필터링할 수 있습니다.
카메라 구성에 관한 자세한 내용은 다음을 참고하세요.
ARCore v1.10.0의 새로운 기능
이 출시 버전에서는 Android, Android NDK, Unity의 광도 추정 API에 새로운 환경 HDR 조명 추정 기능이 추가되었습니다.
이러한 API는 머신러닝을 사용하여 입력 카메라 이미지를 분석하고 환경 조명을 추정합니다. 이 조명 추정 데이터를 사용하여 기본 방향 조명, 그림자, 주변광, 반짝이는 하이라이트, 가상 객체의 반사 등 매우 사실적인 조명을 렌더링할 수 있습니다. 그 결과 더 사실적인 가상 콘텐츠가 만들어집니다.
자세한 내용은 다음을 참조하세요.
ARCore v1.9.0의 새로운 기능
Android용 ARCore SDK의 새로운 기능
이 출시 버전에서는 다음 새로운 API와 기능이 추가되었습니다.
Scene Viewer는 웹사이트에서 AR 환경을 지원하는 몰입형 뷰어입니다. Android 모바일 기기 사용자가 환경에서 웹 호스팅 3D 모델을 쉽게 배치하고 보고 상호작용할 수 있습니다.
새로운 증강 이미지 기능:
이제 ARCore에서 움직이는 증강 이미지를 추적합니다. 움직이는 이미지의 예로는 지나가는 버스의 광고나 사용자가 손을 움직일 때 들고 있는 평평한 물체의 이미지가 있습니다.
이미지가 감지된 후에는 이미지가 일시적으로 카메라 뷰에서 벗어난 경우에도 ARCore가 이미지의 위치와 방향을 계속 추적할 수 있습니다.
AugmentedImage#getTrackingMethod()
(Java) 또는ArAugmentedImage_getTrackingMethod()
(NDK)를 사용하여 증강 이미지가 현재 카메라 (FULL_TRACKING
)에 의해 추적되고 있는지 또는 마지막으로 알려진 위치 (LAST_KNOWN_POSE
)를 기반으로 추적되고 있는지 확인합니다.
이제 Cloud Anchors 문서에 앵커가 호스팅되고 해결되는 방식에 대한 자세한 설명이 포함됩니다.
ARCore SDK for Unity의 새로운 기능
새로운 증강 이미지 기능:
이제 ARCore에서 움직이는 증강 이미지를 추적합니다. 움직이는 이미지의 예로는 지나가는 버스의 광고나 사용자가 움직일 때 들고 있는 평평한 물체의 이미지를 들 수 있습니다.
이미지가 감지된 후에는 이미지가 일시적으로 카메라 뷰에서 벗어난 경우에도 ARCore가 이미지의 위치와 방향을 계속 추적할 수 있습니다.
새로운
AugmentedImage.GetTrackingMethod()
API를 사용하면 앱이 현재 카메라 (FullTracking
)에서 증강 이미지를 추적하고 있는지 또는 마지막으로 알려진 위치 (LastKnownPose
)를 기반으로 추적하고 있는지 확인할 수 있습니다.
이제 Cloud Anchors 문서에 앵커가 호스팅되고 해결되는 방식에 대한 자세한 설명이 포함됩니다.
iOS용 ARCore SDK의 새로운 기능
다음 기기 지원:
5세대 iPad Mini
3세대 iPad Air
이제 Cloud Anchors 문서에 앵커가 호스팅되고 해결되는 방식에 대한 자세한 설명이 포함됩니다.