Những thay đổi mới và đáng chú ý trong ARCore.
Tính năng mới trong ARCore phiên bản 1.50.0
Các thay đổi đối với targetSdkVersion
của ARCore SDK
targetSdkVersion
của ARCore đã được cập nhật lên API cấp 36 của Android. Nếu ứng dụng của bạn không chỉ định targetSdkVersion
, thì targetSdkVersion
của ứng dụng sẽ trở thành 36 do hợp nhất tệp kê khai.
Đối với Unity, việc chỉ định Target API Level (Cấp độ API mục tiêu) trong Project Settings (Cài đặt dự án) > Player (Trình phát) > Android > Other Settings (Các chế độ cài đặt khác) của dự án Unity sẽ ghi đè giá trị targetSdkVersion
của ARCore.
Tính năng mới trong ARCore phiên bản 1.49.0
Sửa nhiều lỗi và cải thiện hiệu suất
Tính năng mới trong ARCore phiên bản 1.48.0
Đã phát hành đầy đủ tính năng hỗ trợ Unity 6 và AR Foundation 6
ARCore Extensions cho AR Foundation của Unity hiện hỗ trợ AR Foundation 6. Hãy dùng các phương thức cài đặt sau để tải một phiên bản ARCore Extensions tương thích cho AR Foundation:
- Thông qua
Add package from git url...
: Sử dụnghttps://github.com/google-ar/arcore-unity-extensions.git#arf6
, - Thông qua
Add package from tarball...
: Sử dụng một bản phát hành được biểu thị bằngarf6
trên trang bản phát hành.
Để nâng cấp dự án của bạn từ AR Foundation 5 lên AR Foundation 6, hãy xem hướng dẫn sau.
Thay đổi có thể gây lỗi và thay đổi về hành vi
- SDK không còn hỗ trợ các mục tiêu triển khai cho phiên bản iOS < 13.0
Tính năng mới trong ARCore phiên bản 1.47.0
Hỗ trợ phiên bản beta cho Unity 6 và AR Foundation 6
ARCore Extensions cho AR Foundation của Unity hiện hỗ trợ phiên bản thử nghiệm AR Foundation 6 để hỗ trợ Unity 6. Hãy dùng các phương thức cài đặt sau để tải một phiên bản ARCore Extensions tương thích cho AR Foundation:
- Thông qua
Add package from git url...
: Sử dụnghttps://github.com/google-ar/arcore-unity-extensions.git#arf6
, - Thông qua
Add package from tarball...
: Sử dụng một bản phát hành được biểu thị bằngarf6
trên trang bản phát hành.
Để nâng cấp dự án của bạn từ AR Foundation 5 lên AR Foundation 6, hãy xem hướng dẫn sau.
Sửa lỗi
- Đã khắc phục trường hợp mặt phẳng của Cloud Anchor Sample không trong suốt đối với Unity 6
Các thay đổi khác
- Nhánh
main
của kho lưu trữ ARCore Extensions trên GitHub đã được chuyển sang theo dõi nhánharf5
.
Tính năng mới trong ARCore phiên bản 1.46.0
Các thay đổi đối với targetSdkVersion
của ARCore SDK
targetSdkVersion
của ARCore đã được cập nhật lên API cấp 35 của Android. Nếu ứng dụng của bạn không chỉ định targetSdkVersion
, thì targetSdkVersion
của ứng dụng sẽ trở thành 35 do hợp nhất tệp kê khai.
Đối với Unity, việc chỉ định Target API Level (Cấp độ API mục tiêu) trong Project Settings (Cài đặt dự án) > Player (Trình phát) > Android > Other Settings (Các chế độ cài đặt khác) của dự án Unity sẽ ghi đè giá trị targetSdkVersion
của ARCore.
Tính năng mới trong ARCore phiên bản 1.45.0
Flash Mode API
ARCore hiện hỗ trợ bật chế độ đèn pin của thiết bị, giúp cải thiện khả năng nhận biết trong môi trường tối.
Android (Kotlin/Java)
Config.FlashMode
: lựa chọn cấu hình để bật hoặc tắt đèn flash trên thiết bị.- Hãy xem Hướng dẫn cho nhà phát triển để biết thêm thông tin chi tiết về cách phát hiện các chức năng của đèn flash và cách bật chế độ đèn pin.
Android NDK (C)
ArFlashMode
: lựa chọn cấu hình để bật hoặc tắt đèn flash trên thiết bị.- Hãy xem Hướng dẫn cho nhà phát triển để biết thêm thông tin chi tiết về cách phát hiện các chức năng của đèn flash và cách bật chế độ đèn pin.
ARCore Extensions cho AR Foundation của Unity hỗ trợ AR Foundation 5
ARCore Extensions cho AR Foundation hiện chính thức hỗ trợ AR Foundation 5. Khi sử dụng AR Foundation 5 (phiên bản đã xác minh trên Unity phiên bản 2022 và 2023), hãy sử dụng các phương thức cài đặt sau để có được phiên bản ARCore Extensions for AR Foundation tương thích:
- Thông qua
Add package from git url...
: sử dụnghttps://github.com/google-ar/arcore-unity-extensions.git#arf5
, - Thông qua
Add package from tarball...
: sử dụng bản phát hành được biểu thị bằngarf5
trên trang phát hành.
Các dự án vẫn sử dụng AR Foundation phiên bản 4 có thể dùng các phương thức cài đặt sau:
- Thông qua
Add package from git url...
: sử dụnghttps://github.com/google-ar/arcore-unity-extensions.git#arf4
, - Thông qua
Add package from tarball...
: sử dụng bản phát hành được biểu thị bằngarf4
trên trang phát hành.
Để nâng cấp dự án của bạn từ AR Foundation 4 lên AR Foundation 5, hãy xem hướng dẫn di chuyển.
Ký hiệu tập lệnh tuỳ chỉnh (chẳng hạn như ARCORE_USE_ARF_5
) trong bản hỗ trợ thử nghiệm sẽ không còn được dùng nữa.
Tính năng mới trong ARCore phiên bản 1.44.0
Bản phát hành này không có tính năng mới.
Tính năng mới trong ARCore phiên bản 1.43.0
Places API trong quá trình di chuyển Geospatial Creator
Tính năng Tìm kiếm của Geospatial Creator hiện sử dụng Places API mới của Google. Để sử dụng tính năng tìm kiếm, hãy bật "Places API (Mới)" trong Google Cloud Console.
Tính năng mới trong ARCore phiên bản 1.42.0
Tính năng Snap to Tile (Liên kết với ô) trong Geospatial Creator cho Unity
Chúng tôi đã thêm nút "Snap to Tile" (Chụp nhanh vào ô) vào bảng ARGeospatialCreatorAnchor
Editor Inspector (Trình kiểm tra trình chỉnh sửa). Nút này đặt giá trị độ cao chỉ dành cho Trình chỉnh sửa của một điểm neo Địa hình hoặc Sân thượng thành đỉnh của hình học Ô 3D tại vĩ độ và kinh độ hiện tại của điểm neo. Xin lưu ý rằng thuộc tính này không ảnh hưởng đến hành vi trong thời gian chạy. Điều này giúp điều chỉnh vị trí của điểm neo trong trình chỉnh sửa để khớp với vị trí của điểm neo trong thời gian chạy.
Tính năng mới trong ARCore phiên bản 1.41.0
Geospatial Creator API
Geospatial Creator for Unity hiện hỗ trợ việc tạo và thao tác với các đối tượng Geospatial Creator ở chế độ Editor. Các lớp và API mới có sẵn được mô tả trong Hướng dẫn về Geospatial Creator API.
Hỗ trợ AR Foundation phiên bản 5.x (Beta)
ARCore Extensions cho AR Foundation của Unity hiện hỗ trợ các phiên bản AR Foundation 5.x. Để di chuyển một dự án hiện có sang AR Foundation, hãy xem hướng dẫn di chuyển.
Tính năng mới trong ARCore phiên bản 1.40.0
Ngữ nghĩa cảnh trên iOS
Scene Semantics API hiện có trong ARCore SDK cho iOS cũng như trong ARCore Extensions cho AR Foundation của Unity nhắm đến nền tảng iOS. Scene Semantics API (API Ngữ nghĩa cảnh) cho phép nhà phát triển hiểu được cảnh vật xung quanh người dùng theo thời gian thực, gắn nhãn các pixel thành 11 lớp thành phần ngoài trời. Hãy xem phần Giới thiệu về ngữ nghĩa cảnh để biết thêm thông tin.
iOS
Unity (AR Foundation)
Tìm kiếm Điểm đến trong Geospatial Creator cho Unity
Geospatial Creator cho Unity hiện hỗ trợ tính năng tìm kiếm bằng văn bản để định vị chế độ xem Photographic 3D Tiles. Hãy xem bài viết Tìm kiếm địa điểm yêu thích trong Geospatial Creator để biết thêm thông tin.
Tính năng mới trong ARCore phiên bản 1.39.0
Bản phát hành này không có tính năng mới.
Tính năng mới trong ARCore phiên bản 1.38.0
Bản phát hành này không có tính năng mới.
Tính năng mới trong ARCore phiên bản 1.37.0
Ngữ nghĩa cảnh
Ngữ nghĩa cảnh cung cấp thông tin chi tiết hơn về cảnh xung quanh, giúp người dùng dễ dàng hiểu được thế giới xung quanh. Scene Semantics chạy một mô hình học máy trên nguồn cấp dữ liệu hình ảnh của camera và cung cấp một hình ảnh ngữ nghĩa với mỗi điểm ảnh tương ứng với một trong 11 nhãn của các khái niệm ngoài trời.
Hãy xem bài viết Giới thiệu về ngữ nghĩa của cảnh và ứng dụng mẫu semantics_java để biết thêm thông tin.
Android (Kotlin/Java)
Android NDK (C)
Unity (AR Foundation)
iOS
Hình học của Street View
Streetscape Geometry là một ARCore Geospatial API mới cung cấp hình học của các toà nhà và địa hình trong khu vực xung quanh người dùng khi Geospatial API được bật.
Android (Kotlin/Java)
Hãy xem Hướng dẫn dành cho nhà phát triển Streetscape Geometry (Kotlin/Java). Ngoài ra, chúng tôi đã cập nhật ứng dụng mẫu geospatial_java để thêm Streetscape Geometry.
Android NDK (C)
Hãy xem Hướng dẫn cho nhà phát triển Streetscape Geometry (C) để biết thêm thông tin.
Unity (AR Foundation)
Hãy xem Hướng dẫn cho nhà phát triển Streetscape Geometry (Unity) để biết thêm thông tin.
iOS
Hãy xem Hướng dẫn dành cho nhà phát triển về Streetscape Geometry (iOS) để biết thêm thông tin. Ngoài ra, chúng tôi đã cập nhật ứng dụng GeospatialExample để bổ sung Streetscape Geometry.
GARStreetscapeGeometry
:GARStreetscapeGeometry.mesh
cung cấp các lưới 3D.GARStreetscapeGeometry.meshTransform
cung cấp phép biến đổi gốc của hình học so với không gian thế giới của phiên.GARStreetscapeGeometry.trackingState
duy trì trạng thái theo dõi.GARStreetscapeGeometry.type
cho biết đó là địa hình hay hình học của toà nhà.GARStreetscapeGeometry.quality
cung cấp chất lượng hình học.GARStreetscapeGeometry.identifier
cung cấp giá trị nhận dạng duy nhất cho hình học.GARSession.createAnchorOnStreetscapeGeometry:transform:error:
tạo một neo tại vị trí và hướng đã chỉ định.GARSession.raycastStreetscapeGeometry:direction:error:
thực hiện một raycast dựa trên Streetscape Geometry được tải trong cảnh.
Neo trên mái
Neo trên nóc nhà là một loại Neo không gian địa lý mới giúp bạn neo nội dung vào nóc nhà.
Android (Kotlin/Java)
Xem Neo không gian địa lý (Java). Ngoài ra, ứng dụng mẫu geospatial_java đã được cập nhật để bổ sung các neo trên tầng thượng.
Android NDK (C)
Hãy xem phần Neo đậu không gian địa lý (C) để biết thêm thông tin.
Unity (AR Foundation)
Hãy xem phần Neo không gian địa lý để biết thêm thông tin. Ngoài ra, Mẫu không gian địa lý đã được cập nhật để bao gồm các điểm neo trên mái nhà.
ARAnchorManagerExtensions.ResolveAnchorOnRooftopAsync()
cung cấp một điểm neo cho các đối tượng trong trò chơi ở vĩ độ, kinh độ, độ cao so với mái nhà và hướng đã chỉ định.ResolveAnchorOnRooftopPromise
ResolveAnchorOnRooftopResult
iOS
Hãy xem bài viết Neo đậu không gian địa lý (iOS) để biết thêm thông tin. Ngoài ra, ứng dụng GeospatialExample đã được cập nhật để bổ sung các điểm neo trên mái nhà.
GARSession.createAnchorWithCoordinate:altitudeAboveRooftop:eastUpSouthQAnchor:completionHandler:error:
tạo một điểm neo trên nóc nhà tại vị trí, độ cao so với nóc nhà (tính bằng mét) và hướng tương ứng với Trái Đất được chỉ định.GARCreateAnchorOnRooftopFuture
lưu giữ trạng thái không đồng bộ của việc phân giải một neo trên tầng thượng.GARRooftopAnchorState
mô tả trạng thái phân giải một điểm neo trên nóc nhà.
Độ sâu không gian địa lý
Khi cả chế độ Depth API và Streetscape Geometry đều được bật trong một phiên ARCore ở những khu vực có phạm vi phủ sóng VPS, hình ảnh độ sâu được tạo sẽ được cải thiện bằng Streetscape Geometry. Streetscape Geometry được tích hợp vào từng hình ảnh chiều sâu được tạo trong phạm vi 65.535 mét. Bạn không cần thay đổi khi gọi Depth API để thấy lợi ích này.
Android (Kotlin/Java)
Hãy xem phần Độ sâu không gian địa lý (Java) để biết thêm thông tin.
Android NDK (C)
Hãy xem phần Độ sâu không gian địa lý (C) để biết thêm thông tin.
Unity (AR Foundation)
Hãy xem phần Độ sâu không gian địa lý (C) để biết thêm thông tin.
iOS
Scene Semantics hiện không hoạt động trên iOS.
Hỗ trợ kết xuất Vulkan
ARCore hiện hỗ trợ kết xuất Vulkan bằng cách hiển thị hình ảnh camera thông qua một AHardwareBuffer
. Bạn có thể sử dụng Hardware Buffer này bằng cách liên kết nó với một VkImage
.
Hãy xem bài viết Kết xuất ứng dụng ARCore bằng Vulkan và ứng dụng mẫu hello_ar_vulkan_c để biết thêm thông tin.
Android (Kotlin/Java)
Android NDK (C)
Unity (AR Foundation)
Tính năng kết xuất Vulkan hiện không hoạt động đối với Unity khi dùng AR Foundation.
Ổn định hình ảnh điện tử (EIS)
Bạn có thể định cấu hình ARCore để sử dụng tính năng Ổn định hình ảnh điện tử, giúp làm mượt các khung hình camera để mang lại trải nghiệm mượt mà hơn cho người dùng.
Hãy xem bài viết Bật tính năng ổn định hình ảnh điện tử và ứng dụng mẫu hello_eis_kotlin để biết thêm thông tin.
Android (Kotlin/Java)
Config.ImageStabilizationMode
Frame.transformCoordinates3d()
Session.isImageStabilizationModeSupported()
- Đã xảy ra một vấn đề đã biết là việc gọi
Frame.transformCoordinates3d()
bằng toạ độ 2D khác vớiOPENGL_NORMALIZED_DEVICE_COORDINATES
sẽ khiến ứng dụng gặp sự cố thay vì gửiIllegalArgumentException
. Vấn đề này sẽ được giải quyết trong bản phát hành tiếp theo.
Android NDK (C)
ArImageStabilizationMode
ArFrame_transformCoordinates3d()
ArSession_isImageStabilizationModeSupported()
- Đã xảy ra một vấn đề đã biết là việc gọi
ArFrame_transformCoordinates3d()
bằng toạ độ 2D khác vớiAR_COORDINATES_2D_OPENGL_NORMALIZED_DEVICE_COORDINATES
sẽ khiến ứng dụng của bạn bị huỷ thay vì trả vềAR_ERROR_INVALID_ARGUMENT
. Vấn đề này sẽ được giải quyết trong bản phát hành tiếp theo.
Unity (AR Foundation)
EIS hiện không dùng được cho Unity bằng AR Foundation.
iOS
EIS hiện không dùng được trên iOS.
API không đồng bộ của ARCore
Bản phát hành này giới thiệu các API không đồng bộ ARCore mới để cải thiện khả năng tương tác khi làm việc với các thao tác không đồng bộ, theo mô hình Future và Promise.
Android (Kotlin/Java)
- Phân giải các điểm neo Địa hình: Sử dụng
Earth.resolveAnchorOnTerrainAsync()
để lấyResolveAnchorOnTerrainFuture
. Ký hiệu cũEarth.resolveAnchorOnTerrain()
đã ngừng hoạt động và có thể bị xoá trong phiên bản ARCore sau này. - Phân giải neo trên đám mây: Sử dụng
Session.resolveCloudAnchorAsync()
để lấyResolveCloudAnchorFuture
. Ký hiệu cũSession.resolveCloudAnchor()
đã ngừng hoạt động và có thể bị xoá trong phiên bản ARCore sau này. - Lưu trữ neo trên đám mây: Sử dụng
Session.hostCloudAnchorAsync()
để lấyHostCloudAnchorFuture
. Các biểu tượng cũSession.hostCloudAnchor()
vàSession.hostCloudAnchorWithTtl()
không được dùng nữa và có thể bị xoá trong phiên bản ARCore sau này. - Kiểm tra xem có APK hay không: Sử dụng
ArCoreApk.checkAvailabilityAsync()
để đăng ký một lệnh gọi lại. Biểu tượng cũArCoreApk.checkAvailability()
chưa bị ngừng sử dụng.
Android NDK (C)
- Giải quyết các điểm neo Địa hình: Sử dụng
ArEarth_resolveAnchorOnTerrainAsync()
để lấyArResolveAnchorOnTerrainFuture
hoặc sử dụngArResolveAnchorOnTerrainCallback
. Ký hiệu cũArEarth_resolveAndAcquireNewAnchorOnTerrain()
đã ngừng hoạt động và có thể bị xoá trong phiên bản ARCore sau này. - Phân giải neo trên đám mây: Sử dụng
ArSession_resolveCloudAnchorAsync()
để lấyArResolveCloudAnchorFuture
hoặc sử dụngArResolveCloudAnchorCallback
. Ký hiệu cũArSession_resolveAndAcquireNewCloudAnchor()
đã ngừng hoạt động và có thể bị xoá trong phiên bản ARCore sau này. - Lưu trữ neo trên đám mây: Sử dụng
ArSession_hostCloudAnchorAsync()
để lấyArHostCloudAnchorFuture
hoặc sử dụngArHostCloudAnchorCallback
. Các biểu tượng cũArSession_hostAndAcquireNewCloudAnchor()
vàArSession_hostAndAcquireNewCloudAnchorWithTtl()
không được dùng nữa và có thể bị xoá trong phiên bản ARCore sau này. - Kiểm tra xem có APK hay không: Sử dụng
ArCoreApk_checkAvailabilityAsync()
để đăng ký một lệnh gọi lại. Biểu tượng cũArCoreApk_checkAvailability()
chưa bị ngừng sử dụng.
Unity (AR Foundation)
- Phân giải các điểm neo Địa hình: Sử dụng
ARAnchorManagerExtensions.ResolveAnchorOnTerrainAsync()
để lấyResolveAnchorOnTerrainPromise
. Ký hiệu cũARAnchorManagerExtensions.ResolveAnchorOnTerrain()
đã ngừng hoạt động và có thể bị xoá trong phiên bản ARCore sau này. - Phân giải neo trên đám mây: Sử dụng
ARAnchorManagerExtensions.ResolveCloudAnchorAsync()
để lấyResolveCloudAnchorPromise
. Ký hiệu cũARAnchorManagerExtensions.ResolveCloudAnchorId()
đã ngừng hoạt động và có thể bị xoá trong phiên bản ARCore sau này. - Lưu trữ neo trên đám mây: Sử dụng
ARAnchorManagerExtensions.HostCloudAnchorAsync()
để lấyHostCloudAnchorPromise
. Các biểu tượngARAnchorManagerExtensions.HostCloudAnchor()
cũ không được dùng nữa và có thể bị xoá trong phiên bản ARCore sau này.
iOS
- Phân giải các điểm neo Địa hình: Sử dụng
GARSession.createAnchorWithCoordinate:altitudeAboveTerrain:eastUpSouthQAnchor:completionHandler:error:
để lấyGARCreateAnchorOnTerrainFuture
. Ký hiệu cũGARSession.createAnchorWithCoordinate:altitudeAboveTerrain:eastUpSouthQAnchor:error:
đã ngừng hoạt động và có thể bị xoá trong phiên bản ARCore sau này. - Phân giải neo trên đám mây: Sử dụng
GARSession.resolveCloudAnchorWithIdentifier:completionHandler:error:
để lấyGARResolveCloudAnchorFuture
. Ký hiệu cũGARSession.resolveCloudAnchorWithIdentifier:error:
đã ngừng hoạt động và có thể bị xoá trong phiên bản ARCore sau này. - Lưu trữ neo trên đám mây: Sử dụng
GARSession.hostCloudAnchor:TTLDays:completionHandler:error:
để lấyGARHostCloudAnchorFuture
. Các biểu tượng cũGARSession.hostCloudAnchor:error:
vàGARSession.hostCloudAnchor:TTLDays:error:
không được dùng nữa và có thể bị xoá trong phiên bản ARCore sau này.
Tính năng mới trong ARCore phiên bản 1.36.0
Hỗ trợ Trình quản lý gói Swift trên iOS
ARCore SDK cho iOS hiện đã chính thức hỗ trợ Trình quản lý gói Swift. Hãy xem phần Bật AR trong ứng dụng iOS để biết hướng dẫn về cách tích hợp với ARCore bằng Trình quản lý gói Swift.
Tính năng mới trong ARCore phiên bản 1.35.0
Độ chính xác của tư thế không gian địa lý thay thế hướng bằng góc lệch
Giờ đây, tất cả các tư thế Không gian địa lý đều cho thấy độ chính xác về hướng xoay ngang, thay thế cho độ chính xác về hướng.
- Java/Kotlin: Thay thế
GeospatialPose.getHeading()
bằngGeospatialPose.getEastUpSouthQuaternion()
vàGeospatialPose.getHeadingAccuracy()
bằngGeospatialPose.getOrientationYawAccuracy()
. - C: Thay thế
ArGeospatialPose_getHeading()
bằngArGeospatialPose_getEastUpSouthQuaternion()
vàArGeospatialPose_getHeadingAccuracy()
bằngArGeospatialPose_getOrientationYawAccuracy()
. - iOS: Thay thế
GARGeospatialTransform.heading
bằngGARGeospatialTransform.eastUpSouthQTarget
vàGARGeospatialTransform.headingAccuracy
bằngGARGeospatialTransform.orientationYawAccuracy
. - Unity: Thay thế
GeospatialPose.Heading
bằngGeospatialPose.EunRotation
vàGeospatialPose.HeadingAccuracy
bằngGeospatialPose.OrientationYawAccuracy
.
Các thay đổi và nội dung cập nhật khác
Xem ghi chú phát hành để biết các thay đổi, lỗi đã sửa và điểm cải thiện hiệu suất khác:
- Ghi chú phát hành ARCore SDK cho Android
- Ghi chú phát hành ARCore cho Android NDK
- Ghi chú phát hành ARCore SDK cho iOS
- Ghi chú phát hành về ARCore Extensions cho AR Foundation
Tính năng mới trong ARCore phiên bản 1.34.0
Kiểm tra xem thiết bị có hỗ trợ các chức năng về không gian địa lý ở vị trí hiện tại hay không
Giờ đây, Geospatial API có thể kiểm tra xem Hệ thống định vị trực quan (VPS) có hoạt động ở một vị trí ngang cụ thể trong thời gian chạy hay không. Bạn có thể sử dụng API này mà không cần có phiên thực tế tăng cường đang hoạt động: ví dụ: chỉ trình bày nút "Vào chế độ thực tế tăng cường" khi VPS có sẵn.
- Java/Kotlin:
Session.checkVpsAvailabilityAsync()
- C:
ArSession_checkVpsAvailabilityAsync()
- iOS:
GARSession.checkVPSAvailabilityAtCoordinate:completionHandler:
- Unity (AR Foundation):
AREarthManager.CheckVpsAvailability()
Hướng tư thế không gian địa lý
Giờ đây, tư thế không gian địa lý sẽ hiển thị hướng của chúng trong không gian 3D.
- Java/Kotlin:
feedbackGeospatialPose.getEastUpSouthQuaternion()
- C:
ArEarth_getGeospatialPose()
- iOS:
GARGeospatialTransform.eastUpSouthQTarget
- Unity:
GeospatialPose.EunRotation()
Lượt chuyển đổi tư thế không gian địa lý
Giờ đây, bạn có thể chuyển đổi tư thế không gian địa lý thành tư thế không gian thực (AR) và ngược lại.
Cách lấy tư thế không gian địa lý từ tư thế thực tế tăng cường:
- Java/Kotlin:
Earth.getGeospatialPose()
- C:
ArEarth_getGeospatialPose()
- iOS:
GARSession.geospatialTransformFromTransform:error:
- Unity:
AREarthManager.Convert(Pose)
Cách lấy tư thế thực tế tăng cường từ tư thế không gian địa lý:
- Java/Kotlin:
Earth.getPose()
- C:
ArEarth_getPose()
- iOS:
GARSession.transformFromGeospatialCoordinate:altitude:eastUpSouthQTarget:error:
- Unity:
AREarthManager.Convert(GeospatialPose)
Tư thế không gian địa lý thu được từ các hàm này có giá trị hướng được đặt thành 0. Thay vào đó, hãy sử dụng những thông tin sau:
- Android (Java/Kotlin/C): Quaternion EUS của tư thế
- iOS:
eastUpSouthQTarget
của tư thế - Unity:
EunRotation
của tư thế
Các thay đổi và nội dung cập nhật khác
Xem ghi chú phát hành để biết các thay đổi, lỗi đã sửa và điểm cải thiện hiệu suất khác:
- Ghi chú phát hành ARCore SDK cho Android
- Ghi chú phát hành ARCore cho Android NDK
- Ghi chú phát hành ARCore SDK cho iOS
- Ghi chú phát hành về ARCore Extensions cho AR Foundation
Tính năng mới trong ARCore phiên bản 1.33.0
Điểm cuối mới của Cloud Anchors
- Để sử dụng Neo đám mây, giờ đây, bạn phải bật ARCore API thay vì ARCore Cloud Anchor API cũ (hiện không được dùng nữa). Để hỗ trợ các phiên bản ứng dụng cũ, bạn có thể bật cả hai trong khi thực hiện quá trình chuyển đổi. Các ứng dụng được tạo bằng ARCore SDK 1.32.0 trở xuống sẽ nhắm đến API cũ, trong khi các ứng dụng được tạo bằng ARCore SDK 1.33.0 trở lên sẽ nhắm đến API mới. Xin lưu ý những điều sau:
- API mới sử dụng tên miền
arcore.googleapis.com
thay vìarcorecloudanchor.googleapis.com
. - Nếu đang sử dụng một Khoá API bị hạn chế theo API, bạn phải cho phép API ARCore.
- Nếu gửi yêu cầu đến ARCore Cloud Anchor Management API từ phụ trợ, bạn cũng phải thay đổi tên miền thành
arcore.googleapis.com
sau khi bật ARCore API. - API/điểm cuối cũ sẽ tiếp tục được hỗ trợ cho đến hết tháng 8 năm 2023.
- Hãy xem bài viết Các thay đổi về điểm cuối của neo trên đám mây ARCore 1.33 để biết thêm thông tin chi tiết.
- API mới sử dụng tên miền
Neo địa hình
- API neo Địa hình không gian địa lý tạo một neo ở vị trí ngang và độ cao đã chỉ định so với địa hình của vị trí ngang.
Các thay đổi và nội dung cập nhật khác
Xem ghi chú phát hành để biết các thay đổi, lỗi đã sửa và điểm cải thiện hiệu suất khác:
- Ghi chú phát hành ARCore SDK cho Android
- Ghi chú phát hành ARCore cho Android NDK
- Ghi chú phát hành ARCore SDK cho iOS
- Ghi chú phát hành về ARCore Extensions cho AR Foundation
Tính năng mới trong ARCore phiên bản 1.32.0
Bản phát hành này không có tính năng mới.
Android và Unity (AR Foundation) cho Android
targetSdkVersion
của ARCore đã được cập nhật lên API cấp 32 của Android. Nếu ứng dụng của bạn không chỉ địnhtargetSdkVersion
, thìtargetSdkVersion
của ứng dụng sẽ trở thành 32 do hợp nhất tệp kê khai.- Android SDK: Việc chỉ định một
targetSdkVersion
trongbuild.gradle
hoặcAndroidManifest.xml
của dự án sẽ ghi đè giá trịtargetSdkVersion
của ARCore. - AR Foundation cho Android: Việc chỉ định Cấp độ API mục tiêu trong Project Settings > Player > Android > Other Settings (Cài đặt dự án > Trình phát > Android > Cài đặt khác) của dự án Unity sẽ ghi đè giá trị
targetSdkVersion
của ARCore.
- Android SDK: Việc chỉ định một
Các thay đổi và nội dung cập nhật khác
Xem ghi chú phát hành để biết các thay đổi, lỗi đã sửa và điểm cải thiện hiệu suất khác:
- Ghi chú phát hành ARCore SDK cho Android
- Ghi chú phát hành ARCore cho Android NDK
- Ghi chú phát hành ARCore SDK cho iOS
- Ghi chú phát hành về ARCore Extensions cho AR Foundation
Tính năng mới trong ARCore phiên bản 1.31.0
ARCore Geospatial API
ARCore Geospatial API mới sử dụng dữ liệu từ các mô hình 3D của Google Earth và dữ liệu hình ảnh Chế độ xem đường phố của Google Maps để cho phép ứng dụng của bạn mang đến trải nghiệm thực tế tăng cường dựa trên vị trí, có quy mô toàn cầu và sống động.
Hãy xem bài viết Giới thiệu về ARCore Geospatial API để biết tài liệu dành cho nhà phát triển theo từng nền tảng và để bắt đầu sử dụng Geospatial API mới.
Độ sâu tầm xa
ARCore Depth API hiện được tối ưu hoá để bao gồm tính năng cảm biến độ sâu ở phạm vi xa hơn, giúp tăng phạm vi của các dữ liệu quan sát độ sâu có thể biểu thị. Tất cả 16 bit của hình ảnh độ sâu đều được dùng, cung cấp phạm vi tối đa là 65535 mm. Trước đây, chỉ có 13 bit được điền sẵn, với giới hạn là 8.191 milimet.
Hãy xem Các thay đổi đối với Độ sâu để biết tài liệu dành cho nhà phát triển theo từng nền tảng và để hiểu rõ các thay đổi đối với Depth API.
Ghi chú dành riêng cho nền tảng
Android
API mới về không gian địa lý của ARCore
Java
Earth
cung cấp khả năng bản địa hoá trong toạ độ tương đối với Trái Đất.Earth.createAnchor()
tạo mộtAnchor
mới tại vị trí và hướng được chỉ định so với Trái Đất.
Earth.Earthstate
mô tả trạng thái hiện tại củaEarth
, bao gồm cảTrackingState
.GeospatialPose
mô tả một vị trí, độ cao và hướng la bàn cụ thể so với Trái Đất.
C
ArEarth
cung cấp khả năng bản địa hoá theo toạ độ tương đối với Trái Đất.ArEarth_acquireNewAnchor()
tạo mộtAnchor
mới tại vị trí và hướng được chỉ định so với Trái Đất.ArEarthState
mô tả trạng thái hiện tại củaArEarth
, bao gồm cảArTrackingState
.
ArGeospatialPose
mô tả một vị trí, độ cao và hướng la bàn cụ thể so với Trái Đất.
Cập nhật ARCore Depth API
Java
- Các lệnh gọi hàm Depth API đã thay đổi:
Frame.acquireDepthImage
đếnFrame.acquireDepthImage16Bits
.Frame.acquireRawDepthImage
đếnFrame.acquireRawDepthImage16Bits
.- Định dạng hình ảnh đầu ra cho cả hai lệnh gọi đã thay đổi từ
android.graphics.ImageFormat#DEPTH16
thànhandroid.hardware.HardwareBuffer#D_16
. - Độ sâu vẫn được biểu thị dưới dạng số nguyên 16 bit theo đơn vị milimet, nhưng giờ đây, tất cả 16 bit đều được dùng để biểu thị độ sâu, cho phép phạm vi biểu thị tối đa từ 8191 mm đến 65535 mm.
- Các lệnh gọi hàm Depth API
Frame.acquireDepthImage
vàFrame.acquireRawDepthImage
không được dùng nữa. Thay vào đó, vui lòng sử dụngFrame.acquireDepthImage16Bits
vàFrame.acquireRawDepthImage16Bits
.
- Các lệnh gọi hàm Depth API đã thay đổi:
C
- Các lệnh gọi hàm Depth API đã thay đổi:
ArFrame_acquireDepthImage
đếnArFrame_acquireDepthImage16Bits
.ArFrame_acquireRawDepthImage
đếnArFrame_acquireRawDepthImage16Bits
- Định dạng hình ảnh đầu ra cho cả hai lệnh gọi đã thay đổi từ
AR_IMAGE_FORMAT_DEPTH16
thànhAR_IMAGE_FORMAT_D_16
. - Độ sâu vẫn được biểu thị dưới dạng số nguyên 16 bit theo đơn vị milimet, nhưng giờ đây, tất cả 16 bit đều được dùng để biểu thị độ sâu, cho phép phạm vi biểu thị tối đa từ 8191 mm đến 65535 mm.
- Các lệnh gọi hàm Depth API
ArFrame_acquireDepthImage
vàArFrame_acquireRawDepthImage
không được dùng nữa. Thay vào đó, vui lòng sử dụngArFrame_acquireDepthImage16Bits
vàArFrame_acquireRawDepthImage16Bits
.
- Các lệnh gọi hàm Depth API đã thay đổi:
Unity (AR Foundation)
API mới về không gian địa lý của ARCore:
AREarthManager
cung cấp khả năng bản địa hoá theo toạ độ tương đối với Trái Đất.EarthTrackingState
lấy trạng thái theo dõi của Earth cho khung hình gần đây nhất.EarthState
duy trì các điều kiện lỗi của Earth.
GeospatialPose
mô tả một vị trí, độ cao và hướng la bàn cụ thể so với Trái Đất.ARGeospatialAnchor
cung cấp một điểm neo cho các đối tượng trò chơi trong cảnh của bạn, được chỉ định tại một vị trí và hướng tương ứng với Trái Đất.
iOS
API mới về không gian địa lý của ARCore:
GAREarth
Cung cấp thông tin bản địa hoá tương đối với Trái Đất.GAREarthState.earthState
quản lý các trạng thái và điều kiện lỗi.GAREarthState.trackingState
duy trì trạng thái theo dõi, cần thiết cho dữ liệu không gian địa lý.
GARGeospatialTransform
Một bản trình bày về phép biến đổi toàn cầu, bao gồm vị trí, hướng, độ cao và ước tính độ chính xác.GARSession.createAnchorWithCoordinate:altitude:eastUpSouthQAnchor:error:
Tạo một neo Không gian địa lý tại vị trí và hướng đã chỉ định so với Trái Đất.
Các thay đổi khác
Xem ghi chú phát hành để biết các thay đổi, lỗi đã sửa và điểm cải thiện hiệu suất khác:
- Ghi chú phát hành ARCore SDK cho Android
- Ghi chú phát hành ARCore cho Android NDK
- Ghi chú phát hành ARCore SDK cho iOS
- Ghi chú phát hành về ARCore Extensions cho AR Foundation
Tính năng mới trong ARCore phiên bản 1.30.0
Bản phát hành này không có tính năng mới.
Android
- Chú thích các giá trị trả về của API bằng
@NonNull
và@Nullable
. - Cập nhật các phiên bản công cụ xây dựng được dùng để tạo mẫu: Gradle lên 7.0.2 và trình bổ trợ Android cho Gradle lên 7.0.4. Bạn không bắt buộc phải nâng cấp những công cụ này cho các ứng dụng ARCore hiện có. Để biết các tính năng mới, vấn đề đã biết, thông tin về khả năng không tương thích, hãy xem tài liệu Android về trình bổ trợ Android cho Gradle.
Unity (AR Foundation)
Đã thêm một bản phát hành
arcore-unity-extensions-without-edm4u.tgz
mới. Biến thể phát hành này không đi kèm các phần phụ thuộc bên ngoài, chẳng hạn như Trình quản lý phần phụ thuộc bên ngoài cho Unity và cho phép nâng cấp lên EDM. Việc sử dụng bản phát hành rút gọn này có thể giải quyết các vấn đề không tương thích khi dùng thư viện Firebase. Hãy xem hướng dẫn cài đặt ARCore Extensions cho AR Foundation để bắt đầu.Nâng cấp ExternalDependencyManager lên phiên bản 1.2.168 để hỗ trợ tốt hơn cho phiên bản 2021.2 trở lên, hãy xem thông tin chi tiết trong nhật ký thay đổi của EDM.
Khắc phục vấn đề về việc phiên ARCore định cấu hình mọi khung hình ngay cả khi không có thay đổi nào trong cấu hình phiên, dẫn đến giảm FPS.
iOS
- Sửa nhiều lỗi và cải thiện hiệu suất.
Tính năng mới trong ARCore phiên bản 1.29.0
Bản phát hành này không có tính năng mới.
Android
- hello_ar_java và hello_ar_kotlin: Thay đổi màu sắc của một đối tượng khi đối tượng đó được đặt bằng
SCREENSPACE_WITH_APPROXIMATE_DISTANCE
để phân biệt rõ hơn các đối tượng được đặt bằng tính năng Đặt tức thì. - persistent_cloud_anchor_java: Đã thêm một phần phụ thuộc còn thiếu cho bản dựng vào mẫu. Khắc phục lỗi khiến việc lưu trữ bất kỳ neo nào cũng có trạng thái
CloudAnchorState ERROR_NOT_AUTHORIZED
ngay cả khi dự án được thiết lập đúng cách.
Unity (AR Foundation)
- Gói ARCore Extensions hiện phụ thuộc vào ARKit XR Plugin để đảm bảo phiên bản AR Foundation đã cài đặt tương thích với phiên bản ARKit XR Plugin. Bản sửa lỗi này khắc phục lỗi biên dịch khi cài đặt ARCore Extensions trên Unity 2019.x và bật trình bổ trợ ARKit XR.
- Chế độ cài đặt dự án ARCore Extensions đã được chuyển từ Project Settings > XR > ARCore Extensions (Cài đặt dự án > XR > ARCore Extensions) sang Project Settings > XR Plug-in Management > ARCore Extensions (Cài đặt dự án > Quản lý trình bổ trợ XR > ARCore Extensions).
ARCoreExtensionsConfig
,ARCoreExtensionsCameraConfigFilter
,ARCoreRecordingConfig
đã được di chuyển từ Create > XR > ARCore Extensions (Tạo > XR > Tiện ích ARCore) sang trình đơn Create > XR (Tạo > XR).
iOS
- Sửa nhiều lỗi và cải thiện hiệu suất.
Ghi chú phát hành đầy đủ
- Ghi chú phát hành đầy đủ về ARCore SDK cho Android
- Ghi chú phát hành đầy đủ về ARCore cho Android NDK
- Ghi chú phát hành đầy đủ về ARCore SDK cho iOS
- Ghi chú phát hành về ARCore Extensions cho AR Foundation
Tính năng mới trong ARCore phiên bản 1.28.0
- Kể từ tháng 11 năm 2022, các ứng dụng hỗ trợ thực tế tăng cường sẽ không thể thu thập hình ảnh NDK hoặc siêu dữ liệu hình ảnh. Các phiên bản SDK bị ảnh hưởng phụ thuộc vào hàm cụ thể đang được gọi. Hãy xem thông báo về việc không dùng nữa để tìm hiểu thêm.
- C: Các lệnh gọi đến
ArImage_getNdkImage()
vàArImage_getNdkCameraMetadata()
sẽ luôn trả vềnullptr
cho các đối tượngAImage
vàACameraMetadata
. - Java: Đối tượng
Image
doFrame#acquireCameraImage()
trả về sẽ có kích thước0
x0
pixel. Các lệnh gọi đếnFrame#getImageMetadata()
sẽ luôn gửiIllegalArgumentException
. - Unity (AR Foundation): Khi sử dụng AR Foundation 2.1 (Unity 2019 LTS), các lệnh gọi đến
XRCameraSubsystem.TryGetLatestImage(out XRCameraImage)
sẽ luôn trả vềfalse
. AR Foundation 4.x và các phiên bản sau đó sẽ không bị ảnh hưởng, các lệnh gọi đếnXRCameraSubsystem.TryGetLatestImage(out XRCameraImage)
sẽ hoạt động bình thường. - ARCore SDK for Unity (không dùng nữa): Lệnh gọi đến
Frame.CameraImage.AcquireCameraImageBytes()
sẽ có kích thước0
x0
pixel. Các lệnh gọi đếnFrame.CameraMetadata.GetAllCameraMetadataTags()
sẽ trả về mộtList<CameraMetadataTag>
trống.
- C: Các lệnh gọi đến
- Java:
ArImage#getCropRect()
hiện trả về một hình chữ nhật cắt có kích thước đầy đủ, tức là tất cả các pixel trong Hình ảnh đều hợp lệ. Hãy xemandroid.media.Image#getCropRect()
để biết thêm thông tin.
Tính năng mới trong ARCore phiên bản 1.27.0
Bản phát hành này không có tính năng mới. Hãy xem ghi chú phát hành sau đây để biết các bản sửa lỗi và cải thiện hiệu suất.
- Ghi chú phát hành đầy đủ về ARCore SDK cho Android
- Ghi chú phát hành đầy đủ về ARCore cho Android NDK
- Ghi chú phát hành đầy đủ về ARCore SDK cho iOS
- Ghi chú phát hành về ARCore Extensions cho AR Foundation
Ngoài nhiều bản sửa lỗi, bản phát hành này còn có những điểm sau.
Ứng dụng mẫu trong Kotlin
Đã thêm hello_ar_kotlin để minh hoạ các phương pháp hay nhất khi sử dụng Kotlin.
Hãy xem phần Bắt đầu nhanh cho Android để biết thêm thông tin.
Đã thêm ml_kotlin để minh hoạ cách sử dụng mô hình phân loại hình ảnh với ARCore.
Hãy xem bài viết Sử dụng ARCore làm dữ liệu đầu vào cho các mô hình Học máy để biết thêm thông tin.
Tính năng mới trong ARCore phiên bản 1.26.0
Bản phát hành này bổ sung những thay đổi đáng chú ý sau:
- URI hiện được hỗ trợ cho các tập dữ liệu trong Ghi và phát.
Các thay đổi và nội dung cập nhật khác
Hãy xem ghi chú phát hành sau đây để biết thêm các bản sửa lỗi và những thay đổi khác có thể gây lỗi.
- Ghi chú phát hành đầy đủ về ARCore SDK cho Android
- Ghi chú phát hành đầy đủ về ARCore cho Android NDK
- Ghi chú phát hành đầy đủ về ARCore SDK cho iOS
- Ghi chú phát hành về ARCore Extensions cho AR Foundation
Tính năng mới trong ARCore phiên bản 1.25.0
Bản phát hành này không có tính năng mới. Hãy xem ghi chú phát hành sau đây để biết các bản sửa lỗi và cải thiện hiệu suất.
- Ghi chú phát hành đầy đủ về ARCore SDK cho Android
- Ghi chú phát hành đầy đủ về ARCore cho Android NDK
- Ghi chú phát hành đầy đủ về ARCore SDK cho iOS
- Ghi chú phát hành đầy đủ về ARCore SDK cho Unity
- Ghi chú phát hành về ARCore Extensions cho AR Foundation
Tính năng mới trong ARCore phiên bản 1.24.0
Bản phát hành này bổ sung những thay đổi đáng chú ý sau:
- Raw Depth API mới cung cấp hình ảnh độ sâu mà không cần lọc không gian hình ảnh
- Khả năng ghi lại bản ghi dữ liệu tuỳ chỉnh cho Recording & Playback API
- Khả năng tiến hành Kiểm tra lượt truy cập theo chiều sâu
Độ sâu thô
Raw Depth API cung cấp dữ liệu độ sâu cho hình ảnh từ camera có độ chính xác cao hơn dữ liệu Depth API đầy đủ, nhưng không phải lúc nào cũng bao phủ mọi pixel. Bạn cũng có thể xử lý thêm hình ảnh độ sâu thô cùng với hình ảnh độ tin cậy tương ứng, cho phép các ứng dụng chỉ sử dụng dữ liệu độ sâu có độ chính xác đủ cho từng trường hợp sử dụng riêng lẻ.
Hướng dẫn cho nhà phát triển:
Ghi lại kênh tuỳ chỉnh
Khả năng theo dõi dữ liệu tuỳ chỉnh mới trong Recording & Playback API cho phép bạn thêm dữ liệu tuỳ chỉnh vào một khung ARCore trong quá trình ghi và truy xuất chính dữ liệu đó từ khung trong quá trình phát.
Hướng dẫn cho nhà phát triển:
Thử nghiệm nhấn theo chiều sâu
Trước đây, bạn chỉ có thể thực hiện kiểm tra lượt nhấn trên các mặt phẳng được phát hiện, giới hạn vị trí ở các bề mặt phẳng, rộng. Tính năng kiểm tra lượt nhấn theo chiều sâu tận dụng cả thông tin chiều sâu thô và mượt mà để cung cấp kết quả lượt nhấn chính xác hơn, ngay cả trên các bề mặt không phẳng và có ít hoạ tiết.
Hướng dẫn cho nhà phát triển:
Các thay đổi và nội dung cập nhật khác
Hãy xem ghi chú phát hành sau đây để biết thêm các bản sửa lỗi và những thay đổi khác có thể gây lỗi.
- Ghi chú phát hành đầy đủ về ARCore SDK cho Android
- Ghi chú phát hành đầy đủ về ARCore cho Android NDK
- Ghi chú phát hành đầy đủ về ARCore SDK cho iOS
- Ghi chú phát hành đầy đủ về ARCore SDK cho Unity
- Ghi chú phát hành về ARCore Extensions cho AR Foundation
Tính năng mới trong ARCore phiên bản 1.23.0
Đang chờ hỗ trợ camera kép
Chúng tôi sẽ ra mắt tính năng hỗ trợ camera kép trong vài tuần tới. Hãy xem trang thiết bị được hỗ trợ để biết thêm thông tin.
Các công cụ gỡ lỗi mới
Bằng cách gửi một ý định truyền tin, nhà phát triển có thể bật:
Ghi nhật ký lệnh gọi ARCore API vào Nhật ký gỡ lỗi Android
Lớp phủ hiệu suất ARCore
Lưu trữ và phân giải Neo trên đám mây
Các ứng dụng hỗ trợ thực tế tăng cường được tạo bằng ARCore SDK 1.11.0 trở xuống sẽ không thể lưu trữ hoặc phân giải Cloud Anchor nữa.
C: Cloud Anchor do
ArSession_hostAndAcquireNewCloudAnchor
vàArSession_resolveAndAcquireNewCloudAnchor
trả về sẽ luôn có trạng tháiAR_CLOUD_ANCHOR_STATE_ERROR_INTERNAL
.Java: Cloud Anchor do
Session.hostCloudAnchor(Anchor)
vàSession.resolveCloudAnchor(String)
trả về sẽ luôn có trạng tháiAnchor.CloudAnchorState.ERROR_INTERNAL
.Unity: Cloud Anchor do
XPSession.CreateCloudAnchor(Anchor)
vàXPSession.ResolveCloudAnchor(string)
trả về sẽ luôn có trạng tháiCloudServiceResponse.ErrorInternal
.
Các ứng dụng được tạo bằng ARCore SDK 1.12.0 trở lên sẽ không bị ảnh hưởng. Việc họ sử dụng ARCore Cloud Anchor API chịu sự điều chỉnh của chính sách ngừng sử dụng.
Các thay đổi và nội dung cập nhật khác
Hãy xem các ghi chú phát hành sau đây để biết thêm về các bản sửa lỗi và những thay đổi lớn khác.
Tính năng mới trong ARCore phiên bản 1.22.0
Bản phát hành này bổ sung API Ghi và phát mới và API Bộ lọc cấu hình camera cho các Tiện ích ARCore cho AR Foundation. Hãy xem ghi chú phát hành đầy đủ của ARCore Extensions để biết thông tin chi tiết.
Các thay đổi và nội dung cập nhật khác
Hãy xem các ghi chú phát hành sau đây để biết thêm về các bản sửa lỗi và những thay đổi lớn khác.
Tính năng mới trong ARCore phiên bản 1.21.0
Bản phát hành này bổ sung các API Ghi hình và Phát mới cho Android, Android NDK và Unity.
Ghi và phát
Với API Ghi hình và API Phát lại, bạn có thể ghi hình video và dữ liệu thực tế tăng cường một lần trong một môi trường nhất định, rồi dùng nội dung đó để thay thế phiên máy ảnh trực tiếp cho mục đích kiểm thử. ARCore lưu các phiên đã ghi vào tệp MP4 chứa nhiều bản video và các dữ liệu khác trên thiết bị. Sau đó, bạn có thể chỉ định ứng dụng của mình sử dụng dữ liệu này thay cho một phiên camera trực tiếp. Nhờ đó, bạn có thể phát lại nội dung đó vô thời hạn để thử các hiệu ứng thực tế tăng cường khác nhau mà không cần phải quay lại hiện trường.
Để biết thêm chi tiết:
Java:
C:
Unity:
Tính năng mới trong ARCore phiên bản 1.20.0
Bản phát hành này bổ sung những thay đổi đáng chú ý sau:
Hỗ trợ mới cho Cloud Anchor liên tục.
Cập nhật các chức năng siêu dữ liệu hình ảnh cho Android và Android NDK.
Hướng dẫn mới yêu cầu phiên bản Gradle 5.6.4 trở lên để hỗ trợ ARCore Extensions cho AR Foundation hoặc ARCore SDK cho Unity (1.19 trở lên) bằng Unity 2018.4 trở lên.
Hỗ trợ mới cho Cloud Anchor cố định
Trước ARCore phiên bản 1.20, Cloud Anchor chỉ có thể được phân giải trong tối đa 24 giờ sau khi được lưu trữ lần đầu. Với Cloud Anchor cố định, giờ đây, bạn có thể tạo Cloud Anchor có thời gian tồn tại (TTL) từ 1 đến 365 ngày. Bạn cũng có thể kéo dài thời gian tồn tại của neo sau khi neo đã được lưu trữ bằng Cloud Anchor Management API (API Quản lý neo trên đám mây).
Việc sử dụng Cloud Anchors liên tục sẽ tuân theo chính sách mới về việc ngừng cung cấp Cloud Anchors.
C: Hướng dẫn cho nhà phát triển,
ArSession_hostAndAcquireNewCloudAnchorWithTtl
vàArSession_estimateFeatureMapQualityForHosting
.Java: Hướng dẫn cho nhà phát triển,
hostCloudAnchorWithTtl
vàestimateFeatureMapQualityForHosting
.iOS: Hướng dẫn cho nhà phát triển,
hostCloudAnchor:TTLDays:error:
vàestimateFeatureMapQualityForHosting:
.ARCore Extensions cho AR Foundation: Hướng dẫn dành cho nhà phát triển Android, Hướng dẫn dành cho nhà phát triển iOS,
ARAnchorManager.HostCloudAnchor(ARAnchor, int)
,ARAnchorManager.SetAuthToken(string)
vàARAnchorManager.EstimateFeatureMapQualityForHosting(Pose)
.Unity nhắm đến Android: Hướng dẫn dành cho nhà phát triển,
XPSession.CreateCloudAnchor(Anchor, int)
vàXPSession.EstimateFeatureMapQualityForHosting(Pose)
.Unity nhắm đến iOS: Hướng dẫn cho nhà phát triển,
XPSession.SetAuthToken(string)
vàXPSession.CreateCloudAnchor(UnityARUserAnchorComponent, int)
.
Các thay đổi và nội dung cập nhật khác
Hãy xem các ghi chú phát hành sau đây để biết thêm về các bản sửa lỗi và những thay đổi lớn khác.
Tính năng mới trong ARCore phiên bản 1.19.0
Bản phát hành này bổ sung những thay đổi đáng chú ý sau:
- API Vị trí tức thì mới cho Android, Android NDK và Unity.
- Hướng dẫn mới về cách tạo cho Android 11 bằng Unity.
Vị trí tức thì
Instant Placement API cho phép người dùng đặt một đối tượng thực tế tăng cường trên màn hình mà không cần phải đợi ARCore phát hiện hình học bề mặt. Vị trí của đối tượng được tinh chỉnh theo thời gian thực khi người dùng di chuyển xa hơn trong môi trường. Sau khi ARCore phát hiện tư thế chính xác trong khu vực đặt đối tượng thực tế tăng cường, đối tượng màu trắng sẽ tự động cập nhật để có tư thế chính xác và trở nên mờ đục.
Đoạn video sau đây cho thấy một hình người ảo Android trên bàn ngoài đời thực. Hình này có màu trắng và nhỏ hơn nhiều khi mới được đặt. Sau khi ARCore tinh chỉnh các phép tính về kích thước cảnh, hình ảnh sẽ chuyển đến một vị trí chính xác hơn. Điều này có thể dẫn đến sự khác biệt về "kích thước" cảm nhận của đối tượng.
Để biết thêm chi tiết:
Android:
Android NDK:
Unity:
Tính năng mới trong ARCore phiên bản 1.18.0
Bản phát hành này bổ sung những thay đổi đáng chú ý sau:
- Depth API mới cho Android, Android NDK và Unity.
- Hướng dẫn mới về cách tạo tài sản Khuôn mặt tăng cường và nhập các tài sản đó vào Android Studio.
- Depth API sẽ được hỗ trợ trong
4.1.0-preview.2
cho cảAR Foundation
vàARCore XR Plugin
.
Depth API
Trên các thiết bị có hỗ trợ độ sâu, Depth API sử dụng camera RGB của thiết bị có hỗ trợ ARCore hoặc cảm biến độ sâu đang hoạt động (nếu có) để tạo bản đồ độ sâu. Sau đó, bạn có thể sử dụng độ sâu trên mỗi pixel do bản đồ độ sâu cung cấp để các đối tượng ảo xuất hiện chính xác ở phía trước hoặc phía sau các đối tượng trong thế giới thực, mang đến trải nghiệm sống động và chân thực cho người dùng.
Ví dụ: các hình ảnh sau đây cho thấy một hình người ảo trên Android trong một không gian thực có một chiếc rương bên cạnh cửa. Depth API che khuất đúng cách hình ảnh phía sau mép thân cây.
Để biết thêm chi tiết:
Android:
Android NDK:
Unity:
Tính năng mới trong ARCore phiên bản 1.17.0
Điểm nổi bật trong ARCore SDK cho Android
Thêm các phương thức mới cho phép lưu vào bộ nhớ đệm nhiều khung hình camera. Cùng với các kỹ thuật khác như kết xuất đa luồng, bạn có thể dùng kỹ thuật này để giảm sự biến động về tốc độ khung hình.
Đã thêm cách sử dụng cảm biến độ sâu còn thiếu và các phương thức truy xuất FPS mục tiêu:
Xem thêm ghi chú phát hành đầy đủ về Android SDK cho Android.
Điểm nổi bật trong ARCore SDK cho Unity
- Đã thêm tính năng hỗ trợ cho hoạt động kết xuất đa luồng trong Unity phiên bản 2018.2 trở lên. Trong hầu hết các trường hợp, tính năng này sẽ cải thiện hiệu suất và có thể giúp giảm sự biến động về tốc độ khung hình. Đây là chế độ cài đặt dự án Unity, nằm trong phần Project Settings (Cài đặt dự án) > Player (Trình phát) > Android > Other Settings (Cài đặt khác) > Multithreaded Rendering (Kết xuất đa luồng). Xem Hướng dẫn cho nhà phát triển để biết thông tin chi tiết.
- Đã thêm
SessionStatus.ErrorCameraNotAvailable
vàSessionStatus.ErrorIllegalState
để cho biết các trạng thái lỗi cụ thể của phiên ARCore.
Xem thêm ghi chú phát hành đầy đủ của ARCore SDK cho Unity.
Điểm nổi bật trong ARCore SDK cho iOS
Kích thước nhị phân của Cloud Anchors SDK đã giảm đáng kể.
Mã bit hiện được hỗ trợ cho khuôn mặt thực tế tăng cường.
Xem thêm ghi chú phát hành đầy đủ của ARCore SDK cho iOS.
Tính năng mới trong ARCore phiên bản 1.16.0
Đáng chú ý trong ARCore SDK cho Android và Sceneform SDK cho Android
Bản phát hành này bổ sung những thay đổi đáng chú ý sau:
- Giờ đây, hầu hết các thiết bị đều trả về các cấu hình camera được hỗ trợ bổ sung với độ phân giải hoạ tiết GPU thấp hơn so với độ phân giải hoạ tiết GPU mặc định của thiết bị.
Hãy xem danh sách Thiết bị hỗ trợ ARCore để biết thông tin chi tiết.
Bạn có thể sử dụng các độ phân giải GPU mở rộng này thông qua API
getSupportedCameraConfigs(CameraConfigFilter)
.
Xem thêm:
Điểm nổi bật trong ARCore Extensions for AR Foundation
Bản phát hành này bổ sung những thay đổi đáng chú ý sau:
XRCameraConfiguration
của AR Foundation được mở rộng bằng các phương thức cho phép bạn chọn cấu hình camera phù hợp dựa trên tiêu chí bạn muốn. Các phương thức này bao gồm GetTextureDimensions(), GetFPSRange() và GetDepthSensorUsages(). Hãy đọc hướng dẫn chi tiết.Unity 2019.3.0f6 hiện là phiên bản tối thiểu được đề xuất cho ARCore Extensions. AR Foundation 3.1.0-preview.6 yêu cầu Unity phiên bản 2019.3 trở lên.
Giờ đây, Unity sử dụng các thuật ngữ Anchor (Điểm neo), Cloud Anchor (Điểm neo trên đám mây) và Cloud Anchor ID (Mã nhận dạng điểm neo trên đám mây) trong API AR đa nền tảng của họ. Tài liệu về ARCore Extensions đã được cập nhật để phản ánh điều này.
Xem thêm:
Điểm nổi bật trong ARCore SDK cho Unity
Bản phát hành này bổ sung thay đổi đáng chú ý sau:
- Giờ đây, hầu hết các thiết bị đều trả về các cấu hình camera được hỗ trợ bổ sung với độ phân giải hoạ tiết GPU thấp hơn so với độ phân giải hoạ tiết GPU mặc định của thiết bị. (Xem phần Thiết bị hỗ trợ ARCore để biết thông tin chi tiết.) Bạn có thể sử dụng các độ phân giải GPU mở rộng này thông qua API ARCoreCameraConfigFilter.
Xem thêm:
Ghi chú phát hành đầy đủ về ARCore SDK cho Unity
Tính năng mới trong ARCore phiên bản 1.15.0
Điểm nổi bật trong ARCore Extensions for AR Foundation
Bản phát hành này bổ sung những thay đổi đáng chú ý sau đây.
Đã thêm mẫu CloudAnchors cho biết cách tạo trải nghiệm thực tế tăng cường được chia sẻ cho cả Android và iOS. Xem hướng dẫn dành cho Android hoặc iOS.
Unity 2019.2.17f1 hiện là phiên bản tối thiểu nên dùng với ARCore Extensions.
Ghi chú phát hành đầy đủ về ARCore Extensions
Điểm nổi bật trong ARCore SDK cho Unity
Bản phát hành này có các vấn đề đã biết sau đây.
Tính năng Xem trước tức thì có thể khiến Unity bị treo khi bạn sử dụng Android 9 và cáp USB 3. Để khắc phục, hãy cập nhật lên Android 10 hoặc dùng cáp USB 2.
Tính năng Xem trước tức thì có thể không hiển thị trên thiết bị khi độ phân giải của chế độ xem trò chơi trong Unity quá cao. Để khắc phục, hãy giảm độ phân giải của chế độ xem trò chơi trong Unity Editor.
Ghi chú phát hành đầy đủ về ARCore SDK cho Unity
Các nội dung thay đổi khác
Hãy xem các ghi chú phát hành sau đây để biết thêm về các bản sửa lỗi và những thay đổi quan trọng khác.
Tính năng mới trong ARCore phiên bản 1.14.0
Bản phát hành này bổ sung những thay đổi đáng chú ý sau đây.
Khi một ứng dụng tạm thời mất quyền truy cập camera vào một ứng dụng khác trên thiết bị, lý do khiến tính năng theo dõi không hoạt động hiện cụ thể hơn:
Android:
TrackingFailureReason
làCAMERA_UNAVAILABLE
thay vìNONE
.Android NDK:
ArTrackingFailureReasons
làAR_TRACKING_FAILURE_REASON_CAMERA_UNAVAILABLE
thay vìAR_TRACKING_FAILURE_REASON_NONE
.Unity:
Session.LostTrackingReason
làLostTrackingReason.CameraUnavailable
thay vìNone
.
Google thu thập và xử lý dữ liệu từ việc bạn sử dụng gói Tiện ích ARCore theo Chính sách quyền riêng tư của Google và Điều khoản dịch vụ về các API của Google. Bạn có thể chọn không tham gia.
Tính năng mới trong ARCore phiên bản 1.13.0
Bản phát hành này bổ sung những thay đổi đáng chú ý sau đây.
Hỗ trợ việc sử dụng ARCore Extensions cho AR Foundation của Unity để tạo các ứng dụng iOS có Cloud Anchors.
Hỗ trợ tính năng ước tính ánh sáng HDR môi trường trong Sceneform.
Hãy xem các ghi chú phát hành sau đây để biết thêm về các bản sửa lỗi và những thay đổi lớn khác.
Tính năng mới trong ARCore phiên bản 1.12.0
Bản phát hành này bổ sung những thay đổi sau:
Thêm tính năng Khuôn mặt được tăng cường vào iOS. Để biết thêm thông tin, hãy xem bài tổng quan, hướng dẫn bắt đầu nhanh và hướng dẫn dành cho nhà phát triển này.
Hỗ trợ việc sử dụng ARCore Extensions cho AR Foundation của Unity để tạo các ứng dụng Android bằng Cloud Anchors.
Sau đây là những thay đổi đối với Neo trên đám mây:
- Để tuân thủ các yêu cầu mới về quyền riêng tư khi sử dụng ARCore SDK 1.12 trở lên, bạn phải công bố rõ ràng việc sử dụng Cloud Anchors trong ứng dụng của mình bằng cách thêm văn bản sau đây, cũng như một đường liên kết để tìm hiểu thêm, trên màn hình thông báo: "Để hỗ trợ phiên này, Google sẽ xử lý dữ liệu hình ảnh từ camera của bạn". Bạn có thể thực hiện việc này bằng cách triển khai quy trình thông báo cho người dùng được đề xuất có trong các ứng dụng mẫu Cloud Anchor của chúng tôi.
Để biết thêm thông tin chi tiết, hãy tham khảo Các yêu cầu về quyền riêng tư của người dùng.
Để biết thêm thông tin chi tiết về Cloud Anchors:
Android:
Android NDK:
iOS:
Unity:
Tiện ích ARCore:
Tính năng mới trong ARCore phiên bản 1.11.0
Bản phát hành này bổ sung những thay đổi sau:
Dịch vụ ARCore đã được đổi tên thành Dịch vụ Google Play cho Thực tế tăng cường. Trên các thiết bị Google Play, API này hiện được phân phối trong Dịch vụ Google Play.
Cấu hình camera của ARCore nhắm đến tốc độ 60 khung hình/giây trên các thiết bị được hỗ trợ và ưu tiên sử dụng cảm biến độ sâu trên các thiết bị có cảm biến này. Bạn có thể dùng bộ lọc cấu hình camera mới để giới hạn tốc độ khung hình chụp của camera ở mức 30 khung hình/giây, ngăn ARCore sử dụng cảm biến độ sâu hoặc lọc dựa trên cả hai lựa chọn.
Để biết thêm thông tin chi tiết về cấu hình camera:
Android:
Android NDK:
Unity:
Tính năng mới trong ARCore phiên bản 1.10.0
Bản phát hành này bổ sung các chức năng mới về ước tính ánh sáng HDR môi trường cho Lighting Estimation API cho Android, Android NDK và Unity.
Các API này sử dụng công nghệ học máy để phân tích hình ảnh đầu vào của camera và ước tính ánh sáng môi trường. Bạn có thể sử dụng dữ liệu ước tính ánh sáng này để kết xuất ánh sáng cực kỳ chân thực, bao gồm cả ánh sáng định hướng chính, bóng đổ, ánh sáng xung quanh, vùng sáng phản chiếu và phản xạ trên các đối tượng ảo. Kết quả là nội dung ảo trông chân thực hơn.
Để biết thêm chi tiết:
Android:
Android NDK:
Unity:
Tính năng mới trong ARCore phiên bản 1.9.0
Tính năng mới trong ARCore SDK dành cho Android
Bản phát hành này bổ sung các API và tính năng mới sau:
Scene Viewer là một trình xem sống động, cho phép trải nghiệm thực tế tăng cường trên trang web của bạn. Tính năng này giúp người dùng thiết bị di động Android dễ dàng đặt, xem và tương tác với các mô hình 3D được lưu trữ trên web trong môi trường của họ.
Các tính năng mới của Hình ảnh tăng cường:
ARCore hiện theo dõi Hình ảnh tăng cường chuyển động. Ví dụ về hình ảnh động là quảng cáo trên một chiếc xe buýt đang chạy hoặc hình ảnh trên một vật thể phẳng do người dùng cầm khi họ di chuyển tay.
Sau khi phát hiện một hình ảnh, ARCore có thể tiếp tục theo dõi vị trí và hướng của hình ảnh, ngay cả khi hình ảnh đó tạm thời di chuyển ra khỏi khung hình camera.
Sử dụng
AugmentedImage#getTrackingMethod()
(Java) hoặcArAugmentedImage_getTrackingMethod()
(NDK) để xác định xem camera hiện có đang theo dõi Hình ảnh tăng cường (FULL_TRACKING
) hay đang theo dõi dựa trên vị trí đã biết gần đây nhất (LAST_KNOWN_POSE
).
Tài liệu về Neo trên đám mây hiện có phần giải thích chi tiết hơn về cách lưu trữ và phân giải neo.
Tính năng mới trong ARCore SDK cho Unity
Các tính năng mới của Hình ảnh tăng cường:
ARCore hiện theo dõi Hình ảnh tăng cường chuyển động. Ví dụ về hình ảnh động có thể là một quảng cáo trên xe buýt đang chạy hoặc một hình ảnh trên một vật thể phẳng do người dùng cầm khi họ di chuyển vật thể đó.
Sau khi phát hiện một hình ảnh, ARCore có thể tiếp tục theo dõi vị trí và hướng của hình ảnh, ngay cả khi hình ảnh đó tạm thời di chuyển ra khỏi khung hình camera.
API
AugmentedImage.GetTrackingMethod()
mới cho phép ứng dụng của bạn xác định xem Hình ảnh tăng cường hiện có đang được camera theo dõi (FullTracking
) hay đang được theo dõi dựa trên vị trí đã biết gần đây nhất (LastKnownPose
).
Tài liệu về Neo trên đám mây hiện có phần giải thích chi tiết hơn về cách lưu trữ và phân giải neo.
Tính năng mới trong ARCore SDK dành cho iOS
Hỗ trợ các thiết bị sau:
iPad Mini thế hệ thứ 5
iPad Air thế hệ thứ ba
Tài liệu về Neo trên đám mây hiện có phần giải thích chi tiết hơn về cách lưu trữ và phân giải neo.