ARCore'daki yeni ve önemli değişiklikler.
ARCore v1.50.0 sürümündeki yenilikler
ARCore SDK'sının targetSdkVersion
ile ilgili değişiklikler
ARCore'un targetSdkVersion
sürümü, Android API düzeyi 36'ya güncellendi. Uygulamanız bir targetSdkVersion
belirtmiyorsa,
manifest birleştirme nedeniyle uygulamanızın targetSdkVersion
değeri 36 olur.
Unity'de, Unity projenizin Project
Settings > Player > Android > Other Settings bölümünde Target API Level (Hedef API Seviyesi) belirtmek ARCore'un targetSdkVersion
değerini geçersiz kılar.
ARCore v1.49.0 sürümündeki yenilikler
Çeşitli hata düzeltmeleri ve performans iyileştirmeleri
ARCore v1.48.0 sürümündeki yenilikler
Unity 6 ve AR Foundation 6 için destek tamamen kullanıma sunuldu
Unity'nin AR Foundation için ARCore Uzantıları artık AR Foundation 6'yı destekliyor. ARCore Extensions for AR Foundation'ın uyumlu bir sürümünü edinmek için 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#arf6
kullanın,Add package from tarball...
üzerinden: Sürümler sayfasındaarf6
ile belirtilen bir sürümü kullanın.
Projenizi AR Foundation 5'ten AR Foundation 6'ya yükseltmek için aşağıdaki kılavuza bakın.
Zarar veren ve davranışsal değişiklikler
- SDK artık iOS 13.0'dan önceki sürümler için dağıtım hedeflerini desteklemiyor
ARCore v1.47.0 sürümündeki yenilikler
Unity 6 ve AR Foundation 6 için Beta Desteği
Unity 6'yı desteklemek için Unity'nin AR Foundation'ı için ARCore Uzantıları artık AR Foundation 6'nın beta sürümünü destekliyor. ARCore Extensions for AR Foundation'ın uyumlu bir sürümünü edinmek için 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#arf6
kullanın,Add package from tarball...
üzerinden: Sürümler sayfasındaarf6
ile belirtilen bir sürümü kullanın.
Projenizi AR Foundation 5'ten AR Foundation 6'ya yükseltmek için aşağıdaki kılavuza bakın.
Hata düzeltmeleri
- Unity 6 için Cloud Anchor Sample'ın düzleminin şeffaf olmaması sorunu düzeltildi.
Diğer değişiklikler
- ARCore Extensions GitHub deposunun
main
dalı,arf5
dalını izleyecek şekilde değiştirildi.
ARCore v1.46.0 sürümündeki yenilikler
ARCore SDK'sının targetSdkVersion
ile ilgili değişiklikler
ARCore'un targetSdkVersion
sürümü, Android API düzeyi 35'e güncellendi. Uygulamanız bir targetSdkVersion
belirtmiyorsa manifest birleştirme nedeniyle uygulamanızın targetSdkVersion
değeri 35 olur.
Unity'de, Unity projenizin Project
Settings > Player > Android > Other Settings bölümünde Target API Level (Hedef API Seviyesi) belirtmek ARCore'un targetSdkVersion
değerini geçersiz kılar.
ARCore v1.45.0 sürümündeki yenilikler
Flash Mode API
ARCore artık cihazın el feneri modunun etkinleştirilmesini destekliyor. Bu sayede karanlık ortamlarda daha iyi algılama özellikleri sunuluyor.
Android (Kotlin/Java)
Config.FlashMode
: Cihazdaki flaş birimini etkinleştirme veya devre dışı bırakma yapılandırma seçeneği.- Flaş özelliklerini algılama ve el feneri modunu etkinleştirme hakkında daha fazla bilgi için Geliştirici kılavuzu'na bakın.
Android NDK (C)
ArFlashMode
: Cihazdaki flaş birimini etkinleştirme veya devre dışı bırakma yapılandırma seçeneği.- Flaş özelliklerini algılama ve el feneri modunu etkinleştirme hakkında daha fazla bilgi için Geliştirici kılavuzu'na 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 resmi olarak AR Foundation 5'i 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
kullanın,Add package from tarball...
üzerinden: Sürümler sayfasındanarf5
ile gösterilen bir sürümü kullanın.
AR Foundation sürüm 4'te 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
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 rehberini inceleyin.
Beta desteğindeki ARCORE_USE_ARF_5
gibi özel komut dosyası oluşturma sembolleri artık kullanılmamaktadır.
ARCore v1.44.0 sürümündeki yenilikler
Bu sürümde yeni özellik yok.
ARCore v1.43.0 sürümündeki yenilikler
Geospatial Creator'a geçişte Places API
Geospatial Creator'ın arama özelliği artık Google'ın New Places API'sini kullanıyor. Arama özelliğini kullanmak için Google Cloud Console'da "Places API (New)"yi etkinleştirin.
ARCore v1.42.0 sürümündeki yenilikler
Unity için Geospatial Creator'da kutuya tutturma
ARGeospatialCreatorAnchor
Düzenleyici İnceleyici paneline "Döşemeye Yapıştır" düğmesi eklendi. Bu düğme, bir arazi veya çatı tutturucusunun
yalnızca düzenleyicide kullanılabilen yükseklik değerini, tutturucunun
mevcut enlem ve boylamındaki 3D karo geometrisinin en üstüne ayarlar. Bu özelliğin çalışma zamanındaki davranışı etkilemediğini unutmayın. Bu, düzenleyicideki sabitleme noktasının konumunu çalışma zamanındaki konumuyla eşleşecek şekilde ayarlamaya yardımcı olur.
ARCore v1.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 bunları kullanma desteği içeriyor. 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 destekliyor. Mevcut bir projeyi AR Foundation'a taşımak için taşıma kılavuzuna bakın.
ARCore v1.40.0 sürümündeki yenilikler
iOS'te sahne anlam bilimi
Scene Semantics API artık iOS platformunu hedefleyen Unity'nin AR Foundation'ı için ARCore Uzantıları'nın yanı sıra iOS için ARCore SDK'sında da kullanılabilir. Scene Semantics API, geliştiricilerin pikselleri 11 açık hava bileşeni sınıfına etiketleyerek kullanıcının etrafındaki sahneyi gerçek zamanlı olarak anlamasını sağlar. Daha fazla bilgi için Sahne Semantiğine Giriş başlıklı makaleyi inceleyin.
iOS
Unity (AR Foundation)
Unity için Geospatial Creator'da önemli yerleri arama
Unity için Coğrafi Konum İçerik Üreticisi artık Fotoğrafik 3D Döşemeler görünümünü konumlandırmak için metin aramayı destekliyor. Daha fazla bilgi için Geospatial Creator'da ilgi çekici yerleri arama başlıklı makaleyi inceleyin.
ARCore v1.39.0 sürümündeki yenilikler
Bu sürümde yeni özellik yok.
ARCore v1.38.0 sürümündeki yenilikler
Bu sürümde yeni özellik yok.
ARCore v1.37.0 sürümündeki yenilikler
Sahne Anlamları
Sahne Semantiği, çevredeki sahne hakkında daha ayrıntılı bilgiler sunarak kullanıcının etrafındaki dünyayı anlamasını kolaylaştırır. Scene Semantics, kamera görüntüsü feed'inde bir makine öğrenimi modeli çalıştırır ve her pikseli dış mekan kavramlarının 11 etiketinden biriyle eşleşen bir anlamsal görüntü sağlar.
Daha fazla bilgi için Introduction to Scene Semantics (Sahne Semantiğine Giriş) ve semantics_java örnek uygulamasını inceleyin.
Android (Kotlin/Java)
Android NDK (C)
Unity (AR Foundation)
iOS
ARCore v1.40.0 sürümündeki yeniliklere göz atın.
Streetscape Geometry
Streetscape Geometry, Geospatial API etkinleştirildiğinde kullanıcının bulunduğu bölgedeki binaların ve arazinin geometrisini sağlayan yeni bir ARCore Geospatial API'dir.
Android (Kotlin/Java)
Streetscape Geometry Geliştirici Kılavuzu (Kotlin/Java) başlıklı makaleyi inceleyin. Ayrıca, geospatial_java örnek uygulaması, Streetscape Geometry'yi içerecek şekilde güncellendi.
Android NDK (C)
Daha fazla bilgi için Streetscape Geometry Developer Guide (C) başlıklı makaleyi inceleyin.
Unity (AR Foundation)
Daha fazla bilgi için Streetscape Geometry Geliştirici Kılavuzu (Unity)'na bakın.
iOS
Daha fazla bilgi için Streetscape Geometry Developer Guide (iOS) başlıklı makaleyi inceleyin. Ayrıca, GeospatialExample uygulaması, Streetscape Geometry'yi 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 gösterir.GARStreetscapeGeometry.quality
, geometrinin kalitesini sağlar.GARStreetscapeGeometry.identifier
, geometrinin benzersiz tanımlayıcısını sağlar.GARSession.createAnchorOnStreetscapeGeometry:transform:error:
, belirtilen konumda ve yönde bir bağlantı oluşturur.GARSession.raycastStreetscapeGeometry:direction:error:
, sahneye yüklenen Streetscape Geometry'ye karşı ışın dökümü gerçekleştirir.
Çatı sabitleri
Çatı ankrajları, içerikleri bir çatıya sabitlemenize yardımcı olan yeni bir Coğrafi ankraj türüdür.
Android (Kotlin/Java)
Coğrafi konum bağlantıları (Java) başlıklı makaleyi inceleyin. Ayrıca, geospatial_java örnek uygulaması, çatı ankrajlarını içerecek şekilde güncellendi.
Android NDK (C)
Daha fazla bilgi için Coğrafi uzamsal bağlantılar (C) bölümüne bakın.
Unity (AR Foundation)
Daha fazla bilgi için Coğrafi uzamsal bağlantılar bölümüne bakın. Ayrıca, Geospatial örneği, çatı ankrajlarını içerecek şekilde güncellendi.
ARAnchorManagerExtensions.ResolveAnchorOnRooftopAsync()
, sahnenizdeki oyun nesneleri için belirtilen enlem, boylam, çatıdan yükseklik ve yönde bir bağlantı noktası sağlar.ResolveAnchorOnRooftopPromise
ResolveAnchorOnRooftopResult
iOS
Daha fazla bilgi için Coğrafi uzamsal bağlantılar (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, çatıdan metre cinsinden yükseklikte ve Dünya'ya göre yönlendirilmiş bir çatı üstü bağlantı noktası oluşturur.GARCreateAnchorOnRooftopFuture
, çatı bağlantısının çözümlenmesiyle ilgili eşzamansız durumu tutar.GARRooftopAnchorState
, çatı ankrajının çözümlenme durumunu açıklar.
Coğrafi Derinlik
VPS kapsamı olan bölgelerdeki bir ARCore oturumunda hem Depth API hem de Streetscape Geometry modları etkinleştirildiğinde, oluşturulan derinlik görüntüleri Streetscape Geometry kullanılarak iyileştirilir. Streetscape Geometry, 65.535 metre aralığında oluşturulan her derinlik görüntüsüne entegre edilir. Bu avantajdan yararlanmak için Depth API'yi çağırırken herhangi bir değişiklik yapmanız gerekmez.
Android (Kotlin/Java)
Daha fazla bilgi için Geospatial Depth (Java) konusuna bakın.
Android NDK (C)
Daha fazla bilgi için Coğrafi Derinlik (C) bölümüne bakın.
Unity (AR Foundation)
Daha fazla bilgi için Coğrafi Derinlik (C) bölümüne bakın.
iOS
Sahne Semantiği şu anda iOS'te kullanılamamaktadır.
Vulkan oluşturma desteği
ARCore artık kamera görüntüsünü AHardwareBuffer
üzerinden göstererek Vulkan oluşturma desteği sunuyor. Bu donanım arabelleğini bir VkImage
'ye bağlayarak kullanabilirsiniz.
Daha fazla bilgi için ARCore uygulamanızı Vulkan kullanarak oluşturma ve hello_ar_vulkan_c örnek uygulaması başlıklı makalelere bakın.
Android (Kotlin/Java)
Android NDK (C)
Unity (AR Foundation)
Vulkan oluşturma şu anda AR Foundation kullanan Unity için kullanılamamaktadır.
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 ve hello_eis_kotlin örnek uygulamasını inceleyin.
Android (Kotlin/Java)
Config.ImageStabilizationMode
Frame.transformCoordinates3d()
Session.isImageStabilizationModeSupported()
Frame.transformCoordinates3d()
işlevininOPENGL_NORMALIZED_DEVICE_COORDINATES
dışında 2D koordinatlarla çağrılması durumundaIllegalArgumentException
oluşturmak yerine kilitlenmeye neden olduğu bilinen bir sorun vardır. Bu sorun, sonraki sürümde düzeltilecektir.
Android NDK (C)
ArImageStabilizationMode
ArFrame_transformCoordinates3d()
ArSession_isImageStabilizationModeSupported()
ArFrame_transformCoordinates3d()
işlevininAR_COORDINATES_2D_OPENGL_NORMALIZED_DEVICE_COORDINATES
dışındaki 2D koordinatlarla çağrılması durumunda uygulamanızınAR_ERROR_INVALID_ARGUMENT
döndürmek yerine sonlandırılmasına neden olan bilinen bir sorun var. Bu sorun, sonraki sürümde düzeltilecektir.
Unity (AR Foundation)
EIS şu anda AR Foundation kullanan Unity için kullanılamamaktadır.
iOS
EIS şu anda iOS'te kullanılamamaktadır.
ARCore asenkron API'leri
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 sunuluyor.
Android (Kotlin/Java)
- Arazi bağlantılarını çözme:
Earth.resolveAnchorOnTerrainAsync()
kullanarakResolveAnchorOnTerrainFuture
elde edin. Eski sembolEarth.resolveAnchorOnTerrain()
kullanımdan kaldırıldı ve ARCore'un sonraki bir sürümünde kaldırılabilir. - Bulut bağlantılarını çözme:
ResolveCloudAnchorFuture
elde etmek içinSession.resolveCloudAnchorAsync()
kullanın. Eski sembolSession.resolveCloudAnchor()
kullanımdan kaldırıldı ve ARCore'un sonraki bir sürümünde kaldırılabilir. - Cloud Anchor'ları barındırma:
Session.hostCloudAnchorAsync()
kullanarakHostCloudAnchorFuture
elde edin. Eski sembollerSession.hostCloudAnchor()
veSession.hostCloudAnchorWithTtl()
artık kullanılmıyor ve ARCore'un sonraki bir sürümünde kaldırılabilir. - APK kullanılabilirliğini kontrol etme: Geri çağırma kaydetmek için
ArCoreApk.checkAvailabilityAsync()
kullanın. Eski simgeArCoreApk.checkAvailability()
kullanımdan kaldırılmamıştır.
Android NDK (C)
- Arazi bağlantılarını çözme:
ArEarth_resolveAnchorOnTerrainAsync()
kullanarakArResolveAnchorOnTerrainFuture
elde edin veyaArResolveAnchorOnTerrainCallback
kullanın. Eski sembolArEarth_resolveAndAcquireNewAnchorOnTerrain()
kullanımdan kaldırıldı ve ARCore'un sonraki bir sürümünde kaldırılabilir. - Cloud Anchor'ları çözme:
ArResolveCloudAnchorFuture
elde etmek içinArSession_resolveCloudAnchorAsync()
'u veyaArResolveCloudAnchorCallback
'u kullanın. Eski sembolArSession_resolveAndAcquireNewCloudAnchor()
kullanımdan kaldırıldı ve ARCore'un sonraki bir sürümünde kaldırılabilir. - Cloud Anchor'ları barındırma:
ArSession_hostCloudAnchorAsync()
kullanarakArHostCloudAnchorFuture
elde edin veyaArHostCloudAnchorCallback
kullanın. Eski sembollerArSession_hostAndAcquireNewCloudAnchor()
veArSession_hostAndAcquireNewCloudAnchorWithTtl()
artık kullanılmıyor ve ARCore'un sonraki bir sürümünde kaldırılabilir. - APK kullanılabilirliğini kontrol etme: Geri çağırma kaydetmek için
ArCoreApk_checkAvailabilityAsync()
kullanın. Eski simgeArCoreApk_checkAvailability()
kullanımdan kaldırılmamıştır.
Unity (AR Foundation)
- Arazi bağlantılarını çözme:
ARAnchorManagerExtensions.ResolveAnchorOnTerrainAsync()
kullanarakResolveAnchorOnTerrainPromise
elde edin. Eski sembolARAnchorManagerExtensions.ResolveAnchorOnTerrain()
kullanımdan kaldırıldı ve ARCore'un sonraki bir sürümünde kaldırılabilir. - Bulut bağlantılarını çözme:
ResolveCloudAnchorPromise
elde etmek içinARAnchorManagerExtensions.ResolveCloudAnchorAsync()
kullanın. Eski sembolARAnchorManagerExtensions.ResolveCloudAnchorId()
kullanımdan kaldırıldı ve ARCore'un sonraki bir sürümünde kaldırılabilir. - Cloud Anchor'ları barındırma:
ARAnchorManagerExtensions.HostCloudAnchorAsync()
kullanarakHostCloudAnchorPromise
elde edin. EskiARAnchorManagerExtensions.HostCloudAnchor()
sembollerinin desteği sonlandırıldı ve bu semboller ARCore'un sonraki bir sürümünde kaldırılabilir.
iOS
- Arazi bağlantılarını çözme:
GARSession.createAnchorWithCoordinate:altitudeAboveTerrain:eastUpSouthQAnchor:completionHandler:error:
kullanarakGARCreateAnchorOnTerrainFuture
elde edin. Eski sembolGARSession.createAnchorWithCoordinate:altitudeAboveTerrain:eastUpSouthQAnchor:error:
kullanımdan kaldırıldı ve ARCore'un sonraki bir sürümünde kaldırılabilir. - Bulut bağlantılarını çözme:
GARResolveCloudAnchorFuture
elde etmek içinGARSession.resolveCloudAnchorWithIdentifier:completionHandler:error:
kullanın. Eski sembolGARSession.resolveCloudAnchorWithIdentifier:error:
kullanımdan kaldırıldı ve ARCore'un sonraki bir sürümünde kaldırılabilir. - Cloud Anchor'ları barındırma:
GARSession.hostCloudAnchor:TTLDays:completionHandler:error:
kullanarakGARHostCloudAnchorFuture
elde edin. Eski sembollerGARSession.hostCloudAnchor:error:
veGARSession.hostCloudAnchor:TTLDays:error:
artık kullanılmıyor ve ARCore'un sonraki bir sürümünde kaldırılabilir.
ARCore v1.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 destekliyor. Swift Package Manager'ı kullanarak ARCore ile entegrasyon hakkında talimatlar için iOS uygulamanızda AR'yi etkinleştirme başlıklı makaleyi inceleyin.
ARCore v1.35.0 sürümündeki yenilikler
Coğrafi uzamsal duruş doğruluğu, yönü sapma ile değiştirir
Tüm Coğrafi Uzamsal pozlar artık yön doğruluğunun yerine sapma dönüşünün yön doğruluğunu gösteriyor.
- Java/Kotlin:
GeospatialPose.getHeading()
yerineGeospatialPose.getEastUpSouthQuaternion()
,GeospatialPose.getHeadingAccuracy()
yerineGeospatialPose.getOrientationYawAccuracy()
koyun. - C:
ArGeospatialPose_getHeading()
yerineArGeospatialPose_getEastUpSouthQuaternion()
,ArGeospatialPose_getHeadingAccuracy()
yerineArGeospatialPose_getOrientationYawAccuracy()
koyun. - iOS:
GARGeospatialTransform.heading
yerineGARGeospatialTransform.eastUpSouthQTarget
,GARGeospatialTransform.headingAccuracy
yerineGARGeospatialTransform.orientationYawAccuracy
koyun. - Unity:
GeospatialPose.Heading
yerineGeospatialPose.EunRotation
,GeospatialPose.HeadingAccuracy
yerineGeospatialPose.OrientationYawAccuracy
koyun.
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ının sürüm notları
- Android NDK için ARCore sürüm notları
- iOS için ARCore SDK'sının sürüm notları
- AR Foundation için ARCore Uzantıları sürüm notları
ARCore v1.34.0 sürümündeki yenilikler
Coğrafi uzamsal özelliklerin cihazın bulunduğu konumda kullanılıp kullanılamadığını kontrol edin.
Geospatial API artık çalışma zamanında belirtilen yatay konumda Görsel Konumlandırma Sistemi (VPS) kullanılabilirliğini kontrol edebilir. Bu API, etkin bir AR oturumu olmadan kullanılabilir. Örneğin, VPS yalnızca kullanılabilir olduğunda "AR'a girin" düğmesini göstermek için kullanılabilir.
- Java/Kotlin:
Session.checkVpsAvailabilityAsync()
- C:
ArSession_checkVpsAvailabilityAsync()
- iOS:
GARSession.checkVPSAvailabilityAtCoordinate:completionHandler:
- Unity (AR Foundation):
AREarthManager.CheckVpsAvailability()
Coğrafi duruş yönü
Coğrafi uzamsal pozlar artık 3D uzaydaki yönlerini gösteriyor.
- Java/Kotlin:
feedbackGeospatialPose.getEastUpSouthQuaternion()
- C:
ArEarth_getGeospatialPose()
- iOS:
GARGeospatialTransform.eastUpSouthQTarget
- Unity:
GeospatialPose.EunRotation()
Coğrafi konum duruşu dönüşümleri
Coğrafi uzamsal pozlar artık dünya uzayı (AR) pozlarına ve bu pozlardan dönüştürülebilir.
AR pozundan coğrafi konum pozu almak için:
- Java/Kotlin:
Earth.getGeospatialPose()
- C:
ArEarth_getGeospatialPose()
- iOS:
GARSession.geospatialTransformFromTransform:error:
- Unity:
AREarthManager.Convert(Pose)
Coğrafi konum pozundan AR pozu 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 uzamsal pozların yön değeri sıfır olarak ayarlanır. Bunun yerine aşağıdakileri kullanın:
- Android (Java/Kotlin/C): Pozun EUS kuaterniyonu
- 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ının sürüm notları
- Android NDK için ARCore sürüm notları
- iOS için ARCore SDK'sının sürüm notları
- AR Foundation için ARCore Uzantıları sürüm notları
ARCore v1.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 her ikisini de etkinleştirebilirsiniz. ARCore SDK 1.32.0 ve önceki sürümleriyle oluşturulan uygulamalar eski API'yi, ARCore SDK 1.33.0 ve sonraki sürümleriyle 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 ile 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/uç nokta, Ağustos 2023'e kadar desteklenmeye devam edecek.
- Daha fazla bilgi için ARCore 1.33 Cloud Anchor uç nokta değişiklikleri başlıklı makaleyi inceleyin.
- Yeni API,
Arazi bağlantıları
- Geospatial Terrain anchor API, belirtilen yatay konumun arazisine göre yatay konumda ve yükseklikte bir bağlantı 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ının sürüm notları
- Android NDK için ARCore sürüm notları
- iOS için ARCore SDK'sının sürüm notları
- AR Foundation için ARCore Uzantıları sürüm notları
ARCore v1.32.0 sürümündeki yenilikler
Bu sürümde yeni özellik yok.
Android ve Unity (AR Foundation) for Android
- ARCore'un
targetSdkVersion
sürümü, Android API düzeyi 32'ye güncellendi. UygulamanıztargetSdkVersion
belirtmiyorsa manifest birleştirme nedeniyle uygulamanızıntargetSdkVersion
değeri 32 olur.- Android SDK: Projenizin
build.gradle
veyaAndroidManifest.xml
içindetargetSdkVersion
belirtmek, ARCore'untargetSdkVersion
değerini geçersiz kılar. - Android için AR Foundation: Unity projenizin Project Settings > Player > Android > Other Settings bölümünde Target API Level (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ının sürüm notları
- Android NDK için ARCore sürüm notları
- iOS için ARCore SDK'sının sürüm notları
- AR Foundation için ARCore Uzantıları sürüm notları
ARCore v1.31.0 sürümündeki yenilikler
ARCore Geospatial API
Yeni ARCore Geospatial API, Google Earth 3D modellerinden ve Google Haritalar'daki Street View görüntü verilerinden yararlanarak uygulamanızda sürükleyici, küresel ölçekli ve konuma dayalı artırılmış gerçeklik deneyimleri sunmanızı sağlar.
Platforma özel geliştirici belgeleri ve yeni Coğrafi Uzamsal API'yi kullanmaya başlamak için ARCore Coğrafi Uzamsal API'ye Giriş başlıklı makaleyi inceleyin.
Uzun menzilli derinlik
ARCore Depth API artık daha uzun mesafeli derinlik algılamayı içerecek şekilde optimize edildi. Bu sayede, gösterilebilecek derinlik gözlemlerinin aralığı 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. Daha önce yalnızca 13 bit dolduruluyordu ve 8.191 milimetre sınırı vardı.
Platforma özel geliştirici belgeleri ve Depth API'de yapılan değişiklikleri anlamak için Derinlikte Yapılan Değişiklikler bölümünü inceleyin.
Platforma özgü notlar
Android
Yeni ARCore Geospatial API'leri
Java
Earth
, Dünya'ya göre koordinatlarda yerelleştirme özelliği sunar.Earth.createAnchor()
Dünya'ya göre belirtilen konumda ve yönde yeni birAnchor
oluşturur.
Earth.Earthstate
Earth
'ünTrackingState
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 sunar.ArEarth_acquireNewAnchor()
Dünya'ya göre belirtilen konumda ve yönde yeni birAnchor
oluşturur.ArEarthState
ArEarth
'ünArTrackingState
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 Depth 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
olarak değiştirildi.android.hardware.HardwareBuffer#D_16
- Derinlik, milimetre birimleriyle 16 bitlik bir tam sayı olarak gösterilmeye devam eder ancak artık derinliği göstermek için 16 bitin tamamı kullanılır. Bu sayede, ifade edilebilen maksimum aralık 8.191 mm'den 65.535 mm'ye çıkar.
- Depth API işlev çağrıları
Frame.acquireDepthImage
veFrame.acquireRawDepthImage
kullanımdan kaldırıldı. Lütfen bunun yerineFrame.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 görüşmenin çıkış resim biçimleri
AR_IMAGE_FORMAT_DEPTH16
olarak değiştirildi.AR_IMAGE_FORMAT_D_16
- Derinlik, milimetre birimleriyle 16 bitlik bir tam sayı olarak gösterilmeye devam eder ancak artık derinliği göstermek için 16 bitin tamamı kullanılır. Bu sayede, ifade edilebilen maksimum aralık 8.191 mm'den 65.535 mm'ye çıkar.
- Depth API işlev çağrıları
ArFrame_acquireDepthImage
veArFrame_acquireRawDepthImage
kullanımdan kaldı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 sunar.EarthTrackingState
En son kare için Dünya'nın izleme durumunu alır.EarthState
Dünya'daki 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 bir sabitleme noktası sağlar. Bu nokta, Dünya'ya göre belirli bir konumda ve yönde belirtilir.
iOS
Yeni ARCore Geospatial API'leri:
GAREarth
Dünyaya 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, yükseklik ve doğruluk tahminleri dahil olmak üzere küresel bir dönüşümün gösterimi.GARSession.createAnchorWithCoordinate:altitude:eastUpSouthQAnchor:error:
Dünyaya göre belirtilen konumda ve yönde bir coğrafi konum sabitleyicisi 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ının sürüm notları
- Android NDK için ARCore sürüm notları
- iOS için ARCore SDK'sının sürüm notları
- AR Foundation için ARCore Uzantıları sürüm notları
ARCore v1.30.0 sürümündeki yenilikler
Bu sürümde yeni özellik yok.
Android
@NonNull
ve@Nullable
ile açıklama eklenmiş API dönüş değerleri.- Örnekleri oluşturmak 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ın yükseltilmesi gerekmez. Yeni özellikler, bilinen sorunlar ve uyumsuzluk bilgileri için Android Gradle eklentisiyle 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ı, External Dependency Manager for Unity gibi harici bağımlılıkları paketlemez ve EDM'ye yükseltmelere olanak tanır. Bu lite 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, v1.2.168'e yükseltildi. Ayrıntılar için EDM'nin değişiklik günlüğüne bakın.
ARCore oturumunun, oturum yapılandırmasında değişiklik olmamasına rağmen her karede yapılandırılmasına ve bunun sonucunda FPS düşüşüne neden olan sorun düzeltildi.
iOS
- Çeşitli hata düzeltmeleri ve performans iyileştirmeleri.
ARCore v1.29.0 sürümündeki yenilikler
Bu sürümde yeni özellik yok.
Android
- hello_ar_java ve hello_ar_kotlin:
SCREENSPACE_WITH_APPROXIMATE_DISTANCE
kullanılarak yerleştirilen bir nesnenin rengi, Anında Yerleştirme kullanılarak yerleştirilen nesneleri daha iyi ayırt etmek için değiştirildi. - persistent_cloud_anchor_java: Örneğe eksik bir derleme bağımlılığı eklendi. Proje doğru şekilde ayarlanmış olsa bile herhangi bir bağlantı noktasının barındırılmasının
CloudAnchorState ERROR_NOT_AUTHORIZED
durumuna sahip olmasına neden olan hata düzeltildi.
Unity (AR Foundation)
- ARCore Uzantıları paketi, yüklenen AR Foundation sürümünün ARKit XR Plugin sürümüyle uyumlu olmasını sağlamak için artık ARKit XR Plugin'e bağlıdır. Bu düzeltme, ARCore Extensions'ı Unity 2019.x'e yüklerken ve ARKit XR eklentisini etkinleştirirken oluşan derleme hatasını düzeltir.
- ARCore Uzantıları proje ayarları, Project Settings > XR > ARCore Extensions'dan Project Settings > XR Plug-in Management > ARCore Extensions'a taşındı.
ARCoreExtensionsConfig
,ARCoreExtensionsCameraConfigFilter
,ARCoreRecordingConfig
, Oluştur > XR > ARCore Uzantıları'ndan Oluştur > XR menüsüne taşındı.
iOS
- Çeşitli hata düzeltmeleri ve performans iyileştirmeleri.
Sürüm notlarının tamamı
- Android için ARCore SDK'sının tam sürüm notları
- Android NDK için ARCore'un tam sürüm notları
- iOS için ARCore SDK'sının tüm sürüm notları
- AR Foundation için ARCore Uzantıları sürüm notları
ARCore v1.28.0 sürümündeki yenilikler
- Kasım 2022'den itibaren, artırılmış gerçeklik özellikli uygulamalar artık NDK resimlerini veya resim meta verilerini edinemeyecek. Etkilenen SDK sürümleri, çağrılan işleve bağlıdır. Daha fazla bilgi için desteği sonlandırma duyurusuna bakın.
- C:
ArImage_getNdkImage()
veArImage_getNdkCameraMetadata()
için yapılan çağrılar,AImage
veACameraMetadata
nesneleri için her zamannullptr
değerini döndürür. - Java:
Frame#acquireCameraImage()
tarafından döndürülenImage
nesnesi,0
x0
piksel boyutunda olur.Frame#getImageMetadata()
'a yapılan çağrılar her zamanIllegalArgumentException
oluşturur. - Unity (AR Foundation): AR Foundation 2.1 (Unity 2019 LTS) kullanılırken
XRCameraSubsystem.TryGetLatestImage(out XRCameraImage)
'a yapılan çağrılar her zamanfalse
değerini döndürür. AR Foundation 4.x ve sonraki sürümler 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()
numarasına 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 v1.27.0 sürümündeki yenilikler
Bu sürümde yeni özellik yok. Ç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ının tam sürüm notları
- Android NDK için ARCore'un tam sürüm notları
- iOS için ARCore SDK'sının tüm sürüm notları
- AR Foundation için ARCore Uzantıları sürüm notları
Bu sürümde çeşitli hata düzeltmelerinin yanı sıra aşağıdakiler de yer almaktadır.
Kotlin'de örnek uygulamalar
Kotlin 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ıç kılavuzuna 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 ARCore'u makine öğrenimi modelleri için giriş olarak kullanma konusuna bakın.
ARCore v1.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
Ek hata düzeltmeleri ve diğer zarar veren değişiklikler için aşağıdaki sürüm notlarına bakın.
- Android için ARCore SDK'sının tam sürüm notları
- Android NDK için ARCore'un tam sürüm notları
- iOS için ARCore SDK'sının tüm sürüm notları
- AR Foundation için ARCore Uzantıları sürüm notları
ARCore v1.25.0 sürümündeki yenilikler
Bu sürümde yeni özellik yok. Ç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ının tam sürüm notları
- Android NDK için ARCore'un tam sürüm notları
- iOS için ARCore SDK'sının tüm 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 v1.24.0 sürümündeki yenilikler
Bu sürümde aşağıdaki önemli değişiklikler yapıldı:
- Görüntü alanı filtreleme olmadan derinlik görüntüsü sağlayan yeni bir Raw Depth API
- Kayıt ve Oynatma API'sine özel veri parçası kaydı özelliği eklendi.
- Derinlik isabet testleri yapabilme
Ham Derinlik
Raw Depth API, tam Depth API verilerine göre daha yüksek doğruluğa sahip bir kamera görüntüsü için derinlik verileri sağlar ancak her zaman her pikseli kapsamaz. Ham derinlik görüntüleri, eşleşme güveni görüntüleriyle birlikte daha fazla işlenebilir. Böylece uygulamalar, kendi kullanım alanları için yeterli doğruluğa sahip derinlik verilerini kullanabilir.
Geliştirici kılavuzları:
Özel kanal kaydı
Kayıt ve Geri Oynatma API'sindeki yeni özel veri parçası özelliği, kayıt sırasında bir ARCore çerçevesine özel veriler eklemenize ve geri 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 ve bu da konumları büyük, düz yüzeylerle sınırlıyordu. Derinlik isabet testleri, düzlemsel olmayan ve dokusu az olan yüzeylerde bile daha doğru isabet sonuçları sağlamak için hem düzgün hem de ham derinlik bilgilerinden yararlanır.
Geliştirici kılavuzları:
Ek değişiklikler ve güncellemeler
Ek hata düzeltmeleri ve diğer zarar veren değişiklikler için aşağıdaki sürüm notlarına bakın.
- Android için ARCore SDK'sının tam sürüm notları
- Android NDK için ARCore'un tam sürüm notları
- iOS için ARCore SDK'sının tüm 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 v1.23.0 sürümündeki yenilikler
Çift kamera desteği beklemede
Çift kamera desteği önümüzdeki haftalarda kullanıma sunulacak. Daha fazla bilgi için desteklenen cihazlar sayfasına bakın.
Yeni hata ayıklama araçları
Geliştiriciler, yayın amaçlı bir intent göndererek şunları etkinleştirebilir:
ARCore API çağrısı, Android hata ayıklama günlüğüne kaydediliyor.
ARCore performans katmanı
Cloud Anchor'ları barındırma ve çözme
ARCore SDK 1.11.0 veya önceki sürümleri kullanılarak oluşturulan AR özellikli uygulamalar artık Cloud Anchor'ları barındıramaz veya çözümleyemez.
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 Anchors her zamanAnchor.CloudAnchorState.ERROR_INTERNAL
durumunda olur.Unity:
XPSession.CreateCloudAnchor(Anchor)
veXPSession.ResolveCloudAnchor(string)
tarafından döndürülen Cloud Anchors'lar her zamanCloudServiceResponse.ErrorInternal
durumuna sahip olur.
ARCore SDK 1.12.0 veya sonraki sürümlerle oluşturulan uygulamalar bu durumdan etkilenmez. ARCore Cloud Anchor API'sinin kullanımı kullanımdan kaldırma politikası kapsamındadır.
Ek değişiklikler ve güncellemeler
Ek hata düzeltmeleri ve diğer önemli değişiklikler için aşağıdaki sürüm notlarına bakın.
ARCore v1.22.0 sürümündeki yenilikler
Bu sürüm, ARCore Extensions for AR Foundation için yeni Kayıt ve Oynatma API'leri ile Kamera Yapılandırma Filtresi API'leri ekler. Ayrıntılar için ARCore Uzantıları ile ilgili tüm sürüm notlarına bakın.
Ek değişiklikler ve güncellemeler
Ek hata düzeltmeleri ve diğer önemli değişiklikler için aşağıdaki sürüm notlarına bakın.
ARCore v1.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 ekleniyor.
Kaydetme ve Oynatma
Kayıt ve Oynatma API'leri ile belirli bir ortamda video ve AR verilerini bir kez kaydedebilir, ardından bu içeriği test amacıyla canlı kamera oturumunun yerine kullanabilirsiniz. ARCore, kaydedilen oturumları cihazda birden fazla video parçası ve diğer çeşitli verileri içeren MP4 dosyalarına kaydeder. Ardından, uygulamanızı canlı kamera oturumu yerine bu verileri kullanacak şekilde yönlendirebilirsiniz. Bu sayede, sahaya geri dönmenize gerek kalmadan farklı AR efektlerini denemek için bu içeriği süresiz olarak tekrar oynatabilirsiniz.
Daha ayrıntılı bilgi için:
Java:
C:
Unity:
ARCore v1.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 güncellenen görüntü meta verileri özellikleri.
Unity 2018.4 veya sonraki sürümlerinde ARCore SDK for Unity'nin (1.19 veya sonraki sürümler) ya da AR Foundation için ARCore Uzantıları'nın desteklenmesi amacıyla Gradle sürümünün 5.6.4 veya sonraki sürümlerinin kullanılmasını zorunlu kılan yeni rehberlik.
Kalıcı Cloud Anchors için yeni destek
ARCore v1.20'den önce, Cloud Anchor'lar ilk kez barındırıldıktan sonra en fazla 24 saat boyunca çözümlenebiliyordu. Kalıcı Cloud Anchor'lar sayesinde artık bir ila 365 gün arasında geçerlilik süresine (TTL) sahip bir Cloud Anchor oluşturabilirsiniz. Cloud Anchor Management API'yi kullanarak, barındırıldıktan sonra da bağlantı noktasının kullanım ömrünü uzatabilirsiniz.
Kalıcı Cloud Anchors kullanımı, yeni Cloud Anchors desteğini sonlandırma 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'i hedefleme: Geliştirici kılavuzu,
XPSession.SetAuthToken(string)
veXPSession.CreateCloudAnchor(UnityARUserAnchorComponent, int)
.
Ek değişiklikler ve güncellemeler
Ek hata düzeltmeleri ve diğer önemli değişiklikler için aşağıdaki sürüm notlarına bakın.
ARCore v1.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 Anında Yerleştirme API'si.
- Unity ile Android 11 için geliştirme yapmayla ilgili yeni rehberlik.
Anında Yerleştirme
Anında Yerleştirme API'si, kullanıcının ARCore'un yüzey geometrisini algılamasını beklemeden ekrana bir AR nesnesi yerleştirmesine olanak tanır. Kullanıcı ortamda hareket ettikçe nesne yerleşimi gerçek zamanlı olarak iyileştirilir. ARCore, AR nesnesinin yerleştirildiği bölgede doğru pozu algıladığında beyaz nesne otomatik olarak pozu doğru şekilde yansıtacak şekilde güncellenir ve opak hale gelir.
Aşağıdaki klipte, gerçek bir masa üzerinde sanal bir Android figürü gösterilmektedir. Şekil, ilk yerleştirildiğinde beyaz ve çok daha küçüktür. ARCore, sahne boyutlarıyla ilgili hesaplamalarını iyileştirdikten sonra şekil daha doğru bir konuma geçer. Bu durum, nesnenin algılanan "boyutunda" farklılığa neden olabilir.
Daha ayrıntılı bilgi için:
Android:
Android NDK:
Unity:
ARCore v1.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 Depth API.
- Artırılmış Yüz öğeleri oluşturma ve bunları Android Studio'ya aktarmayla ilgili yeni rehberlik.
- Depth API,
4.1.0-preview.2
'da hemAR Foundation
hem deARCore XR Plugin
için desteklenecektir.
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 dünya nesnelerinin ö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. Bu sayede, kullanıcılar için etkileyici ve gerçekçi deneyimler sunabilirsiniz.
Örneğin, aşağıdaki resimlerde bir kapının yanında sandık 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 v1.17.0 sürümündeki yenilikler
Android için ARCore SDK'sında dikkat çekici
Birden fazla kamera karesinin arabelleğe alınmasına olanak tanıyan yeni yöntemler eklendi. Çok iş parçacıklı oluşturma gibi diğer tekniklerle birlikte bu özellik, kare hızlarındaki değişkenliği azaltmak için kullanılabilir.
Eksik olan derinlik sensörü kullanımı ve hedef FPS alıcıları eklendi:
Android için Android SDK'sının tam sürüm notlarını da inceleyin.
Unity için ARCore SDK'sında dikkat çekenler
- Unity 2018.2 veya sonraki sürümlerde çok iş parçacıklı oluşturma desteği eklendi. Bu destek, çoğu durumda performansı artırır ve kare hızlarındaki değişkenliği azaltmaya yardımcı olabilir. Bu, Project Settings > Player > Android > Other Settings > Multithreaded Rendering bölümünde bulunan bir Unity proje ayarıdır. Ayrıntılar için Geliştirici Kılavuzu'na bakın.
- Belirli ARCore oturumu hata durumlarını belirtmek için
SessionStatus.ErrorCameraNotAvailable
veSessionStatus.ErrorIllegalState
eklendi.
Ayrıca Unity için ARCore SDK'nın tüm sürüm notlarına da bakın.
iOS için ARCore SDK'sında dikkat çekenler
Cloud Anchors SDK'sının ikili boyutu önemli ölçüde küçültüldü.
Artık Artırılmış Gerçeklik Yüzleri için bit kodu desteklenmektedir.
iOS için ARCore SDK'sının tüm sürüm notlarını da inceleyin.
ARCore v1.16.0 sürümündeki yenilikler
Android için ARCore SDK'sı ve Android için Sceneform SDK'sında dikkat çekici
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üklerine sahip ek desteklenen kamera yapılandırmaları döndürüyor.
Ayrıntılar için ARCore destekli cihazlar sayfasına bakın.
Bu genişletilmiş GPU çözünürlükleri,
getSupportedCameraConfigs(CameraConfigFilter)
API aracılığıyla kullanılabilir.
Şuna da bakabilirsiniz:
AR Foundation için ARCore Uzantıları'ndaki önemli noktalar
Bu sürümde aşağıdaki önemli değişiklikler yapıldı:
AR Foundation'ın
XRCameraConfiguration
, istediğiniz ölçütlere göre uygun kamera yapılandırmasını seçmenize olanak tanıyan yöntemlerle genişletildi. Bu yöntemler arasında GetTextureDimensions(), GetFPSRange() ve GetDepthSensorUsages() yer alır. Ayrıntılı talimatları inceleyin.ARCore Uzantıları için önerilen minimum sürüm artık Unity 2019.3.0f6'dır. 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ı dokümanları bu durumu yansıtacak şekilde güncellendi.
Şuna da bakabilirsiniz:
Unity için ARCore SDK'sında dikkat çekenler
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üklerine sahip ek desteklenen kamera yapılandırmaları döndürüyor. (Ayrıntılar için ARCore destekli cihazlar sayfasına bakın.) Bu genişletilmiş GPU çözünürlükleri, ARCoreCameraConfigFilter API aracılığıyla kullanılabilir.
Şuna da bakabilirsiniz:
Unity için ARCore SDK'sının tam sürüm notları
ARCore v1.15.0 sürümündeki yenilikler
AR Foundation için ARCore Uzantıları'ndaki önemli noktalar
Bu sürümde aşağıdaki önemli değişiklikler yapıldı.
Hem Android hem de iOS için ortak artırılmış gerçeklik deneyimleri oluşturmayı gösteren CloudAnchors örneği eklendi. Android veya iOS talimatlarını inceleyin.
ARCore Uzantıları ile kullanılması önerilen minimum sürüm artık Unity 2019.2.17f1'dir.
ARCore Uzantıları'nın tam sürüm notları
Unity için ARCore SDK'sında dikkat çekenler
Bu sürümde aşağıdaki bilinen sorunlar vardır.
Anlık Önizleme, Android 9 ve USB 3 kablosu kullanılırken Unity'nin donmasına neden olabilir. 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 Unity'nin oyun görünümü çözünürlüğünü Editor'da düşürün.
Unity için ARCore SDK'sının tam sürüm notları
Ek değişiklikler
Ek hata düzeltmeleri ve diğer önemli değişiklikler için aşağıdaki sürüm notlarına bakın.
ARCore v1.14.0 sürümündeki yenilikler
Bu sürümde aşağıdaki önemli değişiklikler yapıldı.
Bir uygulama, cihazdaki başka bir uygulamaya kamerayı geçici olarak bıraktığında izleme hatasının nedeni artık daha ayrıntılı olarak belirtiliyor:
Android:
TrackingFailureReason
NONE
yerineCAMERA_UNAVAILABLE
olur.Android NDK:
ArTrackingFailureReasons
AR_TRACKING_FAILURE_REASON_NONE
yerineAR_TRACKING_FAILURE_REASON_CAMERA_UNAVAILABLE
.Unity:
Session.LostTrackingReason
None
yerineLostTrackingReason.CameraUnavailable
.
Google, Google Gizlilik Politikası ve Google API'leri Hizmet Şartları uyarınca ARCore Uzantıları paketini kullanımınızdan veri toplar ve bu verileri işler. Bu özelliği devre dışı bırakabilirsiniz.
ARCore v1.13.0 sürümündeki yenilikler
Bu sürümde aşağıdaki önemli değişiklikler yapıldı.
Unity'nin AR Foundation'ı için ARCore Uzantıları'nı kullanarak Cloud Anchors ile iOS uygulamaları oluşturma desteği.
Ek hata düzeltmeleri ve diğer önemli değişiklikler için aşağıdaki sürüm notlarına bakın.
ARCore v1.12.0 sürümündeki yenilikler
Bu sürümde aşağıdaki değişiklikler yapıldı:
Artırılmış Yüzler özelliği iOS'e eklendi. Daha fazla bilgi için bu genel bakış, hızlı başlangıç ve geliştirici kılavuzuna bakın.
Cloud Anchors ile Android uygulamaları oluşturmak için Unity'nin AR Foundation'ında ARCore Extensions'ı kullanma desteği.
Cloud Anchors'da aşağıdaki değişiklikler yapıldı:
- ARCore SDK'larının 1.12 veya sonraki sürümlerinin kullanımıyla ilgili güncellenen gizlilik şartlarımıza uymak için aşağıdaki metni ve daha fazla bilgi edinmek üzere bir bağlantıyı bildirim ekranına ekleyerek uygulamanızda Cloud Anchors kullanımını belirgin bir şekilde açıklamanız gerekir: "Google, bu oturumu desteklemek için kameranızdan gelen görsel verileri işler." Bunu, Cloud Anchor örnek uygulamalarımızda bulunan önerilen kullanıcı bildirimi akışını uygulayarak yapabilirsiniz.
Daha fazla bilgi için Kullanıcı gizliliği şartları başlıklı makaleyi inceleyin.
Cloud Anchor'lar hakkında daha fazla bilgi için:
Android:
Android NDK:
iOS:
Unity:
ARCore Uzantıları:
ARCore v1.11.0 sürümündeki yenilikler
Bu sürümde aşağıdaki değişiklikler yapıldı:
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ü olan cihazlarda bu sensörün kullanılmasını önceliklendirir. Kamera yakalama kare hızını 30 fps ile sınırlamak, ARCore'un derinlik sensörü kullanmasını önlemek veya her iki seçeneğe göre filtreleme yapmak için yeni kamera yapılandırma filtrelerini kullanabilirsiniz.
Kamera yapılandırmaları hakkında daha fazla bilgi için:
Android:
Android NDK:
Unity:
ARCore v1.10.0 sürümündeki yenilikler
Bu sürüm, Android, Android NDK ve Unity için Işık Tahmini API'sine yeni Environmental 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 öğrenimini kullanır. Bu ışıklandırma tahmini verilerini kullanarak, birincil yönlü ışık, gölgeler, ortam ışığı, parlak vurgular ve sanal nesnelerdeki yansımalar dahil olmak üzere son derece gerçekçi bir ışıklandırma oluşturabilirsiniz. Sonuç olarak daha gerçekçi bir sanal içerik elde edilir.
Daha ayrıntılı bilgi için:
Android:
Android NDK:
Unity:
ARCore v1.9.0 sürümündeki yenilikler
Android için ARCore SDK'sındaki yenilikler
Bu sürümde aşağıdaki yeni API'ler ve özellikler eklenmiştir:
Scene Viewer, web sitenizdeki AR deneyimlerini etkinleştiren etkileyici bir görüntüleyicidir. Bu özellik, Android mobil cihaz kullanıcılarının web'de barındırılan 3D modelleri kendi ortamlarına kolayca yerleştirmesine, görüntülemesine ve bu modellerle etkileşimde bulunmasına olanak tanır.
Yeni Artırılmış Görüntüler özellikleri:
ARCore artık hareketli artırılmış görüntüleri izliyor. Hareketli resimlere örnek olarak, geçen bir otobüsün üzerindeki reklam veya kullanıcının elini hareket ettirirken tuttuğu düz bir nesnenin üzerindeki resim verilebilir.
Bir resim algılandıktan sonra ARCore, resim geçici olarak kamera görünümünün dışına çıksa bile resmin konumunu ve yönünü izlemeye devam edebilir.
Artırılmış görüntünün şu anda kamera tarafından izlenip izlenmediğini (
FULL_TRACKING
) veya son bilinen konumuna göre izlenip izlenmediğini (LAST_KNOWN_POSE
) belirlemek içinAugmentedImage#getTrackingMethod()
(Java) ya daArAugmentedImage_getTrackingMethod()
(NDK) kullanın.
Cloud Anchors dokümanlarında artık çapaların nasıl barındırıldığı ve çözümlendiği hakkında daha ayrıntılı bir açıklama yer alıyor.
Unity için ARCore SDK'sındaki yenilikler
Yeni Artırılmış Görüntüler özellikleri:
ARCore artık hareketli artırılmış görüntüleri izliyor. Hareketli resimlere örnek olarak geçen bir otobüsün üzerindeki reklam veya kullanıcının hareket ettirdiği düz bir nesnenin üzerindeki resim verilebilir.
Bir resim algılandıktan sonra ARCore, resim geçici olarak kamera görünümünün dışına çıksa bile resmin konumunu ve yönünü izlemeye devam edebilir.
Yeni
AugmentedImage.GetTrackingMethod()
API, uygulamanızın Artırılmış görüntü'nün şu anda kamera tarafından izlenip izlenmediğini (FullTracking
) veya son bilinen konumuna göre izlenip izlenmediğini (LastKnownPose
) belirlemesini sağlar.
Cloud Anchors dokümanlarında artık çapaların nasıl barındırıldığı ve çözümlendiği hakkında daha ayrıntılı bir açıklama yer alıyor.
iOS için ARCore SDK'sındaki yenilikler
Bu cihazlar için destek:
Beşinci nesil iPad Mini
Üçüncü nesil iPad Air
Cloud Anchors dokümanlarında artık çapaların nasıl barındırıldığı ve çözümlendiği hakkında daha ayrıntılı bir açıklama yer alıyor.