Những thay đổi mới và đáng chú ý trong ARCore.
Tính năng mới trong ARCore v1.48.0
Phát hành đầy đủ tính năng hỗ trợ Unity 6 và AR Foundation 6
Tiện ích ARCore cho AR Foundation của Unity hiện hỗ trợ AR Foundation 6. Hãy sử dụng các phương thức cài đặt sau để tải phiên bản tương thích của Tiện ích ARCore 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 bản phát hành được biểu thị bằngarf6
trên trang 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 v1.47.0
Hỗ trợ thử nghiệm cho Unity 6 và AR Foundation 6
Tiện ích ARCore cho AR Foundation của Unity hiện đã hỗ trợ phiên bản thử nghiệm cho AR Foundation 6 để hỗ trợ Unity 6. Hãy sử dụng các phương thức cài đặt sau để tải phiên bản tương thích của Tiện ích ARCore 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 bản phát hành được biểu thị bằngarf6
trên trang 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 lỗi mặt phẳng của Mẫu neo trên đám mây 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ữ GitHub của Tiện ích ARCore đã được chuyển sang theo dõi nhánharf5
.
Tính năng mới trong ARCore phiên bản 1.46.0
Thay đổi đối với targetSdkVersion
của SDK ARCore
targetSdkVersion
của ARCore đã được cập nhật lên Android API cấp 35. 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 hoạt động 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 > 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.
Tính năng mới trong ARCore v1.45.0
API Chế độ đèn flash
ARCore hiện hỗ trợ bật chế độ đèn pin của thiết bị, cho phép khả năng nhận biết tốt hơn trong môi trường tối.
Android (Kotlin/Java)
Config.FlashMode
: tuỳ 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 dành cho nhà phát triển để biết thêm thông tin chi tiết về cách phát hiện chức năng đèn flash và cách bật chế độ đèn pin.
Android NDK (C)
ArFlashMode
: tuỳ 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 dành cho nhà phát triển để biết thêm thông tin chi tiết về cách phát hiện chức năng đèn flash và cách bật chế độ đèn pin.
Tiện ích ARCore cho AR Foundation của Unity hỗ trợ AR Foundation 5
Tiện ích ARCore cho AR Foundation hiện hỗ trợ chính thức 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 để tải phiên bản tương thích của Tiện ích ARCore cho AR Foundation:
- 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 còn lại trên AR Foundation phiên bản 4 có thể sử 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.
Các ký hiệu tập lệnh tuỳ chỉnh
chẳng hạn như ARCORE_USE_ARF_5
từ dịch vụ hỗ trợ beta không còn được sử 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 v1.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 API Địa điểm mới của Google. Để sử dụng tính năng tìm kiếm, hãy bật "API Địa điểm (Mới)" trong Google Cloud Console.
Tính năng mới trong ARCore v1.42.0
Tính năng chụp nhanh vào Thẻ thông tin trong Geospatial Creator cho Unity
Nút "Căn chỉnh với Thẻ thông tin" đã được thêm vào bảng điều khiển Trình kiểm tra của Trình chỉnh sửa ARGeospatialCreatorAnchor
. Nút này đặt giá trị độ cao chỉ dành cho Trình chỉnh sửa của neo Địa hình hoặc Mái nhà lên đầu hình học Thẻ thông tin 3D tại vĩ độ và kinh độ hiện tại của 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 neo trong trình chỉnh sửa để khớp với vị trí của neo trong thời gian chạy.
Tính năng mới trong ARCore v1.41.0
Geospatial Creator API
Geospatial Creator cho Unity hiện hỗ trợ việc tạo và thao tác với các đối tượng Geospatial Creator ở chế độ Trình chỉnh sửa. Các lớp và API mới có được mô tả trong Hướng dẫn về API Trình tạo không gian địa lý.
Hỗ trợ AR Foundation phiên bản 5.x (Beta)
Tiện ích ARCore 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 v1.40.0
Ngữ nghĩa cảnh trên iOS
Scene Semantics API hiện có trong SDK ARCore dành cho iOS cũng như trong Tiện ích ARCore dành cho AR Foundation của Unity nhắm đến nền tảng iOS. Scene Semantics API cho phép nhà phát triển hiểu được cảnh 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 yêu thích 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 Thẻ thông tin 3D chụp ảnh. Hãy xem phần 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 v1.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 v1.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 v1.37.0
Ngữ nghĩa cảnh
Ngữ nghĩa cảnh cung cấp nhiều thông tin chi tiết hơn về cảnh xung quanh, giúp dễ dàng hiểu được thế giới xung quanh người dùng. 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 máy ảnh và cung cấp một hình ảnh ngữ nghĩa, trong đó mỗi pixel 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 phần Giới thiệu về ngữ nghĩ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ảnh quan đường phố
Hình học cảnh đường phố là một API không gian địa lý ARCore mới, cung cấp hình học của các toà nhà và địa hình trong một khu vực xung quanh người dùng khi API không gian địa lý được bật.
Android (Kotlin/Java)
Xem Hướng dẫn dành cho nhà phát triển về Hình học cảnh quan đường phố (Kotlin/Java). Ngoài ra, ứng dụng mẫu geospatial_java đã được cập nhật để bao gồm cả Hình học cảnh quan đường phố.
Android NDK (C)
Hãy xem Hướng dẫn dành cho nhà phát triển về Hình học cảnh quan đường phố (C) để biết thêm thông tin.
Unity (AR Foundation)
Hãy xem Hướng dẫn dành cho nhà phát triển về Hình học cảnh quan đường phố (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ề Hình học cảnh quan đường phố (iOS) để biết thêm thông tin. Ngoài ra, ứng dụng GeospatialExample đã được cập nhật để bao gồm cả Hình học cảnh quan đường phố.
GARStreetscapeGeometry
:GARStreetscapeGeometry.mesh
cung cấp lưới 3D.GARStreetscapeGeometry.meshTransform
cung cấp phép biến đổi gốc của hình học tương ứng 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 (phương thức chiếu tia) đối với Hình học cảnh đường phố được tải trong cảnh.
Neo trên tầng thượng
Điểm neo trên mái nhà là một loại điểm neo không gian địa lý mới giúp bạn neo nội dung vào một mái nhà.
Android (Kotlin/Java)
Xem phần Neo địa lý (Java). Ngoài ra, ứng dụng mẫu geospatial_java đã được cập nhật để thêm các neo trên mái nhà.
Android NDK (C)
Hãy xem phần Neo địa không gian (C) để biết thêm thông tin.
Unity (AR Foundation)
Xem phần Neo địa không gian để 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ả điểm neo trên mái nhà.
ARAnchorManagerExtensions.ResolveAnchorOnRooftopAsync()
cung cấp một neo cho các đối tượng trò chơi trong cảnh của bạn ở vĩ độ, kinh độ, độ cao trên mái nhà và hướng đã chỉ định.ResolveAnchorOnRooftopPromise
ResolveAnchorOnRooftopResult
iOS
Hãy xem phần Mốc địa không gian (iOS) để biết thêm thông tin. Ngoài ra, ứng dụng GeospatialExample đã được cập nhật để thêm các neo trên mái nhà.
GARSession.createAnchorWithCoordinate:altitudeAboveRooftop:eastUpSouthQAnchor:completionHandler:error:
tạo một điểm neo trên mái nhà tại vị trí được chỉ định, độ cao trên mái nhà tính bằng mét và hướng tương ứng với Trái Đất.GARCreateAnchorOnRooftopFuture
giữ trạng thái không đồng bộ của việc phân giải neo trên sân thượng.GARRooftopAnchorState
mô tả trạng thái phân giải neo trên mái nhà.
Độ sâu không gian địa lý
Khi cả Depth API và chế độ Hình học cảnh đường phố được bật trong một phiên ARCore ở những khu vực có phạm vi cung cấp VPS, hình ảnh độ sâu được tạo sẽ được cải thiện bằng cách sử dụng Hình học cảnh đường phố. Hình học cảnh đường phố được tích hợp vào mỗi hình ảnh độ sâu được tạo ra trong phạm vi 65,535 mét. Bạn không cần thay đổi gì khi gọi Depth API để thấy được lợi ích này.
Android (Kotlin/Java)
Hãy xem phần Chiều sâu không gian địa lý (Java) để biết thêm thông tin.
Android NDK (C)
Hãy xem phần Chiều sâu không gian địa lý (C) để biết thêm thông tin.
Unity (AR Foundation)
Hãy xem phần Chiều sâu không gian địa lý (C) để biết thêm thông tin.
iOS
Tính năng Ngữ nghĩa cảnh hiện không dùng được 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 của máy ảnh thông qua AHardwareBuffer
. Bạn có thể sử dụng Vùng đệm phần cứng này bằng cách liên kết vùng đệm đó với VkImage
.
Hãy xem phần Hiển thị ứ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 có sẵn cho Unity sử 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 Chống rung hình ảnh điện tử, giúp làm mượt các khung hình máy ảnh để mang lại trải nghiệm mượt mà hơn cho người dùng.
Xem phần 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()
- Có 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ẽ gây ra 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()
- Có 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 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
Tính năng EIS hiện không dùng được trên iOS.
API không đồng bộ 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 tính công thái học khi làm việc với các thao tác không đồng bộ, tuân theo mô hình Future và Promise.
Android (Kotlin/Java)
- Giải quyết neo Địa hình: Sử dụng
Earth.resolveAnchorOnTerrainAsync()
để lấyResolveAnchorOnTerrainFuture
. Biểu tượng cũEarth.resolveAnchorOnTerrain()
đã ngừng hoạt động và có thể bị xoá trong phiên bản ARCore sau này. - Giải quyết neo trên đám mây: Sử dụng
Session.resolveCloudAnchorAsync()
để lấyResolveCloudAnchorFuture
. Biểu tượng 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 ký hiệu cũSession.hostCloudAnchor()
vàSession.hostCloudAnchorWithTtl()
không còn được dùng nữa và có thể bị xoá trong phiên bản ARCore sau này. - Kiểm tra tình trạng có sẵn APK: Sử dụng
ArCoreApk.checkAvailabilityAsync()
để đăng ký lệnh gọi lại. Ký hiệu cũArCoreApk.checkAvailability()
vẫn được dùng.
Android NDK (C)
- Giải quyết neo Địa hình: Sử dụng
ArEarth_resolveAnchorOnTerrainAsync()
để lấyArResolveAnchorOnTerrainFuture
hoặc sử dụngArResolveAnchorOnTerrainCallback
. Biểu tượng cũArEarth_resolveAndAcquireNewAnchorOnTerrain()
đã ngừng hoạt động và có thể bị xoá trong phiên bản ARCore sau này. - Giải quyết neo trên đám mây: Sử dụng
ArSession_resolveCloudAnchorAsync()
để lấyArResolveCloudAnchorFuture
hoặc sử dụngArResolveCloudAnchorCallback
. Biểu tượng 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 ký hiệu cũArSession_hostAndAcquireNewCloudAnchor()
vàArSession_hostAndAcquireNewCloudAnchorWithTtl()
không còn được dùng nữa và có thể bị xoá trong phiên bản ARCore sau này. - Kiểm tra tình trạng có sẵn APK: Sử dụng
ArCoreApk_checkAvailabilityAsync()
để đăng ký lệnh gọi lại. Ký hiệu cũArCoreApk_checkAvailability()
vẫn được dùng.
Unity (AR Foundation)
- Giải quyết neo Địa hình: Sử dụng
ARAnchorManagerExtensions.ResolveAnchorOnTerrainAsync()
để lấyResolveAnchorOnTerrainPromise
. Biểu tượng cũARAnchorManagerExtensions.ResolveAnchorOnTerrain()
đã ngừng hoạt động và có thể bị xoá trong phiên bản ARCore sau này. - Giải quyết neo trên đám mây: Sử dụng
ARAnchorManagerExtensions.ResolveCloudAnchorAsync()
để lấyResolveCloudAnchorPromise
. Biểu tượng 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 ký hiệuARAnchorManagerExtensions.HostCloudAnchor()
cũ không còn được dùng nữa và có thể bị xoá trong phiên bản ARCore sau này.
iOS
- Giải quyết neo Địa hình: Sử dụng
GARSession.createAnchorWithCoordinate:altitudeAboveTerrain:eastUpSouthQAnchor:completionHandler:error:
để lấyGARCreateAnchorOnTerrainFuture
. Biểu tượng 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. - Giải quyết neo trên đám mây: Sử dụng
GARSession.resolveCloudAnchorWithIdentifier:completionHandler:error:
để lấyGARResolveCloudAnchorFuture
. Biểu tượng 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 ký hiệu cũGARSession.hostCloudAnchor:error:
vàGARSession.hostCloudAnchor:TTLDays:error:
không còn đượ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
SDK ARCore dành cho iOS hiện đã hỗ trợ chính thức Trình quản lý gói Swift. Hãy xem bài viết 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 v1.35.0
Độ chính xác của tư thế không gian địa lý thay thế hướng bằng độ nghiêng
Tất cả các tư thế Địa không gian hiện đều hiển thị độ chính xác hướng của góc xoay ngang, thay thế độ chính xác 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
Hãy xem ghi chú phát hành để biết các thay đổi, bản sửa lỗi và điểm cải thiện hiệu suất khác:
- Ghi chú phát hành SDK ARCore cho Android
- Ghi chú phát hành ARCore cho Android NDK
- Ghi chú phát hành SDK ARCore cho iOS
- Ghi chú phát hành về Tiện ích ARCore cho AR Foundation
Tính năng mới trong ARCore v1.34.0
Kiểm tra xem có thể sử dụng các tính năng không gian địa lý ở vị trí hiện tại của thiết bị hay không
Giờ đây, API không gian địa lý có thể kiểm tra khả năng sử dụng Hệ thống định vị bằng hình ảnh (VPS) ở một vị trí ngang được chỉ định trong thời gian chạy. Bạn có thể sử dụng API này mà không cần phiên AR đang hoạt động: ví dụ: chỉ hiển thị nút "Enter AR" (Bắt đầu AR) khi có VPS.
- 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ý
Các tư thế không gian địa lý hiện 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()
Chuyển đổi tư thế không gian địa lý
Giờ đây, bạn có thể chuyển đổi các tư thế không gian địa lý sang và từ các tư thế không gian thực (AR).
Cách lấy tư thế không gian địa lý từ tư thế AR:
- Java/Kotlin:
Earth.getGeospatialPose()
- C:
ArEarth_getGeospatialPose()
- iOS:
GARSession.geospatialTransformFromTransform:error:
- Unity:
AREarthManager.Convert(Pose)
Cách lấy tư thế AR 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)
Các 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 mã sau:
- Android (Java/Kotlin/C): Số phức 4 chiều 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
Hãy xem ghi chú phát hành để biết các thay đổi, bản sửa lỗi và điểm cải thiện hiệu suất khác:
- Ghi chú phát hành SDK ARCore cho Android
- Ghi chú phát hành ARCore cho Android NDK
- Ghi chú phát hành SDK ARCore cho iOS
- Ghi chú phát hành về Tiện ích ARCore cho AR Foundation
Tính năng mới trong ARCore v1.33.0
Điểm cuối mới của Cloud Anchors
- Để sử dụng Điểm neo trên đám mây, giờ đây, bạn phải bật ARCore API thay vì ARCore Cloud Anchor API cũ (hiện không 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 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 Khoá API bị API hạn chế, bạn phải cho phép API ARCore.
- Nếu gửi yêu cầu đến API quản lý neo trên đám mây ARCore từ phần phụ trợ, bạn cũng phải thay đổi tên miền thành
arcore.googleapis.com
sau khi bật API ARCore. - API/điểm cuối cũ sẽ tiếp tục được hỗ trợ đến hết tháng 8 năm 2023.
- Xem phần Thay đổi về điểm cuối của neo trên đám mây trong ARCore 1.33 để biết thêm thông tin.
- 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 tại một vị trí và độ cao ngang được 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
Hãy xem ghi chú phát hành để biết các thay đổi, bản sửa lỗi và điểm cải thiện hiệu suất khác:
- Ghi chú phát hành SDK ARCore cho Android
- Ghi chú phát hành ARCore cho Android NDK
- Ghi chú phát hành SDK ARCore cho iOS
- Ghi chú phát hành về Tiện ích ARCore 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 Android API cấp 32. 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 hoạt động hợp nhất tệp kê khai.- SDK Android: Việc chỉ định
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 Target API Level (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.
- SDK Android: Việc chỉ định
Các thay đổi và nội dung cập nhật khác
Hãy xem ghi chú phát hành để biết các thay đổi, bản sửa lỗi và điểm cải thiện hiệu suất khác:
- Ghi chú phát hành SDK ARCore cho Android
- Ghi chú phát hành ARCore cho Android NDK
- Ghi chú phát hành SDK ARCore cho iOS
- Ghi chú phát hành về Tiện ích ARCore cho AR Foundation
Tính năng mới trong ARCore v1.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 sống động, trên quy mô toàn cầu và dựa trên vị trí.
Hãy xem phần Giới thiệu về API không gian địa lý ARCore để biết tài liệu dành cho nhà phát triển theo nền tảng và để bắt đầu sử dụng API không gian địa lý mới.
Độ sâu phạm vi xa
ARCore Depth API hiện được tối ưu hoá để bao gồm cả tính năng cảm biến độ sâu ở phạm vi xa hơn, tăng phạm vi quan sát độ sâu có thể biểu thị. Tất cả 16 bit của hình ảnh độ sâu đều được sử dụng, cung cấp phạm vi tối đa là 65535 milimét. Trước đây, chỉ có 13 bit được điền sẵn, với giới hạn là 8191 milimét.
Hãy xem phần Thay đổi đối với Độ sâu để biết tài liệu dành riêng cho nhà phát triển theo nền tảng và để hiểu những thay đổi đối với API Độ sâu.
Ghi chú theo nền tảng
Android
API không gian địa lý ARCore mới
Java
Earth
cung cấp khả năng bản địa hoá theo toạ độ tương ứng với Trái Đất.Earth.createAnchor()
tạo mộtAnchor
mới tại vị trí và hướng đã 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 ứng với Trái Đất.ArEarth_acquireNewAnchor()
tạo mộtAnchor
mới tại vị trí và hướng đã 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 API Độ sâu ARCore
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ị mm, nhưng hiện tại, 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òn được dùng nữa. Thay vào đó, vui lòng 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ị mm, nhưng hiện tại, 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òn đượ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 không gian địa lý ARCore mới:
AREarthManager
cung cấp khả năng bản địa hoá theo toạ độ tương ứng với Trái Đất.EarthTrackingState
lấy trạng thái theo dõi của Earth cho khung hình mới 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 neo cho các đối tượng trò chơi trong cảnh, được chỉ định tại một vị trí và hướng tương ứng với Trái đất.
iOS
API không gian địa lý ARCore mới:
GAREarth
Cung cấp thông tin bản địa hoá tương đối so 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
Biểu thị một phép biến đổi toàn cục bao gồm vị trí, hướng, độ cao và độ chính xác ước tính.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
Hãy xem ghi chú phát hành để biết các thay đổi, bản sửa lỗi và điểm cải thiện hiệu suất khác:
- Ghi chú phát hành SDK ARCore cho Android
- Ghi chú phát hành ARCore cho Android NDK
- Ghi chú phát hành SDK ARCore cho iOS
- Ghi chú phát hành về Tiện ích ARCore cho AR Foundation
Tính năng mới trong ARCore v1.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ụ bản dựng 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 các 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 tương thích, hãy xem tài liệu của Android về trình bổ trợ Android cho Gradle.
Unity (AR Foundation)
Thêm 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 gói các phần phụ thuộc bên ngoài 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 lite này có thể giải quyết các vấn đề không tương thích khi sử dụng thư viện Firebase. Hãy xem hướng dẫn cài đặt Tiện ích ARCore 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 đề 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 khiến FPS giảm.
iOS
- Nhiều bản sửa lỗi và điểm cải thiện về hiệu suất.
Tính năng mới trong ARCore v1.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 của đố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 Vị trí tức thì. - persistent_cloud_anchor_java: Thêm phần phụ thuộc bản dựng bị thiếu vào mẫu. Khắc phục lỗi khi lưu trữ bất kỳ neo nào sẽ có trạng thái
CloudAnchorState ERROR_NOT_AUTHORIZED
ngay cả khi dự án được thiết lập chính xác.
Unity (AR Foundation)
- Gói Tiện ích ARCore hiện phụ thuộc vào Trình bổ trợ ARKit XR để đảm bảo rằng phiên bản AR Foundation đã cài đặt tương thích với phiên bản Trình bổ trợ ARKit XR. Thao tác này sẽ khắc phục lỗi biên dịch khi cài đặt Tiện ích ARCore trên Unity 2019.x và bật trình bổ trợ ARKit XR.
- Chế độ cài đặt dự án Tiện ích ARCore đã được chuyển từ Project Settings (Cài đặt dự án) > XR > ARCore Extensions (Tiện ích ARCore) sang Project Settings (Cài đặt dự án) > XR Plug-in Management (Quản lý trình bổ trợ XR) > ARCore Extensions (Tiện ích ARCore).
ARCoreExtensionsConfig
,ARCoreExtensionsCameraConfigFilter
,ARCoreRecordingConfig
đã được chuyển từ trình đơn Tạo > XR > Tiện ích ARCore sang trình đơn Tạo > XR.
iOS
- Nhiều bản sửa lỗi và điểm cải thiện về hiệu suất.
Hoàn tất ghi chú phát hành
- Ghi chú phát hành đầy đủ của SDK ARCore cho Android
- Ghi chú phát hành đầy đủ về ARCore cho Android NDK
- Ghi chú phát hành đầy đủ của SDK ARCore cho iOS
- Ghi chú phát hành về Tiện ích ARCore cho AR Foundation
Tính năng mới trong ARCore v1.28.0
- Kể từ tháng 11 năm 2022, các ứng dụng hỗ trợ AR sẽ không thể thu thập hình ảnh NDK hoặc siêu dữ liệu hình ảnh nữa. 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 ngừng sử dụng để 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 trở lên không bị ảnh hưởng, các lệnh gọi đếnXRCameraSubsystem.TryGetLatestImage(out XRCameraImage)
sẽ hoạt động bình thường. - SDK ARCore cho Unity (không dùng nữa): Các 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 v1.27.0
Bản phát hành này không có tính năng mới. Hãy xem các ghi chú phát hành sau đây để biết nhiều bản sửa lỗi và điểm cải tiến hiệu suất.
- Ghi chú phát hành đầy đủ của SDK ARCore cho Android
- Ghi chú phát hành đầy đủ về ARCore cho Android NDK
- Ghi chú phát hành đầy đủ của SDK ARCore cho iOS
- Ghi chú phát hành về Tiện ích ARCore cho AR Foundation
Ngoài nhiều bản sửa lỗi, bản phát hành này còn bao gồm những nội dung 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 phần 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 các thay đổi đáng chú ý sau:
- URI hiện được hỗ trợ cho các tập dữ liệu trong phần 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à các thay đổi có thể gây lỗi khác.
- Ghi chú phát hành đầy đủ của SDK ARCore cho Android
- Ghi chú phát hành đầy đủ về ARCore cho Android NDK
- Ghi chú phát hành đầy đủ của SDK ARCore cho iOS
- Ghi chú phát hành về Tiện ích ARCore 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 các ghi chú phát hành sau đây để biết nhiều bản sửa lỗi và điểm cải tiến hiệu suất.
- Ghi chú phát hành đầy đủ của SDK ARCore cho Android
- Ghi chú phát hành đầy đủ về ARCore cho Android NDK
- Ghi chú phát hành đầy đủ của SDK ARCore cho iOS
- Ghi chú phát hành đầy đủ về SDK ARCore cho Unity
- Ghi chú phát hành về Tiện ích ARCore 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 các thay đổi đáng chú ý sau:
- API Độ sâu thô mới cung cấp hình ảnh độ sâu mà không cần lọc không gian hình ảnh
- Chức năng ghi kênh dữ liệu tuỳ chỉnh cho API Ghi và phát
- Khả năng tiến hành Kiểm thử lượt nhấn theo chiều sâu
Độ sâu thô
API Độ sâu thô cung cấp dữ liệu độ sâu cho hình ảnh máy ảnh có độ chính xác cao hơn dữ liệu API Độ sâu đầy đủ, nhưng không phải lúc nào cũng bao phủ mọi pixel. Hình ảnh độ sâu thô cùng với hình ảnh độ tin cậy phù hợp cũng có thể được xử lý thêm, cho phép các ứng dụng chỉ sử dụng dữ liệu độ sâu có độ chính xác đủ cho trường hợp sử dụng riêng của chúng.
Hướng dẫn cho nhà phát triển:
Ghi kênh tuỳ chỉnh
Tính năng theo dõi dữ liệu tuỳ chỉnh mới trong API Ghi và phát cho phép bạn thêm dữ liệu tuỳ chỉnh vào khung ARCore trong khi quay video và truy xuất chính dữ liệu đó từ khung trong khi phát.
Hướng dẫn cho nhà phát triển:
Kiểm thử nhấn theo chiều sâu
Trước đây, bạn chỉ có thể tiến hành kiểm thử lượt nhấn trên các mặt phẳng đã phát hiện, giới hạn vị trí ở các bề mặt lớn, phẳng. Kiểm thử điểm chạm theo chiều sâu tận dụng cả thông tin chiều sâu mượt mà và thô để cung cấp kết quả điểm chạm chính xác hơn, ngay cả trên các bề mặt không phẳng và có kết cấu thấp.
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à các thay đổi có thể gây lỗi khác.
- Ghi chú phát hành đầy đủ của SDK ARCore cho Android
- Ghi chú phát hành đầy đủ về ARCore cho Android NDK
- Ghi chú phát hành đầy đủ của SDK ARCore cho iOS
- Ghi chú phát hành đầy đủ về SDK ARCore cho Unity
- Ghi chú phát hành về Tiện ích ARCore cho AR Foundation
Tính năng mới trong ARCore v1.23.0
Đang chờ hỗ trợ camera kép
Chúng tôi sẽ ra mắt tính năng hỗ trợ máy ảnh 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ông cụ gỡ lỗi mới
Bằng cách gửi ý định truyền tin, nhà phát triển có thể bật:
Ghi nhật ký lệnh gọi API ARCore 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 Điểm neo trên đám mây
Các ứng dụng hỗ trợ AR được tạo bằng SDK ARCore 1.11.0 trở xuống không còn có thể lưu trữ hoặc phân giải Điểm neo trên đám mây nữa.
C: Các Điểm neo trên đám mây do
ArSession_hostAndAcquireNewCloudAnchor
vàArSession_resolveAndAcquireNewCloudAnchor
trả về sẽ luôn có trạng tháiAR_CLOUD_ANCHOR_STATE_ERROR_INTERNAL
.Java: Các điểm neo trên đám mây do
Session.hostCloudAnchor(Anchor)
vàSession.resolveCloudAnchor(String)
trả về sẽ luôn có trạng tháiAnchor.CloudAnchorState.ERROR_INTERNAL
.Unity: Các neo trên đám mây 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 sử dụng API neo đám mây ARCore của họ thuộc phạm vi 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 ghi chú phát hành sau đây để biết thêm các bản sửa lỗi và các thay đổi có thể gây lỗi 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 các API Quay và phát mới cũng như API Bộ lọc cấu hình máy ảnh cho Tiện ích ARCore cho AR Foundation. Hãy xem ghi chú phát hành đầy đủ của Tiện ích ARCore để 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 ghi chú phát hành sau đây để biết thêm các bản sửa lỗi và các thay đổi có thể gây lỗi khác.
Tính năng mới trong ARCore v1.21.0
Bản phát hành này bổ sung các API Bản ghi và Phát lại mới cho Android, Android NDK và Unity.
Ghi và phát
Với API Quay và phát, bạn có thể quay video và dữ liệu AR một lần trong một môi trường nhất định, đồng thời sử 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 kênh video và các dữ liệu khác trên thiết bị. Sau đó, bạn có thể hướng ứng dụng của mình sử dụng dữ liệu này thay vì phiên máy ảnh trực tiếp. Nhờ đó, bạn có thể phát lại nội dung đó vô thời hạn để thử nhiều hiệu ứng AR mà không cần quay lại trường quay.
Để biết thêm chi tiết:
Java:
C:
Unity:
Tính năng mới trong ARCore v1.20.0
Bản phát hành này bổ sung các thay đổi đáng chú ý sau:
Tính năng hỗ trợ mới cho Mốc cố định trên đám mây.
Cập nhật các tính 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 Gradle phiên bản 5.6.4 trở lên để hỗ trợ Tiện ích ARCore cho AR Foundation hoặc SDK ARCore cho Unity (1.19 trở lên) với Unity 2018.4 trở lên.
Tính năng hỗ trợ mới cho Điểm neo trên đám mây ổn định
Trước ARCore phiên bản 1.20, bạn chỉ có thể phân giải Điểm neo trên đám mây trong tối đa 24 giờ sau lần lưu trữ đầu tiên. Với tính năng Mốc cố định trên đám mây, giờ đây, bạn có thể tạo một Mốc cố định trên đám mây 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 hoạt động của neo sau khi neo được lưu trữ bằng API Quản lý neo trên đám mây.
Việc sử dụng Điểm neo trên đám mây ổn định được đề cập trong chính sách mới về việc ngừng sử dụng Điểm neo trên đám mây.
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:
.Tiện ích ARCore 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 ghi chú phát hành sau đây để biết thêm các bản sửa lỗi và các thay đổi có thể gây lỗi khác.
Tính năng mới trong ARCore v1.19.0
Bản phát hành này bổ sung các 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 để xây dựng cho Android 11 bằng Unity.
Vị trí tức thì
Instant Placement API cho phép người dùng đặt đối tượng AR 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 đúng tư thế trong khu vực đặt đối tượng AR, đố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ờ.
Đoạn video sau đây cho thấy một hình ảnh Android ảo trên một chiếc bàn thực tế. Hình này có màu trắng và nhỏ hơn nhiều khi được đặt lần đầu. 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 sang 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 của đối tượng.
Để biết thêm chi tiết:
Android:
Android NDK:
Unity:
Tính năng mới trong ARCore v1.18.0
Bản phát hành này bổ sung các thay đổi đáng chú ý sau:
- Depth API mới cho Android, Android NDK và Unity.
- Hướng dẫn mới để tạo thành phần Augmented Faces (Khuôn mặt tăng cường) và nhập các thành phần đó vào Android Studio.
- API độ sâu sẽ được hỗ trợ trong
4.1.0-preview.2
cho cảAR Foundation
vàARCore XR Plugin
.
Depth API
Trên thiết bị hỗ trợ độ sâu, Depth API sử dụng máy ảnh RGB của thiết bị 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 ảnh Android ảo trong không gian thực chứa một cốp xe bên cạnh cửa. API Độ sâu che khuất đúng cách hình ảnh phía sau cạnh thân cây.
Để biết thêm chi tiết:
Android:
Android NDK:
Unity:
Tính năng mới trong ARCore v1.17.0
Điểm nổi bật trong SDK ARCore cho Android
Thêm các phương thức mới cho phép lưu nhiều khung hình máy ảnh vào bộ đệm. Cùng với các kỹ thuật khác như kết xuất nhiều luồng, bạn có thể sử dụng kỹ thuật này để giảm sự biến thiên về tốc độ khung hình.
Thêm tính năng sử dụng cảm biến độ sâu và phương thức getter FPS mục tiêu bị thiếu:
Xem thêm ghi chú phát hành đầy đủ của SDK Android cho Android.
Điểm nổi bật trong SDK ARCore cho Unity
- Thêm tính năng hỗ trợ kết xuất nhiều 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 nhiều luồng). Hãy xem Hướng dẫn dành 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 SDK ARCore cho Unity.
Điểm nổi bật trong SDK ARCore cho iOS
Kích thước tệp nhị phân của SDK Cloud Anchors đã giảm đáng kể.
Mã bit hiện được hỗ trợ cho tính năng Khuôn mặt tăng cường.
Xem thêm ghi chú phát hành đầy đủ của SDK ARCore cho iOS.
Tính năng mới trong ARCore v1.16.0
Điểm nổi bật trong SDK ARCore cho Android và SDK Sceneform cho Android
Bản phát hành này bổ sung các thay đổi đáng chú ý sau:
- Hầu hết các thiết bị hiện trả về các cấu hình máy ảnh được hỗ trợ bổ sung có độ phân giải hoạ tiết GPU thấp hơn độ phân giải hoạ tiết GPU mặc định của thiết bị.
Hãy xem phần Thiết bị được 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 Tiện ích ARCore cho AR Foundation
Bản phát hành này bổ sung các 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 máy ảnh 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 Tiện ích ARCore. AR Foundation 3.1.0-preview.6 yêu cầu Unity phiên bản 2019.3 trở lên.
Unity hiện sử dụng các thuật ngữ Mốc, Mốc trên đám mây và Mã nhận dạng mốc trên đám mây trong API AR đa nền tảng. Tài liệu về Tiện ích ARCore đã được cập nhật để phản ánh điều này.
Xem thêm:
Điểm nổi bật trong SDK ARCore cho Unity
Bản phát hành này có thêm thay đổi đáng chú ý sau:
- Hầu hết các thiết bị hiện trả về các cấu hình máy ảnh được hỗ trợ bổ sung có độ phân giải hoạ tiết GPU thấp hơn độ phân giải hoạ tiết GPU mặc định của thiết bị. (Xem phần Thiết bị được 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ề SDK ARCore cho Unity
Tính năng mới trong ARCore v1.15.0
Điểm nổi bật trong Tiện ích ARCore cho AR Foundation
Bản phát hành này bổ sung các thay đổi đáng chú ý sau.
Thêm mẫu CloudAnchors cho biết cách tạo trải nghiệm thực tế tăng cường dùng chung 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 được đề xuất để sử dụng với Tiện ích ARCore.
Ghi chú phát hành đầy đủ về Tiện ích ARCore
Điểm nổi bật trong SDK ARCore 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ể làm treo Unity khi 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 sử 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 chế độ xem trò chơi của Unity quá cao. Để khắc phục, hãy giảm độ phân giải của chế độ xem trò chơi trong Trình chỉnh sửa.
Ghi chú phát hành đầy đủ về SDK ARCore cho Unity
Các nội dung thay đổi 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à các thay đổi có thể gây lỗi khác.
Tính năng mới trong ARCore v1.14.0
Bản phát hành này bổ sung các thay đổi đáng chú ý sau.
Khi một ứng dụng tạm thời mất quyền truy cập vào máy ảnh do 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 thành công hiện sẽ 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ụ của API của Google. Bạn có thể chọn không tham gia.
Tính năng mới trong ARCore v1.13.0
Bản phát hành này bổ sung các thay đổi đáng chú ý sau.
Hỗ trợ sử dụng Tiện ích ARCore cho AR Foundation của Unity để tạo ứng dụng iOS có Điểm neo trên đám mây.
Hãy xem ghi chú phát hành sau đây để biết thêm các bản sửa lỗi và các thay đổi có thể gây lỗi 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 các thay đổi sau:
Thêm tính năng Augmented Faces (Khuôn mặt tăng cường) vào iOS. Để biết thêm thông tin, hãy xem thông tin 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ợ sử dụng Tiện ích ARCore cho AR Foundation của Unity để xây dựng ứng dụng Android bằng Điểm neo trên đám mây.
Các thay đổi sau đây đối với Điểm 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 SDK ARCore 1.12 trở lên, bạn phải công bố việc sử dụng Điểm neo trên đám mây một cách nổi bật trong ứng dụng của mình bằng cách thêm văn bản sau đây cũng như đườ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ừ máy ảnh 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 được đề xuất cho người dùng có trong các ứng dụng mẫu Điểm neo trên đám mây 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ề Điểm neo trên đám mây:
Android:
Android NDK:
iOS:
Unity:
Tiện ích ARCore:
Tính năng mới trong ARCore v1.11.0
Bản phát hành này bổ sung các thay đổi sau:
Dịch vụ ARCore đã được đổi tên thành Dịch vụ Google Play cho AR. Trên các thiết bị Google Play, ứng dụng này hiện được phân phối trong Dịch vụ Google Play.
Cấu hình máy ảnh 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ể sử dụng bộ lọc cấu hình máy ảnh mới để giới hạn tốc độ chụp khung hình của máy ảnh ở mức 30 khung hình/giây, ngăn ARCore sử dụng cảm biến độ sâu hoặc bộ lọc dựa trên cả hai tuỳ chọn.
Để biết thêm thông tin chi tiết về cấu hình máy ảnh:
Android:
Android NDK:
Unity:
Tính năng mới trong ARCore v1.10.0
Bản phát hành này bổ sung các tính năng ước tính ánh sáng HDR môi trường mới vào Lighting Estimation API (API ước tính ánh sáng) 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 máy ảnh 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 ánh sáng định hướng chính, bóng đổ, ánh sáng môi trường xung quanh, điểm sáng phản chiếu và phản chiếu 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 v1.9.0
Tính năng mới trong SDK ARCore 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:
Trình xem cảnh là một trình xem sống động cho phép trải nghiệm AR trên trang web của bạn. Ứng dụng này cho phé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 chuyển động là quảng cáo trên một chiếc xe buýt đang chạy qua hoặc hình ảnh trên một vật thể phẳng mà người dùng cầm khi di chuyển tay xung quanh.
Sau khi phát hiện 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 máy ảnh.
Sử dụng
AugmentedImage#getTrackingMethod()
(Java) hoặcArAugmentedImage_getTrackingMethod()
(NDK) để xác định xem máy ảnh có đang theo dõi Hình ảnh tăng cường hay không (FULL_TRACKING
) hoặc đang theo dõi dựa trên vị trí đã biết gần đây nhất của hình ảnh đó (LAST_KNOWN_POSE
).
Tài liệu về Điểm liên kết trên đám mây hiện có nội dung giải thích chi tiết hơn về cách lưu trữ và phân giải điểm liên kết.
Tính năng mới trong SDK ARCore 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 chuyển động có thể là quảng cáo trên một chiếc xe buýt đang chạy qua hoặc hình ảnh trên một vật thể phẳng mà người dùng cầm khi di chuyển vật thể đó.
Sau khi phát hiện 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 máy ảnh.
API
AugmentedImage.GetTrackingMethod()
mới cho phép ứng dụng của bạn xác định xem máy ảnh có đang theo dõi Hình ảnh tăng cường hay không (FullTracking
) hoặc đang theo dõi dựa trên vị trí đã biết gần đây nhất của hình ảnh đó (LastKnownPose
).
Tài liệu về Điểm liên kết trên đám mây hiện có nội dung giải thích chi tiết hơn về cách lưu trữ và phân giải điểm liên kết.
Tính năng mới trong SDK ARCore 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ề Điểm liên kết trên đám mây hiện có nội dung giải thích chi tiết hơn về cách lưu trữ và phân giải điểm liên kết.