Những thay đổi mới và đáng chú ý trong ARCore.
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 "Locations 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
Nút "Snap to Tile" (Gắn vào Thẻ thông tin) đã được thêm vào bảng điều khiển Trình kiểm tra trình chỉnh sửa ARGeospatialCreatorAnchor
. Nút này sẽ đặt giá trị độ cao chỉ dành cho Người chỉnh sửa đị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 điểm neo. Lưu ý rằng thuộc tính này không ảnh hưởng đến hành vi này trong thời gian chạy. Việc này giúp điều chỉnh vị trí của neo trong trình chỉnh sửa cho phù hợp với vị trí của neo 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)
Các tiện ích ARCore cho AR Foundation của Unity hiện hỗ trợ AR Foundation phiên bản 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.
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 cho phép nhà phát triển hiểu 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 bên ngoài. Hãy xem phần Giới thiệu về ngữ nghĩa của cảnh để 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ý dành 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 hình ảnh 3D. Hãy xem phần Tìm kiếm địa điểm yêu thích trên trình 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)
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 điểm neo Gắn trên mái nhà.
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 Sân thượng 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 việc 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ụ: để chỉ hiển thị nút "Vào chế độ thực tế tăng cường" khi có sẵn VPS.
- 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 > Player > Android > Other Settings (Cài đặt dự án > Trình phát > Android > Cài đặt khác) của dự án 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ừ các mô hình 3D của Google Earth và dữ liệu hình ảnh trong Chế độ xem đường phố của Google Maps để cho phép ứng dụng của bạn mang lại trải nghiệm thực tế tăng cường dựa trên vị trí và sống động trên quy mô toàn cầu.
Vui lòng xem phần Giới thiệu về API Không gian địa lý ARCore để biết tài liệu dành riêng cho nhà phát triển dành riêng cho nền tảng và để bắt đầu sử dụng API Không gian địa lý mới.
Độ sâu tầm xa
API Độ sâu ARCore hiện được tối ưu hoá để tích hợp tính năng cảm biến chiều sâu ở tầm xa hơn, 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 đề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 sẵn, với giới hạn là 8191 milimet.
Hãy xem phần Changes to depth trong tài liệu dành cho nhà phát triển dành riêng cho nền tảng cũng như để tìm hiểu về các thay đổi đối với API depth.
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 bản địa hoá theo toạ độ tương đối trên Earth.Earth.createAnchor()
tạo mộtAnchor
mới tại vị trí và hướng được chỉ định tương ứng với Earth.
Earth.Earthstate
mô tả trạng thái hiện tại củaEarth
, bao gồm cảTrackingState
.GeospatialPose
mô tả một vị trí, độ cao và hướng la bàn cụ thể so với Trái đất.
C
ArEarth
cung cấp khả năng bản địa hoá theo toạ độ tương đối trên Earth.ArEarth_acquireNewAnchor()
tạo mộtAnchor
mới tại vị trí và hướng được chỉ định tương ứng với Earth.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.
API ARCore depth mới cập nhật
Java
- Các lệnh gọi hàm API depth đã 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 thị dưới dạng số nguyên 16 bit theo đơn vị milimet, nhưng giờ đây tất cả 16 bit đều được dùng để biểu thị độ sâu, cho phép phạm vi tối đa có thể biểu thị được từ 8191mm đến 65535mm.
- Ngừng sử dụng các lệnh gọi hàm depth API (API Chiều sâu)
Frame.acquireDepthImage
vàFrame.acquireRawDepthImage
. Thay vào đó, vui lòng sử dụngFrame.acquireDepthImage16Bits
vàFrame.acquireRawDepthImage16Bits
.
- Các lệnh gọi hàm API depth đã thay đổi:
C
- Các lệnh gọi hàm API depth đã 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 thị dưới dạng số nguyên 16 bit theo đơn vị milimet, nhưng giờ đây tất cả 16 bit đều được dùng để biểu thị độ sâu, cho phép phạm vi tối đa có thể biểu thị được từ 8191mm đến 65535mm.
- Ngừng sử dụng các lệnh gọi hàm depth API (API Chiều sâu)
ArFrame_acquireDepthImage
vàArFrame_acquireRawDepthImage
. Thay vào đó, vui lòng sử dụngArFrame_acquireDepthImage16Bits
vàArFrame_acquireRawDepthImage16Bits
.
- Các lệnh gọi hàm API depth đã 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á theo toạ độ tương đối trên Earth.EarthTrackingState
nhận 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 đ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 trên 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
Biểu diễn 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 tương ứng với Trái đất.
Nội dung 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
- API được chú thích trả về các giá trị bằng
@NonNull
và@Nullable
. - Cập nhật các phiên bản công cụ bản 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. Các ứng dụng ARCore hiện có là không cần nâng cấp các công cụ này. Đối với các tính năng mới, các vấn đề đã biết, thông tin về tính không tương thích, hãy xem Tài liệu Android về 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 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 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 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, 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 nào trong cấu hình phiên làm giảm FPS.
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.
- Các chế độ cài đặt dự án Tiện ích ARCore đã được chuyển từ Project Settings > XR > ARCore Extensions (Cài đặt dự án > XR > Tiện ích ARCore) sang Project Settings > XR Plugin-in Management > ARCore Extensions (Cài đặt dự án > Quản lý trình bổ trợ XR > Tiện ích ARCore).
ARCoreExtensionsConfig
,ARCoreExtensionsCameraConfigFilter
,ARCoreRecordingConfig
đã được chuyển từ Create > XR > ARCore Extensions (Tạo > XR > Tiện ích ARCore) sang trình đơn Create > XR (Tạo > 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 nhiều bản sửa lỗi và điểm cải thiện về 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.
Hãy xem NGẮN dành cho Android để biết thêm thông tin.
Thêm ml_kotlin để minh hoạ cách sử dụng mô hình phân loại hình ảnh với ARCore.
Hãy xem bài viết Sử dụng ARCore làm dữ liệu đầu vào cho các mô hình Học máy để biết thêm thông tin.
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 tính năng 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 nhiều bản sửa lỗi và điểm cải thiện về 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 bản nhạc theo dõi dữ liệu tuỳ chỉnh sang API Ghi và phát
- Khả năng tiến hành kiểm thử lần truy cập chuyên sâu
Độ sâu thô
API Độ sâu thô cung cấp dữ liệu về độ 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 điểm ảnh. Hình ảnh chiều 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 chiều sâu có đủ độ chính xác cho trường hợp sử dụng riêng lẻ.
Hướng dẫn cho nhà phát triển:
Ghi tuyến đường tùy 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 quá trình ghi và truy xuất chính dữ liệu đó từ khung hình trong quá trình phát.
Hướng dẫn cho nhà phát triển:
Kiểm tra nhấn chi tiết
Trước đây, kiểm thử va chạm chỉ có thể được tiến hành 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 và phẳng. Kiểm thử lượt truy cập theo chiều sâu tận dụng cả thông tin chiều sâu mượt mà lẫn thông tin chiều sâu thô để cung cấp kết quả lượt truy cập chính xác hơn, ngay cả trên các bề mặt không phải là mặt phẳng và có kết cấu thấp.
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. Hãy xem trang các 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 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ợ công nghệ thực tế tăng cường được xây dựng bằng SDK ARCore 1.11.0 trở xuống không thể lưu trữ hoặc phân giải Cloud Anchors được nữa.
C: Cloud Anchors được
ArSession_hostAndAcquireNewCloudAnchor
vàArSession_resolveAndAcquireNewCloudAnchor
trả về sẽ luôn có trạng tháiAR_CLOUD_ANCHOR_STATE_ERROR_INTERNAL
.Java: Cloud Anchors do
Session.hostCloudAnchor(Anchor)
vàSession.resolveCloudAnchor(String)
trả về sẽ luôn có trạng tháiAnchor.CloudAnchorState.ERROR_INTERNAL
.Unity: Cloud Anchors 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 xây dựng bằng SDK ARCore 1.12.0 trở lên sẽ không bị ảnh hưởng. Việc họ sử dụng ARCore Cloud Anchor API chịu sự điều chỉnh của chính sách về việc 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 thêm các bản sửa lỗi và thay đổi có thể gây lỗi khác.
Có gì mới trong ARCore v1.22.0
Bản phát hành này bổ sung thêm API Ghi và Phát và API Bộ lọc cấu hình máy ảnh mới cho các Tiện ích ARCore 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 thêm các bản sửa lỗi và thay đổi có thể gây lỗi khác.
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 dành 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 rồi sử dụng nội dung đó để thay thế một phiên camera trực tiếp cho mục đích kiểm thử. ARCore lưu các phiên đã ghi vào tệp MP4 chứa nhiều bản video và dữ liệu khác trên thiết bị. Sau đó, bạn có thể trỏ ứng dụng của mình để 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 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.
Hỗ trợ mới cho Cloud Neo cố định
Trước ARCore phiên bản 1.20, Cloud Anchor chỉ có thể được phân giải trong tối đa 24 giờ kể từ lần đầu lưu trữ. Với các Cloud Neo cố định, giờ đây, bạn có thể tạo một Cloud Anchor với 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 của neo sau khi nó đã được lưu trữ bằng cách sử dụ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 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)
.Unity nhắm mục tiêu đến Android: Hướng dẫn cho nhà phát triển,
XPSession.CreateCloudAnchor(Anchor, int)
vàXPSession.EstimateFeatureMapQualityForHosting(Pose)
.Unity nhắm mục tiêu đến 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 thêm các bản sửa lỗi và thay đổi có thể gây lỗi khác.
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 để xây dựng ứng dụng Android 11 bằng Unity.
Vị trí tức thì
API Vị trí tức thì cho phép người dùng đặt một đối tượng AR lên màn hình mà không cần phải đợi ARCore phát hiện hình học của 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. 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 cho chính xác tư thế và trở nên mờ đục.
Đoạn video sau đây cho thấy một hình Android ảo trên bàn thực tế. Hình này có màu trắng và nhỏ hơn nhiều khi đặt lần đầu. Sau khi ARCore tinh chỉnh các phép tính về kích thước cảnh, con số này sẽ chuyển sang 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" nhận thấy của đố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 về cách tạo thành phần Khuôn mặt tăng cường và nhập các thành phần đó vào Android Studio.
- depth API sẽ được hỗ trợ trong
4.1.0-preview.2
cho cảAR Foundation
vàARCore XR Plugin
.
API chiều sâu
Trên các thiết bị hỗ trợ độ 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 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 để làm cho 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, nhờ đó mang lại 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 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 hình dạng phía sau cạnh của đường dây một cách thích hợp.
Để 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, bạn có thể dùng tính năng này để giảm 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. 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 đổi 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 > Android > Other Settings > Multithreaded Rendering (Cài đặt dự án > Trình phát > Android > 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 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 các thiết bị hiện đều 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 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 máy ảnh phù hợp dựa trên các tiêu chí mà 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 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. 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 các thiết bị hiện đều 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 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 cho thấy cách tạo trải nghiệm thực tế tăng cường dùng chung cho cả Android và iOS. Hãy 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 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 độ phân giải khung hiển thị trò chơi của Unity 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 Trình 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 thêm các bản sửa lỗi và thay đổi có thể gây lỗi khác.
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 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ụ dành cho các API của Google. Bạn có thể chọn không áp dụng.
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 ứng dụng iOS có Cloud Anchors.
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.
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 phần tổng quan, quickstart và hướng dẫn 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 Cloud Anchors.
Các thay đổi sau đây đối với Cloud Anchors:
- Để tuân thủ các yêu cầu mới về quyền riêng tư khi sử dụng ARCore SDK 1.12 trở lên, bạn phải công bố nổi bật việc sử dụng Cloud Anchors trong ứng dụng của mình bằng cách thêm văn bản sau đây, cũng như một đường liên kết để tìm hiểu thêm, trên màn hình thông báo: "Để hỗ trợ phiên này, Google sẽ xử lý dữ liệu hình ảnh từ camera của bạn". Bạn có thể thực hiện việc này bằng cách triển khai luồng thông báo đề xuất cho người dùng có trong ứ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 đế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 độ 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 ở 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 các tính năng ước tính mới về ánh sáng HDR môi trường vào API ước tính ánh 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 đầu vào của camera và ước tính ánh sáng môi trường. Bạn có thể sử dụng dữ liệu ước tính về á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 xung quanh, vùng 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 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:
Scene Preview (Trình xem cảnh) 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 họ.
Sau đây là các tính năng mới dành cho 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 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 máy ảnh.
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 hay đang được 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ề Cloud Anchors hiện đã có nội dung giải thích chi tiết hơn về cách lưu trữ và giải quyết neo đượ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 dành cho 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 hình ảnh trên một vật phẳng mà người dùng giữ khi họ di chuyển 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 máy ảnh.
API
AugmentedImage.GetTrackingMethod()
mới cho phép ứng dụng của bạn xác định xem hình ảnh tăng cường hiện đang được camera (FullTracking
) theo dõi hay đang được theo dõi dựa trên vị trí đã biết gần đây nhất (LastKnownPose
).
Tài liệu về Cloud Anchors hiện đã có nội dung giải thích chi tiết hơn về cách lưu trữ và giải quyết neo đượ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ó nội dung giải thích chi tiết hơn về cách lưu trữ và giải quyết neo được lưu trữ và giải quyết.