ARCore'daki yeni ve dikkate değer değişiklikler.
ARCore 1.48.0 sürümündeki yenilikler
Unity 6 ve AR Foundation 6 desteği tam olarak kullanıma sunuldu
Unity'nin AR Foundation için ARCore uzantıları artık AR Foundation 6'yı destekliyor. AR Foundation için ARCore uzantılarının uyumlu bir sürümünü edinmek üzere aşağıdaki yükleme yöntemlerini kullanın:
Add package from git url...
üzerinden:https://github.com/google-ar/arcore-unity-extensions.git#arf6
'u kullanın.Add package from tarball...
üzerinden: Sürümler sayfasındanarf6
ile gösterilen bir sürümü kullanın.
Projenizi AR Foundation 5'ten AR Foundation 6'ya yükseltmek için bu kılavuzu inceleyin.
Kullanıma son verilen özellikler ve davranış değişiklikleri
- SDK, artık 13.0'dan önceki iOS sürümleri için dağıtım hedeflerini desteklemiyor
ARCore 1.47.0 sürümündeki yenilikler
Unity 6 ve AR Foundation 6 için Beta Desteği
Unity'nin AR Foundation'u için ARCore uzantıları artık Unity 6'ya destek vermek üzere AR Foundation 6 için beta desteğine sahiptir. AR Foundation için ARCore uzantılarının uyumlu bir sürümünü edinmek üzere aşağıdaki yükleme yöntemlerini kullanın:
Add package from git url...
üzerinden:https://github.com/google-ar/arcore-unity-extensions.git#arf6
'u kullanın.Add package from tarball...
üzerinden: Sürümler sayfasındanarf6
ile gösterilen bir sürümü kullanın.
Projenizi AR Foundation 5'ten AR Foundation 6'ya yükseltmek için bu kılavuzu inceleyin.
Hata düzeltmeleri
- Cloud Anchor Sample'ın düzlemi Unity 6 için şeffaf olmayan durum düzeltildi
Diğer değişiklikler
- ARCore Extensions GitHub deposunun
main
dalı,arf5
dalını izlemek için değiştirildi.
ARCore 1.46.0 sürümündeki yenilikler
ARCore SDK'sının targetSdkVersion
sürümünde yapılan değişiklikler
ARCore'un targetSdkVersion
sürümü, Android API düzeyi 35'e güncellendi. Uygulamanızda targetSdkVersion
belirtilmemişse manifest birleştirme nedeniyle uygulamanızın targetSdkVersion
değeri 35 olur.
Unity için Unity projenizin Proje Ayarları > Oynatıcı > Android > Diğer Ayarlar bölümünde bir Hedef API Düzeyi belirtmek, ARCore'un targetSdkVersion
değerini geçersiz kılar.
ARCore 1.45.0 sürümündeki yenilikler
Flash Mode API
ARCore artık cihazın el feneri modunu etkinleştirmeyi destekliyor. Bu sayede karanlık ortamlarda daha iyi algılama özellikleri elde edebilirsiniz.
Config.FlashMode
: Cihazdaki flaş birimini etkinleştirme veya devre dışı bırakmayla ilgili yapılandırma seçeneği.- Flaş özelliklerinin nasıl algılanacağı ve el feneri modunun nasıl etkinleştirileceği hakkında daha fazla bilgi için geliştirici kılavuzuna bakın.
ArFlashMode
: Cihazdaki flaş birimini etkinleştirme veya devre dışı bırakmayla ilgili yapılandırma seçeneği.- Flaş özelliklerinin nasıl algılanacağı ve el feneri modunun nasıl etkinleştirileceği hakkında daha fazla bilgi için geliştirici kılavuzuna bakın.
Unity'nin AR Foundation için ARCore uzantıları, AR Foundation 5'i destekler
AR Foundation için ARCore uzantıları artık AR Foundation 5'i resmi olarak destekliyor. AR Foundation 5'i (Unity 2022 ve 2023 sürümlerinde doğrulanmış sürüm) kullanırken AR Foundation için ARCore Uzantıları'nın uyumlu bir sürümünü edinmek üzere aşağıdaki yükleme yöntemlerini kullanın:
Add package from git url...
aracılığıyla:https://github.com/google-ar/arcore-unity-extensions.git#arf5
'u kullanın,Add package from tarball...
üzerinden: Sürümler sayfasındanarf5
ile gösterilen bir sürümü kullanın.
AR Foundation 4 sürümünde kalan projeler aşağıdaki yükleme yöntemlerini kullanabilir:
Add package from git url...
aracılığıyla:https://github.com/google-ar/arcore-unity-extensions.git#arf4
'u kullanın,Add package from tarball...
üzerinden: Sürümler sayfasındanarf4
ile gösterilen bir sürümü kullanın.
Projenizi AR Foundation 4'ten AR Foundation 5'e yükseltmek için taşıma kılavuzunu inceleyin.
Beta desteğindeki ARCORE_USE_ARF_5
gibi özel komut dosyası sembolleri artık kullanılmıyor.
ARCore 1.44.0 sürümündeki yenilikler
Bu sürümde yeni özellik yoktur.
ARCore 1.43.0 sürümündeki yenilikler
Geospatial Creator'da taşıma işleminde Places API
Coğrafi Veri Oluşturucu'nun Arama özelliği artık Google'ın Yeni Places API'sini kullanıyor. Arama özelliğini kullanmak için Google Cloud Console'da "Places API (Yeni)"yi etkinleştirin.
ARCore 1.42.0 sürümündeki yenilikler
Unity için Geospatial Creator'da karoya sabitleme
Düzenleyici Denetleyici paneline ARGeospatialCreatorAnchor
"Kartlara sabitle" düğmesi eklendi. Bu düğme, bir arazi veya çatı ankrajının yalnızca Düzenleyici'ye ait yükseklik değerini, ankrajın mevcut enlem ve boylamındaki bir 3D Karo geometrisinin üst kısmına ayarlar. Bu özelliğin çalışma zamanındaki davranışı etkilemediğini unutmayın. Bu, ankrajın düzenleyicideki konumunu, çalışma zamanındaki konumuyla eşleşecek şekilde ayarlamanıza yardımcı olur.
ARCore 1.41.0 sürümündeki yenilikler
Geospatial Creator API
Unity için Geospatial Creator, artık Düzenleyici modunda Geospatial Creator nesneleri oluşturma ve bu nesneleri değiştirme desteğine sahiptir. Yeni kullanıma sunulan sınıflar ve API'ler Geospatial Creator API Kılavuzu'nda açıklanmaktadır.
AR Foundation 5.x sürümleri desteği (Beta)
Unity'nin AR Foundation için ARCore uzantıları artık AR Foundation 5.x sürümlerini desteklemektedir. Mevcut bir projeyi AR Foundation'a taşımak için taşıma kılavuzunu inceleyin.
ARCore 1.40.0 sürümündeki yenilikler
iOS'te sahne anlam bilimi
Scene Semantics API artık iOS için ARCore SDK'sında ve iOS platformunu hedefleyen Unity'nin AR Foundation için ARCore Extensions'inde kullanılabilir. Scene Semantics API, geliştiricilerin pikselleri 11 açık hava bileşeni sınıfına ayırarak kullanıcıyı çevreleyen sahneyi gerçek zamanlı olarak anlamalarını sağlar. Daha fazla bilgi için Sahne semantiğine giriş başlıklı makaleyi inceleyin.
Unity için Geospatial Creator'da Önemli Yerler arama
Unity için Coğrafi Oluşturucu, fotoğrafik 3D karo görünümünü konumlandırmak üzere artık metin aramayı destekliyor. Daha fazla bilgi için Coğrafi İçerik Oluşturucu'da Önemli Yerler arama başlıklı makaleyi inceleyin.
ARCore 1.39.0 sürümündeki yenilikler
Bu sürümde yeni özellik yoktur.
ARCore 1.38.0 sürümündeki yenilikler
Bu sürümde yeni özellik yoktur.
ARCore 1.37.0 sürümündeki yenilikler
Sahne Anlamları
Sahne semantiği, çevredeki sahneyle ilgili daha zengin ayrıntılar sağlayarak kullanıcının etrafındaki dünyayı anlamayı kolaylaştırır. Sahne Semantikleri, kamera resmi feed'inde bir makine öğrenimi modeli çalıştırır ve her pikselin açık hava kavramlarının 11 etiketinden birine karşılık geldiği semantik bir resim sağlar.
Daha fazla bilgi için Sahne semantiğine giriş başlıklı makaleyi ve semantics_java örnek uygulamasını inceleyin.
ARCore 1.40.0 sürümündeki yenilikler başlıklı makaleyi inceleyin.
Sokak Manzarası Geometrisi
Sokak Manzarası Geometrisi, Geospatial API etkinleştirildiğinde kullanıcının etrafındaki bir alandaki binaların ve arazinin geometrisini sağlayan yeni bir ARCore Geospatial API'sidir.
Streetscape Geometry Geliştirici Kılavuzu'na (Kotlin/Java) bakın. Ayrıca geospatial_java örnek uygulaması, Streetscape Geometrisi'ni içerecek şekilde güncellendi.
Daha fazla bilgi için Streetscape Geometrisi Geliştirici Kılavuzu'na (C) bakın.
Daha fazla bilgi için Sokak Görünümlü Geometri Geliştirici Kılavuzu'na (Unity) bakın.
Daha fazla bilgi için Streetscape Geometrisi Geliştirici Kılavuzu'na (iOS) bakın. Ayrıca GeospatialExample uygulaması, Streetscape Geometrisi'ni içerecek şekilde güncellendi.
GARStreetscapeGeometry
:GARStreetscapeGeometry.mesh
, 3D ağlar sağlar.GARStreetscapeGeometry.meshTransform
, geometrinin oturumun dünya alanına göre başlangıç dönüşümünü sağlar.GARStreetscapeGeometry.trackingState
, izleme durumunu korur.GARStreetscapeGeometry.type
, arazi mi yoksa bina geometrisi mi olduğunu belirtir.GARStreetscapeGeometry.quality
, geometri kalitesini sağlar.GARStreetscapeGeometry.identifier
, geometrinin benzersiz tanımlayıcısını sağlar.GARSession.createAnchorOnStreetscapeGeometry:transform:error:
, belirtilen konumda ve yönde bir ankraj oluşturur.GARSession.raycastStreetscapeGeometry:direction:error:
, sahneye yüklenen Streetscape Geometrisi'ne karşı bir ışın atışı gerçekleştirir.
Çatı sabitleme noktaları
Çatı bağlantı noktaları, içerikleri bir çatıya bağlamanıza yardımcı olan yeni bir coğrafi konum bağlantı noktası türüdür.
Coğrafi konum sabitleyiciler (Java) başlıklı makaleyi inceleyin. Ayrıca, geospatial_java örnek uygulaması, çatı ankrajlarını içerecek şekilde güncellendi.
Daha fazla bilgi için Coğrafi yer işaretleri (C) bölümüne bakın.
Daha fazla bilgi için Coğrafi yer işaretleri bölümüne bakın. Ayrıca, coğrafi örnek çatı ankrajlarını içerecek şekilde güncellendi.
ARAnchorManagerExtensions.ResolveAnchorOnRooftopAsync()
, sahnenizdeki oyun nesneleri için belirtilen enlem, boylam, çatı üzerindeki yükseklik ve yön değerlerinde bir ankraj sağlar.ResolveAnchorOnRooftopPromise
ResolveAnchorOnRooftopResult
Daha fazla bilgi için Coğrafi yer işaretleri (iOS) başlıklı makaleyi inceleyin. Ayrıca GeospatialExample uygulaması, çatı ankrajlarını içerecek şekilde güncellendi.
GARSession.createAnchorWithCoordinate:altitudeAboveRooftop:eastUpSouthQAnchor:completionHandler:error:
, belirtilen konumda bir çatı ankrajı, çatı üzerindeki yüksekliği (metre cinsinden) ve Dünya'ya göre yönünü oluşturur.GARCreateAnchorOnRooftopFuture
, çatı bağlantı noktasının çözülmesinin eşzamansız durumunu tutar.GARRooftopAnchorState
, çatı bağlantı noktasının çözme durumunu tanımlar.
Coğrafi Derinlik
VPS kapsama alanına sahip bölgelerde bir ARCore oturumunda hem Derinlik API hem de Streetscape Geometri modları etkinleştirildiğinde, oluşturulan derinlik görüntüleri Streetscape Geometri kullanılarak iyileştirilir. Sokak manzarası geometrisi, oluşturulan her derinlik resmine 65.535 metrelik bir aralığa kadar entegre edilir. Bu avantajdan yararlanmak için Depth API'yi çağırırken herhangi bir değişiklik yapmanız gerekmez.
Daha fazla bilgi için Coğrafi Derinlik (Java) başlıklı makaleyi inceleyin.
Daha fazla bilgi için Coğrafi Derinlik (C) bölümüne bakın.
Daha fazla bilgi için Coğrafi Derinlik (C) bölümüne bakın.
Sahne semantiği şu anda iOS'te kullanılamamaktadır.
Vulkan oluşturma desteği
ARCore artık kamera görüntüsünü bir AHardwareBuffer
aracılığıyla göstererek Vulkan oluşturma desteği sağlıyor. Bu donanım arabelleğini bir VkImage
'a bağlayarak kullanabilirsiniz.
Daha fazla bilgi için ARCore uygulamanızı Vulkan'ı kullanarak oluşturma başlıklı makaleyi ve hello_ar_vulkan_c örnek uygulamasını inceleyin.
Vulkan oluşturma, AR Foundation kullanan Unity'de şu anda kullanılamaz.
Elektronik Görüntü Sabitleme (EIS)
ARCore'u, daha akıcı bir kullanıcı deneyimi için kamera karelerini yumuşatan elektronik görüntü sabitleme özelliğini kullanacak şekilde yapılandırabilirsiniz.
Daha fazla bilgi için Elektronik görüntü sabitlemeyi etkinleştirme başlıklı makaleye ve hello_eis_kotlin örnek uygulamasına göz atın.
Config.ImageStabilizationMode
Frame.transformCoordinates3d()
Session.isImageStabilizationModeSupported()
Frame.transformCoordinates3d()
işlevininOPENGL_NORMALIZED_DEVICE_COORDINATES
dışındaki 2D koordinatlarla çağrılmasınınIllegalArgumentException
yerine kilitlenmeye neden olduğu bilinen bir sorun vardır. Bu sorun, sonraki sürümde düzeltilecektir.
ArImageStabilizationMode
ArFrame_transformCoordinates3d()
ArSession_isImageStabilizationModeSupported()
ArFrame_transformCoordinates3d()
işlevininAR_COORDINATES_2D_OPENGL_NORMALIZED_DEVICE_COORDINATES
dışındaki 2D koordinatlarla çağrılmasının, uygulamanızınAR_ERROR_INVALID_ARGUMENT
değerini döndürmek yerine iptal edilmesine neden olduğu bilinen bir sorun vardır. Bu sorun, sonraki sürümde düzeltilecektir.
EIS, şu anda AR Foundation kullanan Unity için kullanılamaz.
EIS şu anda iOS'te kullanılamamaktadır.
ARCore arayüzleri
Bu sürümde, Future ve Promise paradigmasını izleyerek eşzamansız işlemlerle çalışırken ergonomiyi iyileştirmek için yeni ARCore eşzamansız API'leri kullanıma sunulmuştur.
- Arazi ankrajlarını çözme:
ResolveAnchorOnTerrainFuture
almak içinEarth.resolveAnchorOnTerrainAsync()
kullanın. Eski simgeEarth.resolveAnchorOnTerrain()
kullanımdan kaldırıldı ve ARCore'un sonraki bir sürümünde kaldırılabilir. - Bulut ankrajlarını çözme:
ResolveCloudAnchorFuture
almak içinSession.resolveCloudAnchorAsync()
kullanın. Eski simgeSession.resolveCloudAnchor()
kullanımdan kaldırıldı ve ARCore'un sonraki bir sürümünde kaldırılabilir. - Cloud ankrajlarını barındırma:
HostCloudAnchorFuture
almak içinSession.hostCloudAnchorAsync()
kullanın. EskiSession.hostCloudAnchor()
veSession.hostCloudAnchorWithTtl()
sembolleri kullanımdan kaldırıldı ve ARCore'un sonraki bir sürümünde kaldırılabilir. - APK'nın kullanılabilirliğini kontrol edin: Geri arama kaydetmek için
ArCoreApk.checkAvailabilityAsync()
öğesini kullanın. Eski simgeninArCoreApk.checkAvailability()
desteği sonlandırılmamıştır.
- Arazi sabitleme noktalarını çözme:
ArResolveAnchorOnTerrainFuture
elde etmek içinArEarth_resolveAnchorOnTerrainAsync()
veyaArResolveAnchorOnTerrainCallback
kullanın. Eski simgeArEarth_resolveAndAcquireNewAnchorOnTerrain()
kullanımdan kaldırıldı ve ARCore'un sonraki bir sürümünde kaldırılabilir. - Cloud ankrajlarını çözümleme:
ArResolveCloudAnchorFuture
almak içinArSession_resolveCloudAnchorAsync()
'u veyaArResolveCloudAnchorCallback
'ı kullanın. Eski simgeArSession_resolveAndAcquireNewCloudAnchor()
kullanımdan kaldırıldı ve ARCore'un sonraki bir sürümünde kaldırılabilir. - Hosting Cloud ankrajları:
ArHostCloudAnchorFuture
almak içinArSession_hostCloudAnchorAsync()
'u veyaArHostCloudAnchorCallback
'ı kullanın. EskiArSession_hostAndAcquireNewCloudAnchor()
veArSession_hostAndAcquireNewCloudAnchorWithTtl()
sembolleri kullanımdan kaldırıldı ve ARCore'un sonraki bir sürümünde kaldırılabilir. - APK'nın kullanılabilirliğini kontrol edin: Geri arama kaydetmek için
ArCoreApk_checkAvailabilityAsync()
öğesini kullanın. Eski simgeninArCoreApk_checkAvailability()
desteği sonlandırılmamıştır.
- Arazi ankrajlarını çözme:
ResolveAnchorOnTerrainPromise
almak içinARAnchorManagerExtensions.ResolveAnchorOnTerrainAsync()
kullanın. Eski simgeARAnchorManagerExtensions.ResolveAnchorOnTerrain()
kullanımdan kaldırıldı ve ARCore'un sonraki bir sürümünde kaldırılabilir. - Bulut ankrajlarını çözme:
ResolveCloudAnchorPromise
almak içinARAnchorManagerExtensions.ResolveCloudAnchorAsync()
kullanın. Eski simgeARAnchorManagerExtensions.ResolveCloudAnchorId()
kullanımdan kaldırıldı ve ARCore'un sonraki bir sürümünde kaldırılabilir. - Cloud ankrajlarını barındırma:
HostCloudAnchorPromise
almak içinARAnchorManagerExtensions.HostCloudAnchorAsync()
kullanın. EskiARAnchorManagerExtensions.HostCloudAnchor()
simgeleri kullanımdan kaldırıldı ve ARCore'un sonraki bir sürümünde kaldırılabilir.
- Arazi ankrajlarını çözme:
GARCreateAnchorOnTerrainFuture
almak içinGARSession.createAnchorWithCoordinate:altitudeAboveTerrain:eastUpSouthQAnchor:completionHandler:error:
kullanın. Eski simgeGARSession.createAnchorWithCoordinate:altitudeAboveTerrain:eastUpSouthQAnchor:error:
kullanımdan kaldırıldı ve ARCore'un sonraki bir sürümünde kaldırılabilir. - Bulut ankrajlarını çözme:
GARResolveCloudAnchorFuture
almak içinGARSession.resolveCloudAnchorWithIdentifier:completionHandler:error:
kullanın. Eski simgeGARSession.resolveCloudAnchorWithIdentifier:error:
kullanımdan kaldırıldı ve ARCore'un sonraki bir sürümünde kaldırılabilir. - Cloud ankrajlarını barındırma:
GARHostCloudAnchorFuture
almak içinGARSession.hostCloudAnchor:TTLDays:completionHandler:error:
kullanın. EskiGARSession.hostCloudAnchor:error:
veGARSession.hostCloudAnchor:TTLDays:error:
sembolleri kullanımdan kaldırıldı ve ARCore'un sonraki bir sürümünde kaldırılabilir.
ARCore 1.36.0 sürümündeki yenilikler
iOS'te Swift Package Manager desteği
iOS için ARCore SDK'sı artık Swift Package Manager'ı resmi olarak desteklemektedir. Swift Package Manager'ı kullanarak ARCore ile entegrasyon yapmayla ilgili talimatlar için iOS uygulamanızda AR'yi etkinleştirme başlıklı makaleyi inceleyin.
ARCore 1.35.0 sürümündeki yenilikler
Coğrafi konumlu duruş doğruluğu, yönün yerini yan kaymaya bırakır
Tüm coğrafi konumlu pozlar artık yön doğruluğunun yerine yan yatma rotasyonunun yön doğruluğunu gösterir.
- Java/Kotlin:
GeospatialPose.getHeading()
yerineGeospatialPose.getEastUpSouthQuaternion()
veGeospatialPose.getHeadingAccuracy()
yerineGeospatialPose.getOrientationYawAccuracy()
yazın. - C:
ArGeospatialPose_getHeading()
yerineArGeospatialPose_getEastUpSouthQuaternion()
veArGeospatialPose_getHeadingAccuracy()
yerineArGeospatialPose_getOrientationYawAccuracy()
yazın. - iOS:
GARGeospatialTransform.heading
yerineGARGeospatialTransform.eastUpSouthQTarget
veGARGeospatialTransform.headingAccuracy
yerineGARGeospatialTransform.orientationYawAccuracy
yazın. - Unity:
GeospatialPose.Heading
yerineGeospatialPose.EunRotation
veGeospatialPose.HeadingAccuracy
yerineGeospatialPose.OrientationYawAccuracy
yazın.
Ek değişiklikler ve güncellemeler
Diğer değişiklikler, hata düzeltmeleri ve performans iyileştirmeleri için sürüm notlarına bakın:
- Android için ARCore SDK'sı sürüm notları
- Android NDK için ARCore sürüm notları
- iOS için ARCore SDK'sı sürüm notları
- AR Foundation için ARCore uzantıları sürüm notları
ARCore 1.34.0 sürümündeki yenilikler
Coğrafi konum özelliklerinin cihazın mevcut konumunda kullanılıp kullanılamadığını kontrol etme
Coğrafi API artık çalışma zamanında belirli bir yatay konumda Görsel Konumlandırma Sistemi'nin (VPS) kullanılabilirliğini kontrol edebilir. Bu API, etkin bir AR oturumu olmadan kullanılabilir. Örneğin, yalnızca VPS mevcut olduğunda "AR'ye gir" düğmesi göstermek için kullanılabilir.
- Java/Kotlin:
Session.checkVpsAvailabilityAsync()
- C:
ArSession_checkVpsAvailabilityAsync()
- iOS:
GARSession.checkVPSAvailabilityAtCoordinate:completionHandler:
- Unity (AR Foundation):
AREarthManager.CheckVpsAvailability()
Coğrafi konumlu poz yönü
Coğrafi konumlu pozlar artık 3D uzayda yönlerini gösterir.
- Java/Kotlin:
feedbackGeospatialPose.getEastUpSouthQuaternion()
- C:
ArEarth_getGeospatialPose()
- iOS:
GARGeospatialTransform.eastUpSouthQTarget
- Unity:
GeospatialPose.EunRotation()
Coğrafi konuma dayalı poz dönüşümleri
Coğrafi konumlu pozlar artık dünya alanı (AR) pozlarına dönüştürülebilir ve bu pozlardan dünya alanı pozlarına dönüştürülebilir.
Bir AR pozundan coğrafi konumlu pozu almak için:
- Java/Kotlin:
Earth.getGeospatialPose()
- C:
ArEarth_getGeospatialPose()
- iOS:
GARSession.geospatialTransformFromTransform:error:
- Unity:
AREarthManager.Convert(Pose)
Coğrafi konumdan AR pozunu almak için:
- Java/Kotlin:
Earth.getPose()
- C:
ArEarth_getPose()
- iOS:
GARSession.transformFromGeospatialCoordinate:altitude:eastUpSouthQTarget:error:
- Unity:
AREarthManager.Convert(GeospatialPose)
Bu işlevlerden elde edilen coğrafi konumlar için yön değeri sıfır olarak ayarlanır. Bunun yerine aşağıdakileri kullanın:
- Android (Java/Kotlin/C): Pozun EUS dört boyutlu vektörü
- iOS: Pozun
eastUpSouthQTarget
- Unity: Pozun
EunRotation
Ek değişiklikler ve güncellemeler
Diğer değişiklikler, hata düzeltmeleri ve performans iyileştirmeleri için sürüm notlarına bakın:
- Android için ARCore SDK'sı sürüm notları
- Android NDK için ARCore sürüm notları
- iOS için ARCore SDK'sı sürüm notları
- AR Foundation için ARCore uzantıları sürüm notları
ARCore 1.33.0 sürümündeki yenilikler
Yeni Cloud Anchors uç noktası
- Cloud Anchors'ı kullanmak için artık desteği sonlandırılan eski ARCore Cloud Anchor API yerine ARCore API'yi etkinleştirmeniz gerekir. Eski uygulama sürümlerini desteklemek için geçiş sırasında ikisini de etkinleştirebilirsiniz. ARCore SDK'sı 1.32.0 ve önceki sürümlerle oluşturulan uygulamalar eski API'yi, ARCore SDK'sı 1.33.0 ve sonraki sürümlerle oluşturulan uygulamalar ise yeni API'yi hedefler. Aşağıdakileri göz önünde bulundurun:
- Yeni API,
arcorecloudanchor.googleapis.com
yerinearcore.googleapis.com
alan adını kullanır. - API tarafından kısıtlanmış bir API anahtarı kullanıyorsanız ARCore API'ye izin vermeniz gerekir.
- Arka uçtan ARCore Cloud Anchor Management API'ye istek gönderiyorsanız ARCore API'yi etkinleştirdikten sonra alan adını
arcore.googleapis.com
olarak da değiştirmeniz gerekir. - Eski API/bitiş noktası Ağustos 2023'e kadar desteklenmeye devam edecek.
- Daha fazla bilgi için ARCore 1.33 Cloud Anchor uç noktası değişiklikleri başlıklı makaleyi inceleyin.
- Yeni API,
Arazi sabitlemeleri
- Geospatial Terrain anchor API, yatay konumun arazisine göre belirli bir yatay konumda ve yükseklikte bir ankraj oluşturur.
Ek değişiklikler ve güncellemeler
Diğer değişiklikler, hata düzeltmeleri ve performans iyileştirmeleri için sürüm notlarına bakın:
- Android için ARCore SDK'sı sürüm notları
- Android NDK için ARCore sürüm notları
- iOS için ARCore SDK'sı sürüm notları
- AR Foundation için ARCore uzantıları sürüm notları
ARCore 1.32.0 sürümündeki yenilikler
Bu sürümde yeni özellik yoktur.
Android ve Android için Unity (AR Foundation)
- ARCore'un
targetSdkVersion
sürümü, Android API düzeyi 32'ye güncellendi. UygulamanıztargetSdkVersion
belirtmezse manifest birleştirme nedeniyle uygulamanızıntargetSdkVersion
değeri 32 olur.- Android SDK: Projenizin
build.gradle
veyaAndroidManifest.xml
bölümünde birtargetSdkVersion
belirtmek, ARCore'untargetSdkVersion
değerini geçersiz kılar. - Android için AR Foundation: Unity projenizin Proje Ayarları > Oynatıcı > Android > Diğer Ayarlar bölümünde bir Hedef API Seviyesi belirtmek, ARCore'un
targetSdkVersion
değerini geçersiz kılar.
- Android SDK: Projenizin
Ek değişiklikler ve güncellemeler
Diğer değişiklikler, hata düzeltmeleri ve performans iyileştirmeleri için sürüm notlarına bakın:
- Android için ARCore SDK'sı sürüm notları
- Android NDK için ARCore sürüm notları
- iOS için ARCore SDK'sı sürüm notları
- AR Foundation için ARCore uzantıları sürüm notları
ARCore 1.31.0 sürümündeki yenilikler
ARCore Geospatial API
Yeni ARCore Geospatial API, uygulamanızın sürükleyici, dünya ölçeğinde, konuma dayalı artırılmış gerçeklik deneyimleri sunmasını sağlamak için Google Earth 3D modellerinden ve Google Haritalar'daki Street View görüntü verilerinden yararlanır.
Platforma özel geliştirici dokümanları ve yeni Geospatial API'yi kullanmaya başlamak için ARCore Geospatial API'ye giriş başlıklı makaleyi inceleyin.
Uzun menzil derinliği
ARCore Derinlik API artık daha uzun menzilli derinlik algılama içerecek şekilde optimize edildi. Bu sayede, gösterilebilir derinlik gözlemlerinin kapsamı artırıldı. Derinlik görüntüsünün 16 bitinin tamamı kullanılır ve maksimum 65.535 milimetrelik bir aralık sağlanır. Önceden yalnızca 13 bit dolduruluyordu ve sınır 8.191 milimetreydi.
Platforma özel geliştirici dokümanları için ve Depth API'de yapılan değişiklikleri anlamak üzere Depth'te Yapılan Değişiklikler başlıklı makaleyi inceleyin.
Platforma özgü notlar
Android
Yeni ARCore Coğrafi API'leri
Java
Earth
, Dünya'ya göre koordinatlarda konumlandırma özelliği sağlar.Earth.createAnchor()
, Dünya'ya göre belirtilen konumda ve yönelimde yeni birAnchor
oluşturur.
Earth.Earthstate
Earth
'ınTrackingState
değeri de dahil olmak üzere mevcut durumunu açıklar.GeospatialPose
, Dünya'ya göre belirli bir konumu, yüksekliği ve pusula yönünü tanımlar.
C
ArEarth
Dünya'ya göre koordinatlarda yerelleştirme özelliği sağlar.ArEarth_acquireNewAnchor()
, Dünya'ya göre belirtilen konumda ve yönelimde yeni birAnchor
oluşturur.ArEarthState
ArEarth
'ınArTrackingState
değeri de dahil olmak üzere mevcut durumunu açıklar.
ArGeospatialPose
, Dünya'ya göre belirli bir konumu, yüksekliği ve pusula yönünü tanımlar.
Güncellenen ARCore Derinlik API'leri
Java
- Depth API işlev çağrıları değişti:
Frame.acquireDepthImage
Frame.acquireDepthImage16Bits
kullanıcısına haklar atanırken hata oluştu.Frame.acquireRawDepthImage
Frame.acquireRawDepthImage16Bits
kullanıcısına haklar atanırken hata oluştu.- Her iki çağrının çıkış resim biçimleri
android.graphics.ImageFormat#DEPTH16
yerineandroid.hardware.HardwareBuffer#D_16
olarak değiştirildi. - Derinlik, milimetre cinsinden 16 bitlik bir tam sayı olarak temsil edilmeye devam eder ancak artık derinliği temsil etmek için 16 bitin tamamı kullanılır. Bu sayede, ifade edilebilir maksimum aralık 8.191 mm ile 65.535 mm arasında değişir.
Frame.acquireDepthImage
veFrame.acquireRawDepthImage
Depth API işlev çağrılarının desteği sonlandırıldı. Bunun yerine lütfenFrame.acquireDepthImage16Bits
veFrame.acquireRawDepthImage16Bits
politikalarını kullanın.
- Depth API işlev çağrıları değişti:
C
- Depth API işlev çağrıları değişti:
ArFrame_acquireDepthImage
ArFrame_acquireDepthImage16Bits
kullanıcısına haklar atanırken hata oluştu.ArFrame_acquireRawDepthImage
-ArFrame_acquireRawDepthImage16Bits
- Her iki çağrının çıkış resim biçimleri
AR_IMAGE_FORMAT_DEPTH16
yerineAR_IMAGE_FORMAT_D_16
olarak değiştirildi. - Derinlik, milimetre cinsinden 16 bitlik bir tam sayı olarak temsil edilmeye devam eder ancak artık derinliği temsil etmek için 16 bitin tamamı kullanılır. Bu sayede, ifade edilebilir maksimum aralık 8.191 mm ile 65.535 mm arasında değişir.
ArFrame_acquireDepthImage
veArFrame_acquireRawDepthImage
Depth API işlev çağrılarının desteği sonlandırıldı. Bunun yerine lütfenArFrame_acquireDepthImage16Bits
veArFrame_acquireRawDepthImage16Bits
politikalarını kullanın.
- Depth API işlev çağrıları değişti:
Unity (AR Foundation)
Yeni ARCore Geospatial API'leri:
AREarthManager
Dünya'ya göre koordinatlarda yerelleştirme özelliği sağlar.EarthTrackingState
en son kare için Earth'un izleme durumunu alır.EarthState
Earth hata koşullarını korur.
GeospatialPose
, Dünya'ya göre belirli bir konumu, yüksekliği ve pusula yönünü tanımlar.ARGeospatialAnchor
, sahnenizdeki oyun nesneleri için Dünya'ya göre bir konum ve yönde belirtilen bir ankraj sağlar.
iOS
Yeni ARCore Geospatial API'leri:
GAREarth
Dünya'ya göre yerelleştirme sağlar.GAREarthState.earthState
hata durumlarını ve koşullarını yönetir.GAREarthState.trackingState
coğrafi veriler için gerekli olan izleme durumunu korur.
GARGeospatialTransform
Konum, yön, rakım ve doğruluk tahminleri dahil olmak üzere küresel bir dönüşümün temsili.GARSession.createAnchorWithCoordinate:altitude:eastUpSouthQAnchor:error:
Dünya'ya göre belirtilen konumda ve yönelimde bir coğrafi konum ankrajı oluşturur.
Diğer değişiklikler
Diğer değişiklikler, hata düzeltmeleri ve performans iyileştirmeleri için sürüm notlarına bakın:
- Android için ARCore SDK'sı sürüm notları
- Android NDK için ARCore sürüm notları
- iOS için ARCore SDK'sı sürüm notları
- AR Foundation için ARCore uzantıları sürüm notları
ARCore 1.30.0 sürümündeki yenilikler
Bu sürümde yeni özellik yoktur.
Android
@NonNull
ve@Nullable
ile ek açıklama eklenmiş API döndürme değerleri.- Örnekleri derlemek için kullanılan derleme aracı sürümleri güncellendi: Gradle 7.0.2'ye, Android Gradle eklentisi ise 7.0.4'e yükseltildi. Mevcut ARCore uygulamaları için bu araçları yükseltmeniz gerekmez. Yeni özellikler, bilinen sorunlar ve uyumsuzluk bilgileri için Android Gradle eklentisi ile ilgili Android belgelerine bakın.
Unity (AR Foundation)
Yeni bir
arcore-unity-extensions-without-edm4u.tgz
sürümü eklendi. Bu sürüm varyantı, Unity için Harici Bağımlılık Yöneticisi gibi harici bağımlılıkları paketlemez ve EDM'ye yükseltme olanağı sunar. Bu hafif sürümü kullanmak, Firebase kitaplıklarını kullanırken uyumsuzlukları çözebilir. Başlamak için AR Foundation için ARCore uzantılarının yükleme talimatlarına göz atın.2021.2 ve sonraki sürümleri daha iyi desteklemek için ExternalDependencyManager 1.2.168 sürümüne yükseltildi. Ayrıntılar için EDM'nin değişiklik günlüğüne bakın.
Oturum yapılandırmasında değişiklik olmasa bile ARCore oturumunun her kareyi yapılandırması ve FPS'nin düşmesine neden olması sorunu düzeltildi.
iOS
- Çeşitli hata düzeltmeleri ve performans iyileştirmeleri.
ARCore 1.29.0 sürümündeki yenilikler
Bu sürümde yeni özellik yoktur.
Android
- hello_ar_java ve hello_ar_kotlin: Anında Yerleşim kullanılarak yerleştirilen nesneleri daha iyi ayırt etmek için
SCREENSPACE_WITH_APPROXIMATE_DISTANCE
kullanılarak yerleştirilen bir nesnenin rengi değiştirildi. - persistent_cloud_anchor_java: Sana Özel'e eksik bir derleme bağımlılığı eklendi. Proje doğru şekilde ayarlanmış olsa bile herhangi bir ankrajın barındırıldığı durumlarda
CloudAnchorState ERROR_NOT_AUTHORIZED
durumunun gösterilmesine neden olan hata düzeltildi.
Unity (AR Foundation)
- ARCore uzantıları paketi artık yüklü AR Foundation sürümünün ARKit XR eklentisi sürümüyle uyumlu olmasını sağlamak için ARKit XR eklentisine bağlıdır. Bu, Unity 2019.x'e ARCore uzantılarını yüklerken ve ARKit XR eklentisini etkinleştirirken oluşan derleme hatasını düzeltir.
- ARCore uzantıları proje ayarları, Proje Ayarları > XR > ARCore Uzantıları'ndan Proje Ayarları > XR Eklenti Yönetimi > ARCore Uzantıları'na taşındı.
ARCoreExtensionsConfig
,ARCoreExtensionsCameraConfigFilter
,ARCoreRecordingConfig
Oluştur > XR > ARCore Uzantılar menüsünden Oluştur > XR menüsüne taşındı.
iOS
- Çeşitli hata düzeltmeleri ve performans iyileştirmeleri.
Tam sürüm notları
- Android için ARCore SDK'sı tam sürüm notları
- Android NDK için ARCore tam sürüm notları
- iOS için ARCore SDK'sı tam sürüm notları
- AR Foundation için ARCore uzantıları sürüm notları
ARCore 1.28.0 sürümündeki yenilikler
- Kasım 2022'den itibaren, artırılmış gerçeklik özellikli uygulamalar NDK resimleri veya resim meta verilerini edinemeyecek. Etkilenen SDK sürümleri, çağrılan belirli işleve bağlıdır. Daha fazla bilgi için kullanımdan kaldırma duyurusuna bakın.
- C:
ArImage_getNdkImage()
veArImage_getNdkCameraMetadata()
çağrıları,AImage
veACameraMetadata
nesneleri için her zamannullptr
döndürür. - Java:
Frame#acquireCameraImage()
tarafından döndürülenImage
nesnesi0
x0
piksel boyutunda olur.Frame#getImageMetadata()
adresine yapılan aramalar her zamanIllegalArgumentException
hatası verir. - Unity (AR Foundation): AR Foundation 2.1 (Unity 2019 LTS) kullanılırken
XRCameraSubsystem.TryGetLatestImage(out XRCameraImage)
çağrıları her zamanfalse
değerini döndürür. AR Foundation 4.x ve sonraki sürümler bu durumdan etkilenmez.XRCameraSubsystem.TryGetLatestImage(out XRCameraImage)
çağrıları normal şekilde çalışır. - Unity için ARCore SDK'sı (desteği sonlandırıldı):
Frame.CameraImage.AcquireCameraImageBytes()
çağrıları0
x0
piksel boyutunda olur.Frame.CameraMetadata.GetAllCameraMetadataTags()
adresine yapılan aramalar boş birList<CameraMetadataTag>
döndürür.
- C:
- Java:
ArImage#getCropRect()
artık tam boyutlu bir kırpma dikdörtgeni döndürüyor. Yani resimdeki tüm pikseller geçerli. Daha fazla bilgi içinandroid.media.Image#getCropRect()
sayfasına bakın.
ARCore 1.27.0 sürümündeki yenilikler
Bu sürümde yeni özellik yoktur. Çeşitli hata düzeltmeleri ve performans iyileştirmeleri için aşağıdaki sürüm notlarına bakın.
- Android için ARCore SDK'sı tam sürüm notları
- Android NDK için ARCore tam sürüm notları
- iOS için ARCore SDK'sı tam sürüm notları
- AR Foundation için ARCore uzantıları sürüm notları
Bu sürüm, çeşitli hata düzeltmelerinin yanı sıra aşağıdakileri de içeriyordu.
Kotlin'de örnek uygulamalar
Kotlin'i kullanırken en iyi uygulamaları göstermek için hello_ar_kotlin eklendi.
Daha fazla bilgi için Android için Hızlı Başlangıç bölümüne bakın.
Bir resim sınıflandırma modelinin ARCore ile nasıl kullanılabileceğini göstermek için ml_kotlin eklendi.
Daha fazla bilgi için Makine öğrenimi modelleri için giriş olarak ARCore'u kullanma başlıklı makaleyi inceleyin.
ARCore 1.26.0 sürümündeki yenilikler
Bu sürümde aşağıdaki önemli değişiklikler yapıldı:
- URI'ler artık Kayıt ve Oynatma'daki veri kümeleri için desteklenmektedir.
Ek değişiklikler ve güncellemeler
Diğer hata düzeltmeleri ve önemli değişiklikler için aşağıdaki sürüm notlarına bakın.
- Android için ARCore SDK'sı tam sürüm notları
- Android NDK için ARCore tam sürüm notları
- iOS için ARCore SDK'sı tam sürüm notları
- AR Foundation için ARCore uzantıları sürüm notları
ARCore 1.25.0 sürümündeki yenilikler
Bu sürümde yeni özellik yoktur. Çeşitli hata düzeltmeleri ve performans iyileştirmeleri için aşağıdaki sürüm notlarına bakın.
- Android için ARCore SDK'sı tam sürüm notları
- Android NDK için ARCore tam sürüm notları
- iOS için ARCore SDK'sı tam sürüm notları
- Unity için ARCore SDK'sının tam sürüm notları
- AR Foundation için ARCore uzantıları sürüm notları
ARCore 1.24.0 sürümündeki yenilikler
Bu sürümde aşağıdaki önemli değişiklikler yapıldı:
- Resim alanı filtrelemesi olmadan derinlik resmi sağlayan yeni bir Ham Derinlik API'si
- Kayıt ve Oynatma API'sine özel veri parçası kaydı özelliği
- Derinlik isabet testleri yapma imkanı
Ham Derinlik
Ham Derinlik API'si, kamera görüntüsü için Derinlik API'sinin tam verilerinden daha doğru derinlik verileri sağlar ancak her pikseli her zaman kapsamaz. Ham derinlik görüntüleri, eşleşen güven görüntüleriyle birlikte daha da işlenebilir. Bu sayede uygulamalar, kendi kullanım alanları için yeterli doğruluğa sahip olan derinlik verilerini kullanabilir.
Geliştirici kılavuzları:
Özel kanal kaydı
Kayıt ve Oynatma API'sindeki yeni özel veri izleme özelliği, kayıt sırasında bir ARCore çerçevesine özel veri eklemenize ve oynatma sırasında aynı verileri çerçeveden almanıza olanak tanır.
Geliştirici kılavuzları:
Derinlik isabet testleri
Daha önce isabet testleri yalnızca algılanan düzlemlerde yapılabiliyordu. Bu da konumları büyük ve düz yüzeylerle sınırlıyordu. Derinlik isabet testleri, düz olmayan ve düşük dokulu yüzeylerde bile daha doğru isabet sonuçları sağlamak için hem pürüzsüz hem de ham derinlik bilgilerinden yararlanır.
Geliştirici kılavuzları:
Ek değişiklikler ve güncellemeler
Diğer hata düzeltmeleri ve önemli değişiklikler için aşağıdaki sürüm notlarına bakın.
- Android için ARCore SDK'sı tam sürüm notları
- Android NDK için ARCore tam sürüm notları
- iOS için ARCore SDK'sı tam sürüm notları
- Unity için ARCore SDK'sının tam sürüm notları
- AR Foundation için ARCore uzantıları sürüm notları
ARCore 1.23.0 sürümündeki yenilikler
Çift kamera desteği beklemede
Çift kamera desteği önümüzdeki haftalarda kullanıma sunulacaktır. Daha fazla bilgi için desteklenen cihazlar sayfasına bakın.
Yeni hata ayıklama araçları
Geliştiriciler, yayın intent'i göndererek şunları etkinleştirebilir:
ARCore API çağrılarının Android hata günlüğüne kaydedilmesi
ARCore performans yer paylaşımı
Cloud Anchor'ları barındırma ve çözme
ARCore SDK 1.11.0 veya önceki sürümler kullanılarak oluşturulan AR özellikli uygulamalar artık Cloud Anchor'ları barındıramıyor veya çözemiyor.
C:
ArSession_hostAndAcquireNewCloudAnchor
veArSession_resolveAndAcquireNewCloudAnchor
tarafından döndürülen Cloud Anchor'ların durumu her zamanAR_CLOUD_ANCHOR_STATE_ERROR_INTERNAL
olur.Java:
Session.hostCloudAnchor(Anchor)
veSession.resolveCloudAnchor(String)
tarafından döndürülen Cloud Anchor'ların durumu her zamanAnchor.CloudAnchorState.ERROR_INTERNAL
olur.Unity:
XPSession.CreateCloudAnchor(Anchor)
veXPSession.ResolveCloudAnchor(string)
tarafından döndürülen Cloud Anchor'ların durumu her zamanCloudServiceResponse.ErrorInternal
olur.
ARCore SDK'sı 1.12.0 veya sonraki sürümlerle oluşturulan uygulamalar bu durumdan etkilenmez. ARCore Cloud Anchor API'nin kullanımı kullanımdan kaldırma politikası kapsamındadır.
Ek değişiklikler ve güncellemeler
Diğer hata düzeltmeleri ve önemli değişiklikler için aşağıdaki sürüm notlarına bakın.
ARCore 1.22.0 sürümündeki yenilikler
Bu sürüm, AR Foundation için ARCore uzantılarına yeni Kayıt ve Oynatma API'leri ve Kamera Yapılandırması Filtresi API'leri ekler. Ayrıntılar için ARCore uzantılarının tam sürüm notlarına bakın.
Ek değişiklikler ve güncellemeler
Diğer hata düzeltmeleri ve önemli değişiklikler için aşağıdaki sürüm notlarına bakın.
ARCore 1.21.0 sürümündeki yenilikler
Bu sürümde Android, Android NDK ve Unity için yeni Kayıt ve Oynatma API'leri eklendi.
Kayıt ve oynatma
Kayıt ve Oynatma API'leri sayesinde, belirli bir ortamda video ve AR verilerini bir kez kaydedebilir ve test amacıyla canlı kamera oturumunu değiştirmek için bu içeriği kullanabilirsiniz. ARCore, kaydedilen oturumları birden fazla video parçası ve cihazdaki diğer çeşitli verileri içeren MP4 dosyalarına kaydeder. Ardından, uygulamanızı canlı kamera oturumu yerine bu verileri kullanacak şekilde ayarlayabilirsiniz. Böylece, sahaya geri dönmek zorunda kalmadan farklı AR efektlerini denemek için bu içeriği süresiz olarak oynatabilirsiniz.
Daha ayrıntılı bilgi için:
Java:
C:
Unity:
ARCore 1.20.0 sürümündeki yenilikler
Bu sürümde aşağıdaki önemli değişiklikler yapıldı:
Kalıcı Cloud Anchors için yeni destek.
Android ve Android NDK için resim meta verisi özellikleri güncellendi.
Unity 2018.4 veya sonraki sürümlerde AR Foundation için ARCore uzantılarını veya Unity için ARCore SDK'sını (1.19 veya sonraki sürümler) desteklemek üzere Gradle 5.6.4 veya sonraki bir sürümü gerektiren yeni rehberlik.
Kalıcı Cloud Anchor'lar için yeni destek
ARCore 1.20 sürümünden önce Cloud Anchor'lar yalnızca ilk barındırıldıktan sonraki 24 saat içinde çözülebilirdi. Kalıcı Cloud Anchor'lar sayesinde artık bir ile 365 gün arasında bir geçerlilik süresi (TTL) olan bir Cloud Anchor oluşturabilirsiniz. Cloud Anchor Management API'yi kullanarak, ankrajın barındırıldıktan sonra kullanım süresini de uzatabilirsiniz.
Kalıcı Cloud Anchor'ların kullanımı, yeni Cloud Anchor'ların desteğinin sonlandırılması politikası kapsamındadır.
C: Geliştirici kılavuzu,
ArSession_hostAndAcquireNewCloudAnchorWithTtl
veArSession_estimateFeatureMapQualityForHosting
.Java: Geliştirici kılavuzu,
hostCloudAnchorWithTtl
veestimateFeatureMapQualityForHosting
.iOS: Geliştirici kılavuzu,
hostCloudAnchor:TTLDays:error:
veestimateFeatureMapQualityForHosting:
.AR Foundation için ARCore uzantıları: Android geliştirici kılavuzu, iOS geliştirici kılavuzu,
ARAnchorManager.HostCloudAnchor(ARAnchor, int)
,ARAnchorManager.SetAuthToken(string)
veARAnchorManager.EstimateFeatureMapQualityForHosting(Pose)
.Android'i hedefleyen Unity: Geliştirici kılavuzu,
XPSession.CreateCloudAnchor(Anchor, int)
veXPSession.EstimateFeatureMapQualityForHosting(Pose)
.Unity'de iOS hedefleme: Geliştirici kılavuzu,
XPSession.SetAuthToken(string)
veXPSession.CreateCloudAnchor(UnityARUserAnchorComponent, int)
.
Ek değişiklikler ve güncellemeler
Diğer hata düzeltmeleri ve önemli değişiklikler için aşağıdaki sürüm notlarına bakın.
ARCore 1.19.0 sürümündeki yenilikler
Bu sürümde aşağıdaki önemli değişiklikler yapıldı:
- Android, Android NDK ve Unity için yeni Instant Placement API.
- Unity ile Android 11 için uygulama oluşturmayla ilgili yeni rehberlik.
Anında Yerleşim
Instant Placement API, kullanıcının ARCore'un yüzey geometrisini algılamasını beklemek zorunda kalmadan ekrana AR nesnesi yerleştirmesine olanak tanır. Kullanıcı ortamda ilerledikçe nesne yerleşimi gerçek zamanlı olarak hassaslaştırılır. ARCore, AR nesnesinin yerleştirildiği bölgede doğru pozu algıladığında beyaz nesne otomatik olarak pozu doğru olacak şekilde güncellenir ve opak hale gelir.
Aşağıdaki klipte, gerçek bir masa üzerinde sanal bir Android figürü gösterilmektedir. İlk yerleştirildiğinde şekil beyaz ve çok daha küçüktür. ARCore, sahne boyutlarıyla ilgili hesaplamalarını hassaslaştırdıktan sonra şekil daha doğru bir konuma atlar. Bu durum, nesnenin algılanan "boyutunda" bir fark oluşmasına neden olabilir.
Daha ayrıntılı bilgi için:
Android:
Android NDK:
Unity:
ARCore 1.18.0 sürümündeki yenilikler
Bu sürümde aşağıdaki önemli değişiklikler yapıldı:
- Android, Android NDK ve Unity için yeni Derinlik API'si.
- Artırılmış Gerçeklik Yüz öğeleri oluşturma ve bunları Android Studio'ya aktarma hakkında yeni rehberlik.
- Derinlik API'si,
4.1.0-preview.2
'te hemAR Foundation
hem deARCore XR Plugin
için desteklenecek.
Depth API
Derinlik destekli cihazlarda Derinlik API'si, derinlik haritaları oluşturmak için ARCore destekli cihazın RGB kamerasını veya varsa etkin derinlik sensörünü kullanır. Ardından, sanal nesnelerin gerçek nesnelerin önünde veya arkasında doğru şekilde görünmesini sağlamak için derinlik haritası tarafından sağlanan piksel başına derinliği kullanabilirsiniz. Böylece, sürükleyici ve gerçekçi kullanıcı deneyimleri sunabilirsiniz.
Örneğin, aşağıdaki resimlerde bir kapının yanında bagaj bulunan gerçek bir alanda sanal bir Android figürü gösterilmektedir. Derinlik API'si, gövdenin kenarının arkasındaki figürü düzgün şekilde kapatıyor.
Daha ayrıntılı bilgi için:
Android:
Android NDK:
Unity:
ARCore 1.17.0 sürümündeki yenilikler
Android için ARCore SDK'sında dikkat çeken özellikler
Birden fazla kamera karesinin arabelleğe alınmasına olanak tanıyan yeni yöntemler eklendi. Bu teknik, çok iş parçacıklı oluşturma gibi diğer tekniklerle birlikte kare hızlarındaki değişkenliği azaltmak için kullanılabilir.
Eksik derinlik sensörü kullanımı ve hedef FPS alıcıları eklendi:
Android için Android SDK'sı tam sürüm notlarına da göz atın.
Unity için ARCore SDK'sında öne çıkan özellikler
- Unity 2018.2 veya sonraki sürümlerde çoklu iş parçacıklı oluşturma desteği eklendi. Bu özellik, çoğu durumda performansı iyileştirir ve kare hızlarındaki değişkenliği azaltmaya yardımcı olabilir. Bu, Proje Ayarları > Oynatıcı > Android > Diğer Ayarlar > Çoklu Çekirdekli Oluşturma bölümünde bulunan bir Unity proje ayarı. Ayrıntılar için geliştirici kılavuzuna bakın.
- Belirli ARCore oturumu hata durumlarını belirtmek için
SessionStatus.ErrorCameraNotAvailable
veSessionStatus.ErrorIllegalState
eklendi.
Unity için ARCore SDK'sının tam sürüm notlarına da bakın.
iOS için ARCore SDK'sında öne çıkan özellikler
Cloud Anchors SDK'sının ikili dosyası önemli ölçüde küçültüldü.
Bit kodu artık artırılmış yüzler için desteklenmektedir.
iOS için ARCore SDK'sının tam sürüm notlarına da göz atın.
ARCore 1.16.0 sürümündeki yenilikler
Android için ARCore SDK'sı ve Android için Sceneform SDK'sı'nda dikkat çeken özellikler
Bu sürümde aşağıdaki önemli değişiklikler yapıldı:
- Çoğu cihaz artık cihazın varsayılan GPU doku çözünürlüğünden daha düşük GPU doku çözünürlüğüne sahip ek desteklenen kamera yapılandırmaları döndürüyor.
Ayrıntılar için ARCore destekli cihazlar bölümüne göz atın.
Bu genişletilmiş GPU çözünürlükleri
getSupportedCameraConfigs(CameraConfigFilter)
API'si üzerinden kullanılabilir.
Şuna da bakabilirsiniz:
AR Foundation için ARCore Uzantılar'da öne çıkan özellikler
Bu sürümde aşağıdaki önemli değişiklikler yapıldı:
AR Foundation'un
XRCameraConfiguration
, istediğiniz ölçütlere göre uygun kamera yapılandırmasını seçmenize olanak tanıyan yöntemlerle genişletilmiştir. Bu yöntemler arasında GetTextureDimensions(), GetFPSRange() ve GetDepthSensorUsages() yer alır. Ayrıntılı talimatları okuyun.ARCore uzantıları için önerilen minimum sürüm Unity 2019.3.0f6 oldu. AR Foundation 3.1.0-preview.6 için Unity 2019.3 veya sonraki bir sürüm gereklidir.
Unity artık platformlar arası AR API'sinde Anchor, Cloud Anchor ve Cloud Anchor ID terimlerini kullanıyor. ARCore uzantılarıyla ilgili dokümanlar bu durumu yansıtacak şekilde güncellendi.
Şuna da bakabilirsiniz:
Unity için ARCore SDK'sında öne çıkan özellikler
Bu sürümde aşağıdaki önemli değişiklik yapıldı:
- Çoğu cihaz artık cihazın varsayılan GPU doku çözünürlüğünden daha düşük GPU doku çözünürlüğüne sahip ek desteklenen kamera yapılandırmaları döndürüyor. (Ayrıntılar için ARCore destekli cihazlar bölümüne göz atın.) Bu genişletilmiş GPU çözünürlükleri ARCoreCameraConfigFilter API'si aracılığıyla kullanılabilir.
Şuna da bakabilirsiniz:
Unity için ARCore SDK'sının tam sürüm notları
ARCore 1.15.0 sürümündeki yenilikler
AR Foundation için ARCore Uzantılar'da öne çıkan özellikler
Bu sürümde aşağıdaki önemli değişiklikler yapıldı.
Hem Android hem de iOS için ortak AR deneyimlerinin nasıl oluşturulacağını gösteren CloudAnchors örneği eklendi. Android veya iOS talimatlarını inceleyin.
ARCore Extensions ile kullanılacak minimum önerilen sürüm Unity 2019.2.17f1'dir.
ARCore Uzantıları tam sürüm notları
Unity için ARCore SDK'sında öne çıkan özellikler
Bu sürümde aşağıdaki bilinen sorunlar vardır.
Android 9 ve USB 3 kablosu kullanıldığında Anında Önizleme, Unity'yi dondurabilir. Bu sorunu düzeltmek için Android 10'a güncelleyin veya USB 2 kablosu kullanın.
Unity'nin oyun görünümü çözünürlüğü çok yüksek olduğunda anında önizleme cihazda görüntülenemeyebilir. Bu sorunu düzeltmek için Düzenleyici'de Unity'nin oyun görünümü çözünürlüğünü düşürün.
Unity için ARCore SDK'sının tam sürüm notları
Ek değişiklikler
Diğer hata düzeltmeleri ve önemli değişiklikler için aşağıdaki sürüm notlarına bakın.
ARCore 1.14.0 sürümündeki yenilikler
Bu sürümde aşağıdaki önemli değişiklikler yapıldı.
Bir uygulama, kamerayı cihazdaki başka bir uygulamaya geçici olarak kaybettiğinde izleme hatasının nedeni artık daha ayrıntılı olarak gösteriliyor:
Android:
TrackingFailureReason
NONE
yerineCAMERA_UNAVAILABLE
olmalıdır.Android NDK:
ArTrackingFailureReasons
,AR_TRACKING_FAILURE_REASON_NONE
yerineAR_TRACKING_FAILURE_REASON_CAMERA_UNAVAILABLE
olmalıdır.Unity:
Session.LostTrackingReason
,None
yerineLostTrackingReason.CameraUnavailable
olmalıdır.
Google, Google Gizlilik Politikası ve Google API'leri Hizmet Şartları uyarınca ARCore Uzantıları paketini kullanımınızla ilgili verileri toplar ve işler. Bu özelliği devre dışı bırakabilirsiniz.
ARCore 1.13.0 sürümündeki yenilikler
Bu sürümde aşağıdaki önemli değişiklikler yapıldı.
Cloud Anchors ile iOS uygulamaları oluşturmak için Unity'nin AR Foundation'u için ARCore Extensions'in kullanılması desteği.
Diğer hata düzeltmeleri ve önemli değişiklikler için aşağıdaki sürüm notlarına bakın.
ARCore 1.12.0 sürümündeki yenilikler
Bu sürümde aşağıdaki değişiklikler yapılmıştır:
iOS'e Artırılmış Yüzler özelliği eklendi. Daha fazla bilgi için bu genel bakışı, hızlı başlangıç kılavuzunu ve geliştirici kılavuzunu inceleyin.
Cloud Anchors ile Android uygulamaları oluşturmak için Unity'nin AR Foundation'u için ARCore Extensions'in kullanılması desteği.
Cloud Anchors'da aşağıdaki değişiklikler yapıldı:
- ARCore SDK'ları 1.12 veya sonraki sürümleri kullanmayla ilgili güncellenmiş gizlilik koşullarımıza uymak için bir bildirim ekranında aşağıdaki metnin yanı sıra daha fazla bilgi edinme bağlantısını ekleyerek Cloud Anchor'ların kullanımını uygulamanızda belirgin bir şekilde açıklamanız gerekir: "Bu oturumu desteklemek için Google, kameranızdan görsel verileri işler." Bunu, Cloud Anchor örnek uygulamalarımızda bulunan önerilen kullanıcı bildirimi akışını uygulayarak yapabilirsiniz.
Ayrıntılı bilgi için Kullanıcı gizliliği şartları başlıklı makaleyi inceleyin.
Cloud Anchors hakkında daha fazla bilgi için:
Android:
Android NDK:
iOS:
Unity:
ARCore uzantıları:
ARCore 1.11.0 sürümündeki yenilikler
Bu sürümde aşağıdaki değişiklikler yapılmıştır:
ARCore hizmetinin adı AR için Google Play Hizmetleri olarak değiştirildi. Google Play cihazlarında artık Google Play Hizmetleri kapsamında dağıtılmaktadır.
ARCore'un kamera yapılandırmaları, desteklenen cihazlarda 60 fps'yi hedefler ve derinlik sensörü bulunan cihazlarda bu sensörün kullanımına öncelik verir. Kamera yakalama kare hızını 30 fps ile sınırlamak, ARCore'un derinlik sensörü kullanmasını engellemek veya her iki seçeneğe göre filtre uygulamak için yeni kamera yapılandırması filtrelerini kullanabilirsiniz.
Kamera yapılandırmaları hakkında daha fazla bilgi için:
Android:
Android NDK:
Unity:
ARCore 1.10.0 sürümündeki yenilikler
Bu sürüm, Android, Android NDK ve Unity için Işık Tahmini API'sine yeni Çevresel HDR ışık tahmini özellikleri ekler.
Bu API'ler, giriş kamera görüntüsünü analiz etmek ve ortam ışığını tahmin etmek için makine öğreniminden yararlanır. Birincil yönlü ışık, gölgeler, ortam ışığı, sanal nesnelerdeki yansımalar ve parlak alanlar dahil olmak üzere son derece gerçekçi ışıklandırma oluşturmak için bu ışıklandırma tahmini verilerini kullanabilirsiniz. Sonuç olarak daha gerçekçi hissettiren sanal içerikler elde edilir.
Daha ayrıntılı bilgi için:
Android:
Android NDK:
Unity:
ARCore 1.9.0 sürümündeki yenilikler
Android için ARCore SDK'sında yenilikler
Bu sürümde aşağıdaki yeni API'ler ve özellikler eklenmiştir:
Sahneyi Görüntüleme Aracı, web sitenizde AR deneyimlerini etkinleştiren sürükleyici bir görüntüleme aracıdır. Android mobil cihaz kullanıcılarının web'de barındırılan 3D modelleri ortamlarına kolayca yerleştirmesine, görüntülemesine ve bu modellerle etkileşim kurmasına olanak tanır.
Yeni artırılmış resim özellikleri:
ARCore artık hareketli artırılmış resimleri izler. Hareketli görüntülere örnek olarak, geçen bir otobüsteki reklam veya kullanıcının elini hareket ettirirken tuttuğu düz bir nesnenin üzerindeki resim verilebilir.
ARCore, bir resim algılandıktan sonra, resim geçici olarak kamera görüş alanından çıkmış olsa bile resmin konumunu ve yönünü izlemeye devam edebilir.
Artırılmış görüntünün şu anda kamera tarafından (
FULL_TRACKING
) mi yoksa bilinen son konumuna göre (LAST_KNOWN_POSE
) mi izlendiğini belirlemek içinAugmentedImage#getTrackingMethod()
(Java) veyaArAugmentedImage_getTrackingMethod()
(NDK) kullanın.
Cloud Anchors dokümanlarında artık sabit noktaların nasıl barındırıldığı ve çözüldüğüyle ilgili daha ayrıntılı bir açıklama yer alıyor.
Unity için ARCore SDK'sında yenilikler
Yeni artırılmış resim özellikleri:
ARCore artık hareketli artırılmış resimleri izler. Hareketli görüntülere örnek olarak, geçen bir otobüsteki reklam veya kullanıcının elinde tuttuğu düz bir nesnenin üzerinde bulunan ve kullanıcının nesneyi hareket ettirmesiyle değişen resim verilebilir.
ARCore, bir resim algılandıktan sonra, resim geçici olarak kamera görüş alanından çıkmış olsa bile resmin konumunu ve yönünü izlemeye devam edebilir.
Yeni
AugmentedImage.GetTrackingMethod()
API'si, uygulamanızın artırılmış görüntünün şu anda kamera tarafından mı (FullTracking
) yoksa bilinen son konumuna göre mi (LastKnownPose
) izlendiğini belirlemesini sağlar.
Cloud Anchors dokümanlarında artık sabit noktaların nasıl barındırıldığı ve çözüldüğüyle ilgili daha ayrıntılı bir açıklama yer alıyor.
iOS için ARCore SDK'sında yenilikler
Aşağıdaki cihazlar için destek:
Beşinci nesil iPad Mini
Üçüncü nesil iPad Air
Cloud Anchors dokümanlarında artık sabit noktaların nasıl barındırıldığı ve çözüldüğüyle ilgili daha ayrıntılı bir açıklama yer alıyor.