Những thay đổi mới và đáng chú ý trong ARCore.
Có gì mới trong ARCore v1.45.0
API Chế độ Flash
ARCore hiện hỗ trợ bật chế độ đèn pin trên thiết bị, cho phép cải thiện khả năng nhận thức 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 vị flash trên thiết bị.- Xem Hướng dẫn dành cho nhà phát triển để biết thêm 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
: lựa chọn cấu hình để bật hoặc tắt đơn vị flash trên thiết bị.- Xem Hướng dẫn dành cho nhà phát triển để biết thêm chi tiết về cách phát hiện chức năng đèn flash và cách bật chế độ đèn pin.
Các tiện ích ARCore cho AR Foundation của Unity hỗ trợ AR Foundation 5
Tiện ích ARCore cho AR Foundation hiện chính thức hỗ trợ Nền tảng AR 5. Khi sử dụng AR Foundation 5 (phiên bản đã xác minh trên Unity các phiên bản 2022 và 2023), hãy sử dụng các phương thức cài đặt sau để có phiên bản tương thích của Tiện ích ARCore cho AR Foundation:
- Đến
Add package from git url...
: sử dụnghttps://github.com/google-ar/arcore-unity-extensions.git#arf5
, - Đến hết
Add package from tarball...
: sử dụng một bản phát hành được biểu thị bằngarf5
trên trang bản 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 chế độ cài đặt sau phương thức:
- Đến
Add package from git url...
: sử dụnghttps://github.com/google-ar/arcore-unity-extensions.git#arf4
, - Đến hết
Add package from tarball...
: sử dụng một bản phát hành được biểu thị bằngarf4
trên trang bản 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.
Biểu tượng tập lệnh tuỳ chỉnh
chẳng hạn như ARCORE_USE_ARF_5
trong nhóm hỗ trợ beta không còn được sử dụng nữa.
Có gì mới trong ARCore v1.44.0
Bản phát hành này không có tính năng mới.
Có gì mới trong ARCore v1.43.0
Places API trong quá trình di chuyển của nhà sáng tạo theo không gian địa lý
Tính năng Tìm kiếm của Nhà sáng tạo không gian địa lý nay 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 " Places API (Mới)" trong Google Cloud Console.
Có gì mới trong ARCore v1.42.0
Bám theo Thẻ thông tin trong Trình tạo không gian địa lý dành cho Unity
"Bám theo ô" đã thêm nút vào ARGeospatialCreatorAnchor
Bảng điều khiển Trình kiểm tra trình chỉnh sửa. Nút này đặt địa hình địa hình hoặc neo gắn trên sân thượng
Giá trị độ cao chỉ dành cho người chỉnh sửa đối với đỉnh của hình học Thẻ thông tin 3D tại nút neo
vĩ độ và kinh độ hiện tại. Xin lưu ý rằng thuộc tính này không ảnh hưởng đến
trong thời gian chạy. Điều này giúp điều chỉnh vị trí của quảng cáo cố định trong trình chỉnh sửa để
khớp với vị trí của nó trong thời gian chạy.
Có gì mới trong ARCore v1.41.0
API Trình tạo không gian địa lý
Trình tạo không gian địa lý cho Unity hiện đã hỗ trợ việc tạo và thao tác với các đối tượng của Nhà sáng tạo không gian địa lý ở chế độ Trình chỉnh sửa. Các lớp và API mới có sẵn được mô tả trong Hướng dẫn về API không gian địa lý dành cho nhà sáng tạo.
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 lần Để di chuyển một dự án hiện có sang AR Foundation, hãy xem hướng dẫn di chuyển.
Có gì 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 các Tiện ích ARCore dành cho AR Foundation của Unity nhắm đến nền tảng iOS. Scene Semantics API giú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 pixel thành 11 các lớp thành phần ngoài trời. Xem Giới thiệu về cảnh Ngữ nghĩa để biết thêm thông tin.
iOS
Unity (Nền tảng AR)
Tìm địa điểm yêu thích trong trình tạo không gian địa lý cho Unity
Trình tạo không gian địa lý cho Unity hiện hỗ trợ tìm kiếm bằng văn bản để định vị Chế độ xem Ô 3D chụp ảnh. Xem Tìm địa điểm yêu thích trong nhà sáng tạo không gian địa lý để biết thêm thông tin.
Có gì mới trong ARCore v1.39.0
Bản phát hành này không có tính năng mới.
Có gì mới trong ARCore v1.38.0
Bản phát hành này không có tính năng mới.
Có gì mới trong ARCore v1.37.0
Ngữ nghĩa cảnh
Ngữ nghĩa cảnh cung cấp thông tin chi tiết phong phú hơn về cảnh xung quanh, giúp người dùng dễ dàng hiểu được thế giới xung quanh hơn. Scene Semantics chạy mô hình ML trên nguồn cấp dữ liệu hình ảnh camera và cung cấp hình ảnh ngữ nghĩa với 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ủa cảnh và ứng dụng mẫusemantics_java để biết thêm thông tin.
Android (Kotlin/Java)
Android NDK (C)
Unity (Nền tảng AR)
iOS
Hãy xem bài viết Tính năng mới trong ARCore phiên bản 1.40.0.
Hình học phong cảnh đường phố
Streetscape Geometry là một API Không gian địa lý ARCore mới, cung cấp hình dạng của 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 hình học đường phố (Kotlin/Java). Ngoài ra, ứng dụng mẫu geospatial_java đã được cập nhật để bao gồm cả Streetscape Geometry.
Android NDK (C)
Xem Hướng dẫn dành cho nhà phát triển hình học đường phố (C) để biết thêm thông tin.
Unity (Nền tảng AR)
Xem Hướng dẫn dành cho nhà phát triển hình học đường phố (Unity) để biết thêm thông tin.
iOS
Xem Hướng dẫn dành cho nhà phát triển hình học đường phố (iOS) để biết thêm thông tin. Ngoài ra, ứng dụng GeospatialExample đã được cập nhật để đưa vào Streetscape Geometry.
GARStreetscapeGeometry
:GARStreetscapeGeometry.mesh
cung cấp lưới 3D.GARStreetscapeGeometry.meshTransform
cung cấp phép biến đổi điểm 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 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 điểm neo tại vị trí và hướng đã chỉ định.GARSession.raycastStreetscapeGeometry:direction:error:
thực hiện việc truyền tia đối với hình học cảnh quan đường phố được tải trong cảnh.
Neo mái nhà
Quảng cáo cố định trên sân thượng là một loại neo không gian địa lý mới giúp bạn cố định nội dung lên mái nhà.
Android (Kotlin/Java)
Hãy xem bài viết Neo không gian địa lý (Java). Ngoài ra, ứng dụng mẫu geospatial_java đã được cập nhật để bao gồm các neo Gắn trên Sân thượng.
Android NDK (C)
Xem Neo không gian địa lý (C) để biết thêm thông tin.
Unity (Nền tảng AR)
Xem Neo không gian địa lý để biết thêm thông tin. Ngoài ra, Mẫu Không gian địa lý cũng đã được cập nhật để bao gồm các neo Gắn trên mái.
ARAnchorManagerExtensions.ResolveAnchorOnRooftopAsync()
cung cấp điểm neo cho các đối tượng trò chơi trong cảnh của bạn tại vĩ độ, kinh độ, độ cao so với mái nhà và hướng đã chỉ định.ResolveAnchorOnRooftopPromise
ResolveAnchorOnRooftopResult
iOS
Xem Neo 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 để bao gồm các điểm neo Gắn 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í đã chỉ định, độ cao so với mái nhà tính theo 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 quá trình phân giải neo trên Sân thượng.GARRooftopAnchorState
mô tả trạng thái phân giải quảng cáo cố định cuối màn hình trên Sân thượng.
Độ sâu không gian địa lý
Khi bật cả chế độ depth API (API Độ sâu) và Streetscape Geometry (Hình học của cảnh quan đường phố) trong phiên ARCore ở những khu vực có vùng phủ sóng của VPS, hình ảnh chiều sâu đã tạo sẽ được cải thiện bằng cách sử dụng Streetscape Geometry. Streetscape Geometry được tích hợp vào mỗi hình ảnh chiều sâu được tạo ra với phạm vi 65,535 mét. Bạn không cần thay đổi gì khi gọi depth API để thấy lợi ích này.
Android (Kotlin/Java)
Hãy xem bài viết Độ sâu không gian địa lý (Java) để biết thêm thông tin.
Android NDK (C)
Hãy xem bài viết Độ sâu không gian địa lý (C) để biết thêm thông tin.
Unity (Nền tảng AR)
Hãy xem bài viết Độ sâu không gian địa lý (C) để biết thêm thông tin.
iOS
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 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 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 (Nền tảng AR)
Tính năng kết xuất Vulkan hiện không dùng được cho Unity bằng cách sử dụng AR Foundation.
Chống rung 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ử. Tính năng này giúp làm mượt khung hình máy ảnh nhằm mang lại trải nghiệm người dùng linh hoạt hơn.
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 sự cố đã biết là thao tác gọi
Frame.transformCoordinates3d()
bằng toạ độ 2D không phả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 sau.
Android NDK (C)
ArImageStabilizationMode
ArFrame_transformCoordinates3d()
ArSession_isImageStabilizationModeSupported()
- Có một sự cố đã biết là việc gọi
ArFrame_transformCoordinates3d()
bằng toạ độ 2D khácAR_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 sau.
Unity (Nền tảng AR)
EIS hiện không dùng được cho Unity khi sử dụng AR Foundation.
iOS
EIS hiện không có sẵn cho 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 tiện dụng khi làm việc với các hoạt động không đồng bộ, tuân theo mô hình Tương lai và Lời hứa.
Android (Kotlin/Java)
- Giải quyết neo Địa hình: Sử dụng
Earth.resolveAnchorOnTerrainAsync()
để nhậnResolveAnchorOnTerrainFuture
. Biểu tượng cũEarth.resolveAnchorOnTerrain()
không còn được dùng nữa và có thể bị xoá trong phiên bản ARCore mới hơn. - Giải quyết neo trên đám mây: Sử dụng
Session.resolveCloudAnchorAsync()
để lấyResolveCloudAnchorFuture
. Biểu tượng cũSession.resolveCloudAnchor()
không còn được dùng nữa và có thể bị xoá trong phiên bản ARCore mới hơn. - 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 mới hơn. - Kiểm tra khả năng cung cấp tệp APK: Sử dụng
ArCoreApk.checkAvailabilityAsync()
để đăng ký lệnh gọi lại. Biểu tượng cũArCoreApk.checkAvailability()
không bị ngừng sử 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()
không còn được dùng nữa và có thể bị xoá trong phiên bản ARCore mới hơn. - Giải quyết neo trên đám mây: Dùng
ArSession_resolveCloudAnchorAsync()
để lấyArResolveCloudAnchorFuture
hoặc sử dụngArResolveCloudAnchorCallback
. Biểu tượng cũArSession_resolveAndAcquireNewCloudAnchor()
không còn được dùng nữa và có thể bị xoá trong phiên bản ARCore mới hơn. - 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 mới hơn. - Kiểm tra khả năng cung cấp tệp APK: Sử dụng
ArCoreApk_checkAvailabilityAsync()
để đăng ký lệnh gọi lại. Biểu tượng cũArCoreApk_checkAvailability()
không bị ngừng sử dụng.
Unity (Nền tảng AR)
- Giải quyết neo Địa hình: Sử dụng
ARAnchorManagerExtensions.ResolveAnchorOnTerrainAsync()
để nhậnResolveAnchorOnTerrainPromise
. Biểu tượng cũARAnchorManagerExtensions.ResolveAnchorOnTerrain()
không còn được dùng nữa và có thể bị xoá trong phiên bản ARCore mới hơn. - Giải quyết neo trên đám mây: Sử dụng
ARAnchorManagerExtensions.ResolveCloudAnchorAsync()
để lấyResolveCloudAnchorPromise
. Biểu tượng cũARAnchorManagerExtensions.ResolveCloudAnchorId()
không còn được dùng nữa và có thể bị xoá trong phiên bản ARCore mới hơn. - 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òn được dùng nữa và có thể bị xoá trong phiên bản ARCore mới hơn.
iOS
- Giải quyết neo Địa hình: Sử dụng
GARSession.createAnchorWithCoordinate:altitudeAboveTerrain:eastUpSouthQAnchor:completionHandler:error:
để nhậnGARCreateAnchorOnTerrainFuture
. Biểu tượng cũGARSession.createAnchorWithCoordinate:altitudeAboveTerrain:eastUpSouthQAnchor:error:
không còn được dùng nữa và có thể bị xoá trong phiên bản ARCore mới hơn. - 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:
không còn được dùng nữa và có thể bị xoá trong phiên bản ARCore mới hơn. - 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 mới hơn.
Có gì mới trong ARCore v1.36.0
Hỗ trợ Trình quản lý gói Swift trên iOS
SDK ARCore dành cho iOS hiện chính thức hỗ trợ Trình quản lý gói Swift. Xem bài viết Bật tính năng thực tế tăng cường trong ứng dụng iOS của bạn để 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.
Có gì mới trong ARCore v1.35.0
Độ chính xác của tư thế không gian địa lý thay thế tiêu đề bằng độ nghiêng ngả
Tất cả tư thế Không gian địa lý hiện đều hiển thị độ chính xác về hướng của chúng khi xoay yaw, thay thế độ chính xác của tiêu đề.
- 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
.
Thông tin cập nhật và thay đổi khác
Xem ghi chú phát hành để biết các thay đổi, bản sửa lỗi và điểm cải tiến hiệu suất khác:
- Ghi chú phát hành về SDK ARCore dành cho Android
- Ghi chú phát hành của ARCore cho Android NDK
- Ghi chú phát hành về SDK ARCore dành cho iOS
- Ghi chú phát hành về Tiện ích ARCore cho AR Foundation
Có gì mới trong ARCore v1.34.0
Kiểm tra xem vị trí hiện tại của thiết bị có các chức năng không gian địa lý hay không
API Không gian địa lý hiện có thể kiểm tra khả năng sử dụng của Hệ thống định vị trực quan (VPS) tại 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 một phiên thực tế tăng cường đang hoạt động, ví dụ: để trình bày một phiên "Chuyển sang môi trường thực tế tăng cường" chỉ khi có sẵn dịch vụ ảo VPN.
- Java/Kotlin:
Session.checkVpsAvailabilityAsync()
- C:
ArSession_checkVpsAvailabilityAsync()
- iOS:
GARSession.checkVPSAvailabilityAtCoordinate:completionHandler:
- Unity (Nền tảng AR):
AREarthManager.CheckVpsAvailability()
Hướng tạo dáng theo 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ế trong không gian thế giới (AR).
Cách tạo 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 tạo 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)
Tư thế không gian địa lý thu được từ các hàm này có giá trị tiêu đề được đặt thành 0. Thay vào đó, hãy sử dụng:
- Android (Java/Kotlin/C): Bộ tứ EUS của tư thế
- iOS:
eastUpSouthQTarget
của tư thế - Unity:
EunRotation
của tư thế
Thông tin cập nhật và thay đổi khác
Xem ghi chú phát hành để biết các thay đổi, bản sửa lỗi và điểm cải tiến hiệu suất khác:
- Ghi chú phát hành về SDK ARCore dành cho Android
- Ghi chú phát hành của ARCore cho Android NDK
- Ghi chú phát hành về SDK ARCore dành cho iOS
- Ghi chú phát hành về Tiện ích ARCore cho AR Foundation
Có gì mới trong ARCore v1.33.0
Điểm cuối mới trên Cloud Anchors
- Để sử dụng Cloud Anchors, 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 chế độ này trong khi chuyển đổi. Các ứng dụng được xây dựng bằng SDK ARCore 1.32.0 trở xuống sẽ nhắm mục tiêu API cũ, trong khi các ứng dụng được xây dựng bằng SDK ARCore 1.33.0 trở lên sẽ nhắm mục tiêu 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 ARCore Cloud Anchor Management API từ phần phụ trợ, thì 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ợ đến hết tháng 8 năm 2023.
- Hãy xem bài viết Thay đổi về điểm cuối ARCore 1.33 Cloud Anchor để 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 neo tại một vị trí nằm ngang và cao độ được chỉ định so với địa hình của vị trí ngang.
Thông tin cập nhật và thay đổi khác
Xem ghi chú phát hành để biết các thay đổi, bản sửa lỗi và điểm cải tiến hiệu suất khác:
- Ghi chú phát hành về SDK ARCore dành cho Android
- Ghi chú phát hành của ARCore cho Android NDK
- Ghi chú phát hành về SDK ARCore dành cho iOS
- Ghi chú phát hành về Tiện ích ARCore cho AR Foundation
Có gì mới trong ARCore v1.32.0
Bản phát hành này không có tính năng mới.
Android và Unity (AR Foundation) dành cho Android
targetSdkVersion
của ARCore đã được cập nhật lên API Android cấp 32. Nếu ứng dụng của bạn không chỉ địnhtargetSdkVersion
,targetSdkVersion
của ứng dụng sẽ trở thành 32 do hợp nhất các 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: Chỉ định Target API Level (Cấp độ API mục tiêu) trong phần Project Settings > (Cài đặt dự án) của dự án Unity Trình phát > Android > Các chế độ cài đặt khác sẽ ghi đè giá trị
targetSdkVersion
của ARCore.
- SDK Android: Việc chỉ định
Thông tin cập nhật và thay đổi khác
Xem ghi chú phát hành để biết các thay đổi, bản sửa lỗi và điểm cải tiến hiệu suất khác:
- Ghi chú phát hành về SDK ARCore dành cho Android
- Ghi chú phát hành của ARCore cho Android NDK
- Ghi chú phát hành về SDK ARCore dành cho iOS
- Ghi chú phát hành về Tiện ích ARCore cho AR Foundation
Có gì mới trong ARCore v1.31.0
API Không gian địa lý ARCore
API Không gian địa lý ARCore mới sử dụng dữ liệu từ mô hình 3D của Google Earth và Dữ liệu hình ảnh Chế độ xem phố từ Google Maps để giúp ứng dụng của bạn trở nên sống động, trải nghiệm thực tế tăng cường dựa trên vị trí và quy mô toàn cầu.
Xem Giới thiệu về API không gian địa lý ARCore để tài liệu dành cho nhà phát triển theo từng nền tảng và để bắt đầu với API không gian địa lý.
Độ sâu tầm xa
API Độ sâu ARCore hiện được tối ưu hoá để bao gồm cả cảm biến độ sâu tầm xa, tăng phạm vi quan sát chiều sâu có thể biểu thị. Tất cả 16 bit của hình ảnh chiều sâu được sử dụng, cung cấp phạm vi tối đa là 65535 milimet. Trước đây chỉ có 13 bit được điền, với giới hạn là 8191 milimet.
Xem bài viết Thay đổi về chiều sâu để tài liệu dành cho nhà phát triển theo từng nền tảng cụ thể và để hiểu được những thay đổi đối với depth API (API chiều sâu).
Ghi chú dành riêng cho nền tảng
Android
API không gian địa lý ARCore mới
Java
Earth
cung cấp khả năng nội địa hoá trong toạ độ tương đối với Trái đất.Earth.createAnchor()
sẽ 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ả vị trí, độ cao và hướng la bàn cụ thể tương ứng với Earth.
C
ArEarth
cung cấp khả năng bản địa hoá trong toạ độ tương đối với Earth.ArEarth_acquireNewAnchor()
sẽ 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ả vị trí, độ cao và hướng la bàn cụ thể tương ứng với Earth.
API ARCore depth mới cập nhật
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
. - Chiều sâu vẫn được biểu diễn dưới dạng số nguyên 16 bit theo đơn vị milimet, nhưng giờ đây tất cả 16 bit đều được sử dụng để thể hiện chiều sâu, cho phép cho phạm vi tối đa có thể biểu thị được từ 8191mm đến 65535mm.
- Hàm depth API gọi
Frame.acquireDepthImage
vàFrame.acquireRawDepthImage
không được dùng nữa. Vui lòng sử dụngFrame.acquireDepthImage16Bits
vàFrame.acquireRawDepthImage16Bits
thay thế.
- 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
. - Chiều sâu vẫn được biểu diễn dưới dạng số nguyên 16 bit theo đơn vị milimet, nhưng giờ đây tất cả 16 bit đều được sử dụng để thể hiện chiều sâu, cho phép cho phạm vi tối đa có thể biểu thị được từ 8191mm đến 65535mm.
- Hàm depth API gọi
ArFrame_acquireDepthImage
vàArFrame_acquireRawDepthImage
không được dùng nữa. Vui lòng sử dụngArFrame_acquireDepthImage16Bits
và HãyArFrame_acquireRawDepthImage16Bits
.
- Các lệnh gọi hàm depth API đã thay đổi:
Unity (Nền tảng AR)
Các API không gian địa lý mới của ARCore:
AREarthManager
cung cấp khả năng bản địa hoá trong toạ độ tương đối với Earth.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ả vị trí, độ cao và hướng la bàn cụ thể so với Trái đất.ARGeospatialAnchor
cung cấp đ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
Các API không gian địa lý mới của ARCore:
GAREarth
Cung cấp bản địa hoá tương đối so với Earth.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, bắt buộc đối với dữ liệu không gian địa lý.
GARGeospatialTransform
Một hình ảnh đại diện cho sự biến đổi trên toàn cầu bao gồm vị trí, hướng đi, độ cao, và độ chính xác ước tính.GARSession.createAnchorWithCoordinate:altitude:eastUpSouthQAnchor:error:
Tạo một điểm neo không gian địa lý tại vị trí và hướng được 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, bản sửa lỗi và điểm cải tiến hiệu suất khác:
- Ghi chú phát hành về SDK ARCore dành cho Android
- Ghi chú phát hành của ARCore cho Android NDK
- Ghi chú phát hành về SDK ARCore dành cho iOS
- Ghi chú phát hành về Tiện ích ARCore cho AR Foundation
Có gì 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
- Giá trị trả về của API có chú thích bằng
@NonNull
và@Nullable
. - Cập nhật các phiên bản công cụ xây dựng dùng để xây dựng 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 cần phải nâng cấp các công cụ này cho các ứng dụng ARCore hiện có. Đối với các tính năng mới, vấn đề đã biết, thông tin không tương thích, xem Tài liệu Android trên trình bổ trợ Android cho Gradle.
Unity (Nền tảng AR)
Thêm bản phát hành
arcore-unity-extensions-without-edm4u.tgz
mới. Biến thể bản phát hành này không nhó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 dành 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 sử dụng Firebase thư viện. 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, xem thông tin chi tiết trong Nhật ký thay đổi củaEDM.
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 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 tiến về hiệu suất.
Có gì 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ỳ quảng cáo cố định nào cũng sẽ có trạng thái
CloudAnchorState ERROR_NOT_AUTHORIZED
ngay cả khi dự án đã được thiết lập đúng cách.
Unity (Nền tảng AR)
- 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ừ phần Cài đặt dự án > XR > Tiện ích ARCore sang phần Cài đặt dự án > Quản lý trình cắm XR > Tiện ích ARCore.
ARCoreExtensionsConfig
,ARCoreExtensionsCameraConfigFilter
,ARCoreRecordingConfig
đã được di chuyển từ Tạo > XR > Tiện ích ARCore để Tạo > Trình đơn chọn nút XR.
iOS
- Nhiều bản sửa lỗi và điểm cải tiến về hiệu suất.
Ghi chú phát hành hoàn chỉnh
- Ghi chú phát hành đầy đủ về SDK ARCore dành cho Android
- Ghi chú phát hành hoàn chỉnh của ARCore cho Android NDK
- Ghi chú phát hành hoàn chỉnh về SDK ARCore dành cho iOS
- Ghi chú phát hành về Tiện ích ARCore cho AR Foundation
Có gì mới trong ARCore v1.28.0
- Kể từ tháng 11 năm 2022, các ứng dụng có bật tính năng thực tế tăng cường sẽ không thể lấy hình ảnh hoặc siêu dữ liệu hình ảnh NDK nữa. Các phiên bản SDK bị ảnh hưởng phụ thuộc vào chức năng cụ thể đượ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
. Các phiên bản 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 dành 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ề hình chữ nhật cắt có kích thước đầy đủ, tức là tất cả pixel trong Image đều hợp lệ. Hãy xemandroid.media.Image#getCropRect()
để biết thêm thông tin.
Có gì 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 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ề SDK ARCore dành cho Android
- Ghi chú phát hành hoàn chỉnh của ARCore cho Android NDK
- Ghi chú phát hành hoàn chỉnh về SDK ARCore dành cho iOS
- Ghi chú phát hành về Tiện ích ARCore cho AR Foundation
Ngoài các bản sửa lỗi khác nhau, bản phát hành này còn bao gồm các nội dung sau đây.
Ứ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.
Xem cạnh tranh về Android } để biết thêm thông tin của bạn.
Thêm ml_kotlin để minh hoạ cách sử dụng mô hình phân loại hình ảnh với ARCore.
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.
Có gì mới trong ARCore v1.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.
Thông tin cập nhật và thay đổi khác
Hãy xem các ghi chú phát hành sau đây để biết thêm các bản sửa lỗi và thay đổi có thể gây lỗi khác.
- Ghi chú phát hành đầy đủ về SDK ARCore dành cho Android
- Ghi chú phát hành hoàn chỉnh của ARCore cho Android NDK
- Ghi chú phát hành hoàn chỉnh về SDK ARCore dành cho iOS
- Ghi chú phát hành về Tiện ích ARCore cho AR Foundation
Có gì mới trong ARCore v1.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 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ề SDK ARCore dành cho Android
- Ghi chú phát hành hoàn chỉnh của ARCore cho Android NDK
- Ghi chú phát hành hoàn chỉnh về SDK ARCore dành cho iOS
- Ghi chú phát hành hoàn chỉnh về SDK ARCore dành cho Unity
- Ghi chú phát hành về Tiện ích ARCore cho AR Foundation
Có gì mới trong ARCore v1.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 chiều sâu mà không cần lọc không gian hình ảnh
- Khả năng ghi lại bản nhạc theo dõi dữ liệu tuỳ chỉnh vào thẻ Bản ghi và API Playback
- Khả năng tiến hành kiểm thử lần truy cập chuyên sâu
Độ sâu thô
API Chiều sâu thô cung cấp dữ liệu về độ sâu cho hình ảnh camera có hơn so với dữ liệu API độ sâu đầy đủ, nhưng không phải lúc nào cũng bao gồm mọi điểm ảnh. Thô hình ảnh chiều sâu, cùng với hình ảnh tự tin phù hợp, cũng có thể đã xử lý, cho phép các ứng dụng chỉ sử dụng dữ liệu chiều sâu có đủ độ chính xác cho trường hợp sử dụng cá nhân của họ.
Hướng dẫn cho nhà phát triển:
Ghi tuyến đường tùy chỉnh
Khả năng theo dõi dữ liệu tuỳ chỉnh mới trong phần Ghi âm và Playback API cho phép bạn để thêm dữ liệu tùy chỉnh vào một khung ARCore trong quá trình ghi và truy xuất dữ liệu đó khỏi khung hình trong khi phát.
Hướng dẫn cho nhà phát triển:
Kiểm tra nhấn chi tiết
Trước đây, các cuộc thử nghiệm va chạm chỉ có thể được tiến hành trên các máy bay đã phát hiện, do đó hạn chế lên các bề mặt lớn và phẳng. Kiểm thử truy cập chiều sâu tận dụng cả độ mượt và thông tin chuyên sâu thô để cung cấp kết quả lượt truy cập chính xác hơn, ngay cả trên bề mặt không phẳng và có ít kết cấu.
Hướng dẫn cho nhà phát triển:
Thông tin cập nhật và thay đổi khác
Hãy xem các ghi chú phát hành sau đây để biết thêm các bản sửa lỗi và thay đổi có thể gây lỗi khác.
- Ghi chú phát hành đầy đủ về SDK ARCore dành cho Android
- Ghi chú phát hành hoàn chỉnh của ARCore cho Android NDK
- Ghi chú phát hành hoàn chỉnh về SDK ARCore dành cho iOS
- Ghi chú phát hành hoàn chỉnh về SDK ARCore dành cho Unity
- Ghi chú phát hành về Tiện ích ARCore cho AR Foundation
Có gì mới trong ARCore v1.23.0
Đang chờ hỗ trợ máy ảnh kép
Tính năng hỗ trợ camera kép sẽ ra mắt trong những tuần tới. Xem 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 một ý định truyền tin, nhà phát triển có thể cho phép:
Ghi nhật ký lệnh gọi API ARCore vào Nhật ký gỡ lỗi của Android
Lớp phủ hiệu suất ARCore
Lưu trữ và giải quyết Cloud Anchor
Các ứng dụng hỗ trợ AR được xây dựng bằng SDK ARCore 1.11.0 trở xuống sẽ không thể lưu trữ hoặc phân giải Cloud Anchors.
C: Cloud Anchors được trả về bởi
ArSession_hostAndAcquireNewCloudAnchor
vàArSession_resolveAndAcquireNewCloudAnchor
sẽ luôn có trạng tháiAR_CLOUD_ANCHOR_STATE_ERROR_INTERNAL
.Java: Cloud Anchors được trả về bởi
Session.hostCloudAnchor(Anchor)
vàSession.resolveCloudAnchor(String)
sẽ luôn có trạng tháiAnchor.CloudAnchorState.ERROR_INTERNAL
.Unity: Cloud Anchors được trả về bởi
XPSession.CreateCloudAnchor(Anchor)
vàXPSession.ResolveCloudAnchor(string)
sẽ luôn có trạng tháiCloudServiceResponse.ErrorInternal
.
Các ứng dụng được xây dựng bằng SDK ARCore 1.12.0 trở lên sẽ không bị ảnh hưởng. việc sử dụng ARCore Cloud Anchor API được đề cập trong chính sách ngừng sử dụng.
Thông tin cập nhật và thay đổi khác
Hãy xem các ghi chú phát hành sau đây để biết các bản sửa lỗi bổ sung và lỗi gây lỗi khác thay đổi.
Có gì mới trong ARCore v1.22.0
Bản phát hành này bổ sung tính năng mới API Ghi và Phát lại và API Bộ lọc cấu hình máy ảnh cho ARCore Tiện ích cho AR Foundation. Hãy xem ghi chú phát hành hoàn chỉnh về Tiện ích ARCore để biết thông tin chi tiết.
Thông tin cập nhật và thay đổi khác
Hãy xem các ghi chú phát hành sau đây để biết các bản sửa lỗi bổ sung và lỗi gây lỗi khác thay đổi.
Có gì mới trong ARCore v1.21.0
Bản phát hành này bổ sung các API Ghi và Phát mới cho Android, Android NDK, và Unity.
Ghi và phát
Với các API Ghi và Phát, bạn có thể quay 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 và sử dụng nội dung đó để thay thế một phiên camera trực tiếp cho mục đích thử nghiệm. ARCore lưu các phiên đã ghi vào tệp MP4 có 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ỉ cho ứng dụng của bạn dùng dữ liệu này thay vì một phiên camera trực tiếp. Điều này cho phép bạn phát lại nội dung đó vô thời hạn để thử nhiều hiệu ứng thực tế tăng cường mà không cần phải quay lại trường.
Để biết thêm chi tiết:
Java:
C:
Unity:
Có gì mới trong ARCore v1.20.0
Bản phát hành này bổ sung các thay đổi đáng chú ý sau:
Hỗ trợ mới cho Cloud Anchors bền vững.
Cập nhật các chức năng về 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ợ Tiện ích mở rộng ARCore cho AR Foundation hoặc ARCore SDK dành cho Unity (1.19 trở lên) với Unity 2018.4 trở lên.
Hỗ trợ mới cho Cloud Neo cố định
Trước ARCore phiên bản 1.20, Cloud Anchors chỉ có thể được phân giải trong tối đa 24 giờ sau khi chúng được lưu trữ lần đầu. Nhờ Cloud Anchors bền bỉ, giờ đây bạn có thể tạo một 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 quảng cáo cố định sau khi đã được lưu trữ bằng Cloud Anchor Management API.
Việc sử dụng Cloud Anchors ổn định thuộc phạm vi điều chỉnh của Chính sách mới về việc ngừng sử dụng 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:
.Tiện ích ARCore cho AR Foundation: Hướng dẫn dành cho nhà phát triển Android, Hướng dẫn cho nhà phát triển iOS,
ARAnchorManager.HostCloudAnchor(ARAnchor, int)
,ARAnchorManager.SetAuthToken(string)
, vàARAnchorManager.EstimateFeatureMapQualityForHosting(Pose)
.Nhắm mục tiêu Unity đến Android: Hướng dẫn cho nhà phát triển,
XPSession.CreateCloudAnchor(Anchor, int)
vàXPSession.EstimateFeatureMapQualityForHosting(Pose)
.Nhắm mục tiêu Unity iOS: Hướng dẫn cho nhà phát triển,
XPSession.SetAuthToken(string)
vàXPSession.CreateCloudAnchor(UnityARUserAnchorComponent, int)
.
Thông tin cập nhật và thay đổi khác
Hãy xem các ghi chú phát hành sau đây để biết các bản sửa lỗi bổ sung và lỗi gây lỗi khác thay đổi.
Có gì 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 dành cho Android, Android NDK và Unity.
- Hướng dẫn mới về cách xây dựng cho Android 11 với Unity.
Vị trí tức thì
API Vị trí tức thì cho phép người dùng đặt đối tượng AR trên màn hình mà không phải đợi ARCore phát hiện hình học bề mặt. Vị trí đố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. Một lần ARCore phát hiện tư thế chính xác trong khu vực đặt đối tượng AR, đối tượng màu trắng tự động cập nhật cho chính xác tạo dáng và trở nên mờ đục.
Đoạn video sau đây cho thấy một nhân vật Android ảo trên thế giới thực bảng. Hình này có màu trắng và nhỏ hơn nhiều khi đặt lần đầu. Sau ARCore tinh chỉnh phép tính kích thước cảnh, hình này chuyển sang kích thước vị trí chính xác. Điều này có thể dẫn đến sự khác biệt về "kích thước" được cảm nhận trong số đối tượng.
Để biết thêm chi tiết:
Android:
Android NDK:
Unity:
Có gì 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 dành cho Android, Android NDK, và Unity.
- Hướng dẫn mới để tạo các thành phần Khuôn mặt tăng cường rồi nhập chúng vào Android Studio.
- depth API sẽ được hỗ trợ trong
4.1.0-preview.2
cho cả haiAR Foundation
vàARCore XR Plugin
.
API chiều sâu
Trên các thiết bị hỗ trợ tính năng theo chiều sâu, depth API sẽ sử dụng máy ảnh RGB của thiết bị hỗ trợ ARCore hoặc cảm biến độ sâu hoạt động nếu để tạo bản đồ độ sâu. Sau đó, bạn có thể sử dụng độ sâu trên mỗi pixel được cung cấp bằng bản đồ độ sâu để làm cho các vật thể ảo xuất hiện chính xác ở phía trước hoặc phía sau đối tượng trong thế giới thực, mang lại trải nghiệm người dùng sống động và thực tế.
Ví dụ: các hình ảnh sau đây cho thấy một hình Android ảo trong không gian thực có một thân cây bên cạnh cửa ra vào. depth API che khuất đúng cách hình người ở phía sau cạnh thân cây.
Để biết thêm chi tiết:
Android:
Android NDK:
Unity:
Có gì mới trong ARCore v1.17.0
Đáng chú ý trong SDK ARCore dành 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ộ nhớ đệm. Cùng với các kỹ thuật khác như kết xuất đa luồng, sự thay đổi về tốc độ khung hình.
Thêm trường hợp sử dụng cảm biến độ sâu bị thiếu và phương thức getter khung hình/giây mục tiêu:
Hãy xem thêm Ghi chú phát hành đầy đủ về SDK Android dành cho Android.
Đáng chú ý trong SDK ARCore dành cho Unity
- Bổ sung tính năng hỗ trợ kết xuất đa luồng trong Unity phiên bản 2018.2 trở lên, tính năng này trong hầu hết các trường hợp sẽ cải thiện hiệu suất và có thể giúp giảm sự biến đổi về tốc độ khung hình. Đây là một dự án Unity trong phần Cài đặt dự án > Trình phát > Android > Chế độ cài đặt khác > 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 phiên ARCore cụ thể.
Hãy xem thêm ghi chú phát hành hoàn chỉnh về SDK ARCore dành cho Unity.
Đáng chú ý trong SDK ARCore dành cho iOS
Kích thước tệp nhị phân của Cloud Anchors đã giảm đáng kể.
Bitcode hiện đã được hỗ trợ cho Khuôn mặt tăng cường.
Hãy xem thêm Ghi chú phát hành hoàn chỉnh của SDK ARCore dành cho iOS.
Có gì mới trong ARCore v1.16.0
Đáng chú ý trong ARCore SDK cho Android và Sceneform SDK cho Android
Bản phát hành này bổ sung các thay đổi đáng chú ý sau:
- Hầu hết thiết bị hiện trả về cấu hình máy ảnh bổ sung được hỗ trợ có cấu hình máy ảnh thấp hơn
Độ phân giải hoạ tiết của GPU so với độ phân giải hoạ tiết GPU mặc định của thiết bị.
Xem Thiết bị hỗ trợ ARCore để biết chi tiết.
Các độ phân giải GPU mở rộng này được cung cấp thông qua API
getSupportedCameraConfigs(CameraConfigFilter)
.
Xem thêm:
Đáng chú ý trong bài viết Các 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 camera phù hợp dựa trên tiêu chí mà bạn muốn. Các phương pháp này bao gồm GetTextureDimensions(), GetFPSRange(), và GetDepthSensorUsages(). Đọ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 phiên bản Unity 2019.3 trở lên.
Unity hiện sử dụng các thuật ngữ Anchor, Cloud Anchor và Cloud Anchor ID trong API AR đa nền tảng của họ. Tài liệu về Tiện ích ARCore đã được cập nhật để phản ánh điều này.
Xem thêm:
Đáng chú ý trong SDK ARCore dành cho Unity
Bản phát hành này bổ sung thay đổi đáng chú ý sau:
- Hầu hết thiết bị hiện trả về cấu hình máy ảnh bổ sung được hỗ trợ có cấu hình máy ảnh thấp hơn Độ phân giải hoạ tiết của GPU so với độ phân giải hoạ tiết GPU mặc định của thiết bị. (Xem các thiết bị được hỗ trợ ARCore để biết chi tiết.) Những độ phân giải GPU mở rộng này được cung cấp thông qua API ARCoreCameraConfigFilter.
Xem thêm:
Ghi chú phát hành hoàn chỉnh về SDK ARCore dành cho Unity
Có gì mới trong ARCore v1.15.0
Đáng chú ý trong bài viết Các tiện ích ARCore cho AR Foundation
Bản phát hành này bổ sung một số thay đổi đáng chú ý sau đây.
Thêm mẫu CloudAnchors để minh hoạ 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 ARCore Tiện ích.
Ghi chú phát hành hoàn chỉnh về Tiện ích ARCore
Đáng chú ý trong SDK ARCore dành cho Unity
Bản phát hành này gặp 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 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 khung hiển thị trò chơi của Unity có độ phân giải quá cao. Để khắc phục vấn đề này, hãy giảm độ phân giải khung hiển thị trò chơi của Unity trong Người chỉnh sửa.
Ghi chú phát hành hoàn chỉnh về SDK ARCore dành 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 các bản sửa lỗi bổ sung và lỗi gây lỗi khác thay đổi.
Có gì mới trong ARCore v1.14.0
Bản phát hành này bổ sung một số thay đổi đáng chú ý sau đây.
Khi một ứng dụng tạm thời mất camera trước một ứng dụng khác trên thiết bị, lý do không theo dõi được giờ đây 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ụ API của Google. Bạn có thể chọn không tham gia.
Có gì mới trong ARCore v1.13.0
Bản phát hành này bổ sung một số thay đổi đáng chú ý sau đây.
Hỗ trợ sử dụng Tiện ích ARCore cho AR Foundation của Unity để tạo iOS bằng Cloud Anchors.
Hãy xem các ghi chú phát hành sau đây để biết các bản sửa lỗi bổ sung và lỗi gây lỗi khác thay đổi.
Có gì mới trong ARCore v1.12.0
Bản phát hành này bổ sung các thay đổi sau:
Bổ sung tính năng Khuôn mặt tăng cường (AR) trên iOS. Để biết thêm thông tin, hãy xem tổng quan, bắt đầu nhanh này, và hướng dẫn cho nhà phát triển.
Hỗ trợ sử dụng Tiện ích ARCore cho AR Foundation của Unity để tạo Android bằng Cloud Anchors.
Các thay đổi sau đây đối với Cloud Anchors:
- Để tuân thủ các yêu cầu mới cập nhật của chúng tôi về quyền riêng tư khi sử dụng SDK ARCore 1.12 hoặc sau đó, bạn phải công bố việc sử dụng Cloud Anchors một cách nổi bật trong bằng cách bao gồm văn bản sau, 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ể làm điều này bằng cách triển khai quy trình thông báo đề xuất cho người dùng có trong các ứng dụng mẫu Cloud Anchor của chúng tôi.
Để biết thêm thông tin, hãy tham khảo 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:
Có gì 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 Thực tế tăng cường. Trên các thiết bị Google Play, giờ đây, ứng dụng này đã được phân phối như một phần của Dịch vụ Google Play.
Cấu hình máy ảnh của ARCore nhắm mục tiêu 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 độ sâu. Bạn có thể sử dụng các bộ lọc cấu hình máy ảnh mới để giới hạn tốc độ khung hình chụp 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 lựa chọn.
Để biết thêm thông tin chi tiết về cấu hình của camera:
Android:
Android NDK:
Unity:
Có gì mới trong ARCore v1.10.0
Bản phát hành này bổ sung tính năng ước tính ánh sáng môi trường HDR mới cho API ước tính chiếu sáng dành 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 camera đầu vào và ước tính ánh sáng môi trường. Bạn có thể dùng dữ liệu ước tính về độ 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à bóng phản chiếu trên môi trường ảo . Kết quả là nội dung ảo mang lại cảm giác thực tế hơn.
Để biết thêm chi tiết:
Android:
Android NDK:
Unity:
Có gì mới trong ARCore v1.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 đây:
SceneView là một trình xem sống động, cho phép trải nghiệm thực tế tăng cường từ trang web của bạn. API 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 mình.
Sau đây là 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: quảng cáo trên một chiếc xe buýt đi ngang qua hoặc một quảng cáo 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 xung quanh.
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 chế độ xem camera.
Sử dụng
AugmentedImage#getTrackingMethod()
(Java) hoặcArAugmentedImage_getTrackingMethod()
(NDK) để xác định xem Hình ảnh tăng cường hiện đang được camera (FULL_TRACKING
) theo dõi hoặc đang được theo dõi dựa trên vị trí đã biết gần đây nhất của mã đó (LAST_KNOWN_POSE
).
Tài liệu về Cloud Anchors hiện đã có phần giải thích chi tiết hơn về cách quảng cáo cố định được lưu trữ và giải quyết.
Tính năng mới trong ARCore SDK dành cho Unity
Sau đây là 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 đi ngang qua hoặc một quảng cáo hình ảnh trên một vật phẳng do người dùng giữ khi họ di chuyển vật thể xung quanh.
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 chế độ xem camera.
AugmentedImage.GetTrackingMethod()
mới API cho phép ứng dụng của bạn xác định xem Hình ảnh tăng cường hiện đang được camera (FullTracking
) theo dõi hoặc đang được theo dõi dựa trên vị trí đã biết gần đây nhất (LastKnownPose
).
Tài liệu về Cloud Anchors hiện đã có phần giải thích chi tiết hơn về cách quảng cáo cố định được lưu trữ và giải quyết.
Tính năng mới trong ARCore SDK dành cho iOS
Hỗ trợ cho các thiết bị sau:
iPad Mini thế hệ thứ năm
iPad Air thế hệ thứ ba
Tài liệu về Cloud Anchors hiện đã có phần giải thích chi tiết hơn về cách quảng cáo cố định được lưu trữ và giải quyết.