Các thay đổi mới và đáng chú ý trong ARCore.
Có gì mới trong ARCore v1.42.0
Gắn vào ô trong Trình tạo không gian địa lý cho Unity
Nút "Gắn vào ô" đã đượ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 đặt giá trị độ cao chỉ dành cho trình chỉnh sửa của Trình chỉnh sửa cho Địa hình hoặc Sân thượng 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 trong thời gian chạy. Việc này giúp điều chỉnh vị trí của liên kết trong trình chỉnh sửa để khớp với vị trí của thẻ liên kết đó 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ý của Unity hiện đã hỗ trợ việc tạo và chỉnh sửa các đối tượng Trình 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ợ các phiên bản AR Foundation 5.x. Để di chuyển một dự án hiện có sang AR Foundation, hãy xem hướng dẫn di chuyển.
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 Tiện ích ARCore dành cho Nền tảng thực tế tăng cường của Unity nhắm đến nền tảng iOS. Với Scene Semantics API, nhà phát triển có thể hiểu được cảnh xung quanh người dùng theo thời gian thực, gắn nhãn các pixel thành 11 lớp thành phần ngoài trời. Hãy xem phần Giới thiệu về ngữ nghĩa cảnh để biết thêm thông tin.
iOS
Unity (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ý của Unity hiện đã hỗ trợ tính năng tìm kiếm bằng văn bản để định vị chế độ xem Thẻ thông tin 3D trong Ảnh. Hãy xem phần Tìm kiếm địa điểm yêu thích trong 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. Scene Semantics chạy một mô hình học máy trên nguồn cấp dữ liệu hình ảnh của máy ảnh và cung cấp hình ảnh ngữ nghĩa, trong đó mỗi pixel tương ứng với một trong 11 nhãn của khái niệm ngoài trời.
Hãy xem phần Giới thiệu về ngữ nghĩa cảnh và ứng dụng mẫu semantics_java để biết thêm thông tin.
Android (Kotlin/Java)
Android NDK (C)
Unity (Nền tảng AR)
iOS
Hình học phong cảnh đường phố
Hình học cảnh quan đường phố là API không gian địa lý ARCore mới, cung cấp hình học của tòa nhà và địa hình trong 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 cho nhà phát triển về Hình học của Đường phố (Kotlin/Java). Ngoài ra, ứng dụng mẫu geospatial_java đã được cập nhật để sử dụng Hình học cảnh quan đường phố.
Android NDK (C)
Xem Hướng dẫn cho nhà phát triển hình học phong cảnh đường phố (C) để biết thêm thông tin.
Unity (Nền tảng AR)
Xem Hướng dẫn cho nhà phát triển về Hình học phong cảnh đường phố (Unity) để biết thêm thông tin.
iOS
Xem Hướng dẫn dành cho nhà phát triển về Hình học Cảnh quan đường phố (iOS) để biết thêm thông tin. Ngoài ra, ứng dụng GeospatialExample cũng đã được cập nhật để bao gồm Hình học cảnh quan đường phố.
GARStreetscapeGeometry
:GARStreetscapeGeometry.mesh
cung cấp lưới 3D.GARStreetscapeGeometry.meshTransform
cung cấp sự biến đổi gốc của hình học so với không gian thế giới của phiên hoạt động.GARStreetscapeGeometry.trackingState
duy trì trạng thái theo dõi.GARStreetscapeGeometry.type
cho biết đó là địa hình hay hình học của toà nhà.GARStreetscapeGeometry.quality
cung cấp chất lượng của hình học.GARStreetscapeGeometry.identifier
cung cấp giá trị nhận dạng duy nhất cho hình.GARSession.createAnchorOnStreetscapeGeometry:transform:error:
tạo liên kết tại vị trí và hướng được chỉ định.GARSession.raycastStreetscapeGeometry:direction:error:
thực hiện một sự kiện truyền phát tia dựa trên Hình học cảnh quan đường phố được tải trong cảnh đó.
Neo trên mái nhà
Neo trên mái nhà là một loại neo không gian địa lý mới giúp bạn neo 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 trên mái.
Android NDK (C)
Hãy xem bài viết Neo không gian địa lý (C) để biết thêm thông tin.
Unity (Nền tảng AR)
Xem bài viết Neo không gian địa lý để biết thêm thông tin. Ngoài ra, Mẫu không gian địa lý đã được cập nhật để bao gồm neo trên Sân thượng.
ARAnchorManagerExtensions.ResolveAnchorOnRooftopAsync()
cung cấp điểm neo cho các đối tượng trong trò chơi trong cảnh của bạn ở vĩ độ, kinh độ, độ cao đã chỉ định trên mái nhà và hướng.ResolveAnchorOnRooftopPromise
ResolveAnchorOnRooftopResult
iOS
Hãy xem bài viết 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 neo trên mái nhà.
GARSession.createAnchorWithCoordinate:altitudeAboveRooftop:eastUpSouthQAnchor:completionHandler:error:
tạo neo trên Mái nhà tại vị trí đã chỉ định, độ cao so với mái nhà tính bằng mét và hướng so 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 neo trên Mái nhà.
Độ sâu không gian địa lý
Khi cả hai chế độ Depth API và Streetscape Geometry được bật trong phiên ARCore ở những khu vực có phạm vi phủ sóng VPS, hình ảnh độ sâu được tạo sẽ được cải thiện bằng cách sử dụng Hình học cảnh đường phố. Hình học Cảnh quan đường phố được tích hợp vào mỗi hình ảnh độ sâu được tạo ra trong phạm vi 65,535 mét. Bạn không cần thay đổi gì khi gọi Depth API để thấy 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)
Xem phần Độ sâu không gian địa lý (C) để biết thêm thông tin.
Unity (Nền tảng AR)
Xem phần Độ sâu không gian địa lý (C) để biết thêm thông tin.
iOS
Ngữ nghĩa cảnh hiện chưa 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 này với một VkImage
.
Hãy xem bài viết Kết xuất ứng dụng ARCore bằng Vulkan và ứng dụng mẫu hello_ar_vulkan_c để biết thêm thông tin.
Android (Kotlin/Java)
Android NDK (C)
Unity (Nền tảng AR)
Tính năng kết xuất Vulkan hiện không dùng được cho Unity 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ử, giúp làm mượt khung hình máy ảnh để mang lại trải nghiệm người dùng linh hoạt hơn.
Hãy xem bài viết Bật tính năng ổn định hình ảnh điện tử và ứng dụng mẫu hello_eis_kotlin để biết thêm thông tin.
Android (Kotlin/Java)
Config.ImageStabilizationMode
Frame.transformCoordinates3d()
Session.isImageStabilizationModeSupported()
- Có một sự cố đã biết, đó là việc gọi
Frame.transformCoordinates3d()
bằng toạ độ 2D khácOPENGL_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 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 khả dụng cho Unity sử dụng AR Foundation.
iOS
EIS hiện không khả dụng 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 hiệu quả sử 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à Promise.
Android (Kotlin/Java)
- Giải quyết điểm neo cho Địa hình: Sử dụng
Earth.resolveAnchorOnTerrainAsync()
để lấyResolveAnchorOnTerrainFuture
. 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. - Phân giải 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òn được dùng nữa và có thể bị xoá trong phiên bản ARCore mới hơn. - Kiểm tra tính sẵn có của APK: Sử dụng
ArCoreApk.checkAvailabilityAsync()
để đăng ký lệnh gọi lại. Chúng tôi đã ngừng sử dụng biểu tượng cũArCoreApk.checkAvailability()
.
Android NDK (C)
- Giải quyết điểm 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. - Phân giải neo trên đám mây: Sử dụng
ArSession_resolveCloudAnchorAsync()
để lấyArResolveCloudAnchorFuture
hoặc sử dụngArResolveCloudAnchorCallback
. Biểu tượng cũArSession_resolveAndAcquireNewCloudAnchor()
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òn được dùng nữa và có thể bị xoá trong phiên bản ARCore mới hơn. - Kiểm tra tính sẵn có của APK: Sử dụng
ArCoreApk_checkAvailabilityAsync()
để đăng ký lệnh gọi lại. Chúng tôi đã ngừng sử dụng biểu tượng cũArCoreApk_checkAvailability()
.
Unity (Nền tảng AR)
- Giải quyết điểm neo cho Địa hình: Sử dụng
ARAnchorManagerExtensions.ResolveAnchorOnTerrainAsync()
để lấyResolveAnchorOnTerrainPromise
. 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. - Phân giải 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 dùng nữa và có thể bị xoá trong phiên bản ARCore mới hơn.
iOS
- Giải quyết điểm neo cho Địa hình: Sử dụng
GARSession.createAnchorWithCoordinate:altitudeAboveTerrain:eastUpSouthQAnchor:completionHandler:error:
để lấyGARCreateAnchorOnTerrainFuture
. 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. - Phân giải 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òn đượ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 cho iOS hiện chính thức hỗ trợ Trình quản lý gói Swift. Hãy xem bài viết Bật AR trong ứng dụng iOS để biết hướng dẫn về cách tích hợp với ARCore bằng Trình quản lý gói Swift.
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 góc ngách
Giờ đây, tất cả các tư thế Không gian địa lý đều hiển thị độ chính xác về hướng của chế độ 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 bổ sung
Hãy xem ghi chú phát hành để biết những thay đổi khác, bản sửa lỗi và điểm cải tiến về hiệu suất:
- Ghi chú phát hành của SDK ARCore cho Android
- Ghi chú phát hành ARCore cho Android NDK
- Ghi chú phát hành về SDK ARCore cho iOS
- Ghi chú phát hành của Tiện ích ARCore cho AR Foundation
Có gì mới trong ARCore v1.34.0
Kiểm tra xem thiết bị có tính năng Không gian địa lý ở vị trí hiện tại hay không
API Không gian địa lý hiện có thể kiểm tra khả năng sử dụng Hệ thống định vị hình ảnh (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 phiên thực tế tăng cường đang hoạt động. Ví dụ: để hiển thị nút "Nhập AR" chỉ khi VPS có sẵn.
- Java/Kotlin:
Session.checkVpsAvailabilityAsync()
- C:
ArSession_checkVpsAvailabilityAsync()
- iOS:
GARSession.checkVPSAvailabilityAtCoordinate:completionHandler:
- Unity (Nền tảng AR):
AREarthManager.CheckVpsAvailability()
Hướng tư thế không gian địa lý
Các tư thế không gian địa lý hiện sẽ hiển thị hướng của chúng trong không gian 3D.
- Java/Kotlin:
feedbackGeospatialPose.getEastUpSouthQuaternion()
- C:
ArEarth_getGeospatialPose()
- iOS:
GARGeospatialTransform.eastUpSouthQTarget
- Unity:
GeospatialPose.EunRotation()
Lượt chuyển đổi tư thế không gian địa lý
Giờ đây, bạn có thể chuyển đổi các tư thế không gian địa lý thành và từ các tư thế không gian thế giới (AR).
Cách nhận tư thế Không gian địa lý từ một tư thế AR:
- Java/Kotlin:
Earth.getGeospatialPose()
- C:
ArEarth_getGeospatialPose()
- iOS:
GARSession.geospatialTransformFromTransform:error:
- Unity:
AREarthManager.Convert(Pose)
Cách nhận tư thế AR từ tư thế Không gian địa lý:
- Java/Kotlin:
Earth.getPose()
- C:
ArEarth_getPose()
- iOS:
GARSession.transformFromGeospatialCoordinate:altitude:eastUpSouthQTarget:error:
- Unity:
AREarthManager.Convert(GeospatialPose)
Các tư thế không gian địa lý nhận đượ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 các hàm sau:
- Android (Java/Kotlin/C): Bộ quaternion 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 bổ sung
Hãy xem ghi chú phát hành để biết những thay đổi khác, bản sửa lỗi và điểm cải tiến về hiệu suất:
- Ghi chú phát hành của SDK ARCore cho Android
- Ghi chú phát hành ARCore cho Android NDK
- Ghi chú phát hành về SDK ARCore cho iOS
- Ghi chú phát hành của Tiện ích ARCore cho AR Foundation
Có gì mới trong ARCore v1.33.0
Điểm cuối Cloud Anchors mới
- Để sử dụng Cloud Anchors, giờ đây bạn phải bật API ARCore thay vì API ARCore Cloud Anchor cũ (hiện không dùng nữa). Để hỗ trợ các phiên bản ứng dụng cũ, bạn có thể bật cả hai trong khi chuyển đổi. Ứng dụng được xây dựng bằng ARCore SDK 1.32.0 trở xuống sẽ nhắm mục tiêu API cũ hơn, trong khi ứng dụng được xây dựng bằng ARCore SDK 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 API Quản lý neo đám mây ARCore từ phần phụ trợ, bạn cũng phải thay đổi tên miền thành
arcore.googleapis.com
sau khi bật API ARCore. - Chúng tôi sẽ tiếp tục hỗ trợ API/điểm cuối cũ đến hết tháng 8 năm 2023.
- Hãy xem bài viết Các thay đổi về điểm cuối 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 cho địa hình
- API neo Địa hình không gian địa lý tạo neo tại một vị trí 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 bổ sung
Hãy xem ghi chú phát hành để biết những thay đổi khác, bản sửa lỗi và điểm cải tiến về hiệu suất:
- Ghi chú phát hành của SDK ARCore cho Android
- Ghi chú phát hành ARCore cho Android NDK
- Ghi chú phát hành về SDK ARCore cho iOS
- Ghi chú phát hành của 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
, thì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 một
targetSdkVersion
trongbuild.gradle
hoặcAndroidManifest.xml
của dự án sẽ ghi đè giá trịtargetSdkVersion
của ARCore. - Nền tảng thực tế tăng cường cho Android: Việc chỉ định 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 Unity sẽ ghi đè giá trị
targetSdkVersion
của ARCore.
- SDK Android: Việc chỉ định một
Thông tin cập nhật và thay đổi bổ sung
Hãy xem ghi chú phát hành để biết những thay đổi khác, bản sửa lỗi và điểm cải tiến về hiệu suất:
- Ghi chú phát hành của SDK ARCore cho Android
- Ghi chú phát hành ARCore cho Android NDK
- Ghi chú phát hành về SDK ARCore cho iOS
- Ghi chú phát hành của 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 trên Google Earth và dữ liệu hình ảnh trong Chế độ xem đường phố của Google Maps để mang đến trải nghiệm thực tế tăng cường sống động, trên quy mô toàn cầu và dựa trên vị trí.
Hãy xem phần Giới thiệu về API không gian địa lý ARCore để biết tài liệu dành cho nhà phát triển dành riêng cho một 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 ARCore Depth API hiện đã được tối ưu hoá để bao gồm 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 độ sâu có thể biểu thị được. Tất cả 16 bit của hình ảnh độ sâu đều được sử dụng, cung cấp phạm vi tối đa là 65535 milimet. Trước đây, hệ thống chỉ điền 13 bit với giới hạn 8191 milimet.
Hãy xem Các thay đổi về độ sâu để biết tài liệu dành cho nhà phát triển tuỳ theo nền tảng và tìm hiểu các thay đổi đối với API Độ 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 bản địa hoá theo toạ độ tương đối của 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á trong các toạ độ tương đối của 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.
Cập nhật các API ARCore Depth
Java
- Các lệnh gọi hàm Depth API đã thay đổi:
Frame.acquireDepthImage
đếnFrame.acquireDepthImage16Bits
.Frame.acquireRawDepthImage
đếnFrame.acquireRawDepthImage16Bits
.- Định dạng hình ảnh đầu ra cho cả hai lệnh gọi đã thay đổi từ
android.graphics.ImageFormat#DEPTH16
thànhandroid.hardware.HardwareBuffer#D_16
. - Độ sâu vẫn được biểu thị dưới dạng số nguyên 16 bit theo đơn vị milimét, nhưng hiện tại tất cả 16 bit đều được dùng để biểu thị độ sâu, cho phép phạm vi biểu thị tối đa từ 8191mm đến 65535mm.
- Các lệnh gọi
Frame.acquireDepthImage
vàFrame.acquireRawDepthImage
của hàm Depth API không còn được dùng nữa. Thay vào đó, vui lòng sử dụngFrame.acquireDepthImage16Bits
vàFrame.acquireRawDepthImage16Bits
.
- Các lệnh gọi hàm Depth API đã thay đổi:
C
- Các lệnh gọi hàm Depth API đã thay đổi:
ArFrame_acquireDepthImage
đếnArFrame_acquireDepthImage16Bits
.ArFrame_acquireRawDepthImage
đếnArFrame_acquireRawDepthImage16Bits
- Định dạng hình ảnh đầu ra cho cả hai lệnh gọi đã thay đổi từ
AR_IMAGE_FORMAT_DEPTH16
thànhAR_IMAGE_FORMAT_D_16
. - Độ sâu vẫn được biểu thị dưới dạng số nguyên 16 bit theo đơn vị milimét, nhưng hiện tại tất cả 16 bit đều được dùng để biểu thị độ sâu, cho phép phạm vi biểu thị tối đa từ 8191mm đến 65535mm.
- Các lệnh gọi
ArFrame_acquireDepthImage
vàArFrame_acquireRawDepthImage
của hàm Depth API không còn được dùng nữa. Thay vào đó, vui lòng sử dụngArFrame_acquireDepthImage16Bits
vàArFrame_acquireRawDepthImage16Bits
.
- Các lệnh gọi hàm Depth API đã thay đổi:
Unity (Nền tảng AR)
API không gian địa lý ARCore mới:
AREarthManager
cung cấp khả năng bản địa hoá trong các toạ độ tương đối của Earth.EarthTrackingState
nhận trạng thái theo dõi của Earth đối với 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 so với Earth.
iOS
API không gian địa lý ARCore mới:
GAREarth
Cung cấp bản địa hoá tương đối 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
Biểu thị sự biến đổi toàn cầu bao gồm vị trí, hướng, cao độ và độ chính xác ước tính.GARSession.createAnchorWithCoordinate:altitude:eastUpSouthQAnchor:error:
Tạo neo Không gian địa lý tại vị trí và hướng đã chỉ định so với Earth.
Nội dung thay đổi khác
Hãy xem ghi chú phát hành để biết những thay đổi khác, bản sửa lỗi và điểm cải tiến về hiệu suất:
- Ghi chú phát hành của SDK ARCore cho Android
- Ghi chú phát hành ARCore cho Android NDK
- Ghi chú phát hành về SDK ARCore cho iOS
- Ghi chú phát hành của 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ú giải 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ó không cần phải nâng cấp các công cụ này. Để biết các tính năng mới, vấn đề đã biết, thông tin về tình trạng không tương thích, vui lòng xem Tài liệu của 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 lite này có thể giải quyết các vấn đề không tương thích khi sử dụng thư viện Firebase. Hãy xem hướng dẫn cài đặt Tiện ích ARCore dành cho Nền tảng AR để bắt đầu.Nâng cấp ExternalDependencyManager lên phiên bản 1.2.168 để hỗ trợ tốt hơn 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 gây ra tình trạng 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 tính nă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 việc lưu trữ bất kỳ neo nào 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 Nền tảng thực tế tăng cường đã 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.
- Phần 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 Management > ARCore Extensions.
ARCoreExtensionsConfig
,ARCoreExtensionsCameraConfigFilter
,ARCoreRecordingConfig
đã được chuyển từ trình đơn Tạo > XR > Tiện ích ARCore sang trình đơn Tạo > XR.
iOS
- Nhiều bản sửa lỗi và điểm cải tiến về hiệu suất.
Hoàn tất ghi chú phát hành
- Ghi chú phát hành hoàn chỉnh của SDK ARCore 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 của SDK ARCore dành cho iOS
- Ghi chú phát hành của 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 hỗ trợ AR 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 tuỳ thuộc vào hàm cụ thể đang được gọi. Hãy xem thông báo về việc ngừng sử dụng để tìm hiểu thêm.
- C: Các lệnh gọi đến
ArImage_getNdkImage()
vàArImage_getNdkCameraMetadata()
sẽ luôn trả vềnullptr
cho đối tượngAImage
vàACameraMetadata
. - Java: Đối tượng
Image
doFrame#acquireCameraImage()
trả về có kích thước0
x0
pixel. Các lệnh gọi đếnFrame#getImageMetadata()
sẽ luôn gửiIllegalArgumentException
. - Unity (AR Foundation): Khi sử dụng AR Foundation 2.1 (Unity 2019 LTS), các lệnh gọi đến
XRCameraSubsystem.TryGetLatestImage(out XRCameraImage)
sẽ luôn trả vềfalse
. AR Foundation 4.x trở lên không bị ảnh hưởng. Các lệnh gọi đếnXRCameraSubsystem.TryGetLatestImage(out XRCameraImage)
sẽ hoạt động bình thường. - SDK ARCore 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ề một hình chữ nhật cắt ảnh có kích thước đầy đủ, tức là tất cả các pixel trong Hình ảnh đều hợp lệ. 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 hiệu suất.
- Ghi chú phát hành hoàn chỉnh của SDK ARCore 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 của SDK ARCore dành cho iOS
- Ghi chú phát hành của Tiện ích ARCore cho AR Foundation
Ngoài nhiều bản sửa lỗi, bản phát hành này còn bao gồm những nội dung sau đâ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 mô-đun Ngắn gọ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 đầu vào cho 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 những thay đổi đáng chú ý sau đây:
- URI hiện được hỗ trợ cho các tập dữ liệu trong phần Record và Playback (Ghi và phát).
Thông tin cập nhật và thay đổi bổ sung
Hãy xem các ghi chú phát hành sau đây để biết thêm bản sửa lỗi và những thay đổi có thể gây lỗi khác.
- Ghi chú phát hành hoàn chỉnh của SDK ARCore 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 của SDK ARCore dành cho iOS
- Ghi chú phát hành của 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 hiệu suất.
- Ghi chú phát hành hoàn chỉnh của SDK ARCore 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 của SDK ARCore dành cho iOS
- Ghi chú phát hành hoàn chỉnh của SDK ARCore dành cho Unity
- Ghi chú phát hành của 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 những thay đổi đáng chú ý sau đây:
- API Độ sâu thô mới cung cấp hình ảnh có chiều sâu mà không cần lọc không gian hình ảnh
- Chức năng Ghi theo dõi dữ liệu tuỳ chỉnh cho API Ghi và Phát
- Khả năng tiến hành Thử nghiệm độ chi tiết
Độ sâu thô
API Độ sâu thô cung cấp dữ liệu độ sâu cho hình ảnh máy ảnh có độ chính xác cao hơn 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 pixel. Hình ảnh có 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ỉ dùng dữ liệ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 lại bản nhạc tuỳ chỉnh
Với khả năng theo dõi dữ liệu tuỳ chỉnh mới trong API Ghi và Phát, bạn có thể 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 trong khi phát.
Hướng dẫn cho nhà phát triển:
Thử nghiệm độ sâu
Trước đây, bạn chỉ có thể tiến hành thử nghiệm nhấn trên các mặt phẳng được phát hiện, giới hạn các vị trí ở các bề mặt rộng, phẳng. Kiểm thử độ sâu sử dụng thông tin độ sâu thô và mượt mà để 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ó hoạ tiết thấp.
Hướng dẫn cho nhà phát triển:
Thông tin cập nhật và thay đổi bổ sung
Hãy xem các ghi chú phát hành sau đây để biết thêm bản sửa lỗi và những thay đổi có thể gây lỗi khác.
- Ghi chú phát hành hoàn chỉnh của SDK ARCore 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 của SDK ARCore dành cho iOS
- Ghi chú phát hành hoàn chỉnh của SDK ARCore dành cho Unity
- Ghi chú phát hành của 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
Chúng tôi sẽ ra mắt tính năng hỗ trợ máy ảnh kép trong vài tuần tới. Hãy xem trang 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 ý định truyền tin, nhà phát triển có thể bật:
Ghi nhật ký lệnh gọi API ARCore vào nhật ký gỡ lỗi của Android
Lớp phủ hiệu suất ARCore
Lưu trữ và phân giải Cloud Anchor
Các ứng dụng hỗ trợ AR được tạo bằng SDK ARCore 1.11.0 trở xuống không thể lưu trữ hoặc phân giải Cloud Anchors nữa.
C: Cloud Anchors được
ArSession_hostAndAcquireNewCloudAnchor
trả về vàArSession_resolveAndAcquireNewCloudAnchor
sẽ luôn có trạng tháiAR_CLOUD_ANCHOR_STATE_ERROR_INTERNAL
.Java: Cloud Anchors được
Session.hostCloudAnchor(Anchor)
vàSession.resolveCloudAnchor(String)
trả về sẽ luôn có trạng tháiAnchor.CloudAnchorState.ERROR_INTERNAL
.Unity: Cloud Anchors được
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 API ARCore Cloud Anchor phải tuân theo chính sách về việc ngừng sử dụng.
Thông tin cập nhật và thay đổi bổ sung
Hãy xem các ghi chú phát hành sau đây để biết thêm bản sửa lỗi và những 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 API Ghi và Phát lại và API Bộ lọc cấu hình máy ảnh mới cho Tiện ích ARCore cho Nền tảng thực tế tăng cường. Xem ghi chú phát hành đầy đủ của Tiện ích ARCore để biết chi tiết.
Thông tin cập nhật và thay đổi bổ sung
Hãy xem các ghi chú phát hành sau đây để biết thêm bản sửa lỗi và những 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 lại mới cho Android, Android NDK và Unity.
Ghi và phát
Với 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, đồng thời sử dụng nội dung đó để thay thế một phiên máy quay 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 sử dụng dữ liệu này thay cho phiên máy ảnh 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ử các hiệu ứng AR khác nhau mà không 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 những thay đổi đáng chú ý sau đây:
Hỗ trợ mới cho các Cloud Anchors bền vững.
Cập nhật các tính năng của 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 dành cho Unity (1.19 trở lên) có Unity 2018.4 trở lên.
Hỗ trợ mới cho Cloud Anchors ổn đị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 được lưu trữ lần đầu. Với Cloud Anchor liên tục, giờ đây, bạn có thể tạo Cloud Anchor với thời gian tồn tại (TTL) nằm trong khoảng từ 1 đến 365 ngày. Bạn cũng có thể kéo dài thời gian tồn tại của neo sau khi đã được lưu trữ bằng cách sử dụng Cloud Anchor Management API.
Việc sử dụng Cloud Anchors ổn định sẽ chịu sự đ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:
.Các tiện ích ARCore dành cho Nền tảng AR: 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 đến Android: Hướng dẫn cho nhà phát triển,
XPSession.CreateCloudAnchor(Anchor, int)
vàXPSession.EstimateFeatureMapQualityForHosting(Pose)
.Unity nhắm đến iOS: Hướng dẫn cho nhà phát triển,
XPSession.SetAuthToken(string)
vàXPSession.CreateCloudAnchor(UnityARUserAnchorComponent, int)
.
Thông tin cập nhật và thay đổi bổ sung
Hãy xem các ghi chú phát hành sau đây để biết thêm bản sửa lỗi và những 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 những thay đổi đáng chú ý sau đây:
- 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 cho Android 11 bằng Unity.
Vị trí tức thì
API Vị trí tức thì cho phép người dùng đặt đối tượng thực tế tăng cường 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í đặt đố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 thành chính xác và trở nên mờ đục.
Đoạn video sau đây minh hoạ một nhân vật Android ảo trên một bảng thực tế. Hình có màu trắng và nhỏ hơn nhiều khi được đặt lần đầu tiên. Sau khi ARCore tinh chỉnh các phép tính về kích thước cảnh, hình ảnh sẽ chuyển sang 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 những thay đổi đáng chú ý sau đây:
- API Độ sâu 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, API Độ sâu sẽ sử dụng máy ảnh RGB của thiết bị được ARCore hỗ trợ 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 chiều sâu 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 trước hoặc sau các đối tượng trong thế giới thực, giúp 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 nhân vật Android ảo trong một không gian thực có cốp bên cạnh cửa. Depth API sẽ che khuất đúng cách hình phía sau cạnh của thân cây.
Để biết thêm chi tiết:
Android:
Android NDK:
Unity:
Có gì mới trong ARCore v1.17.0
Tính năng đá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 máy ảnh vào bộ đệ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 kỹ thuật này để giảm sự biến động về tốc độ khung hình.
Thêm việc sử dụng cảm biến độ sâu và phương thức getter FPS mục tiêu bị thiếu:
Xem thêm ghi chú phát hành hoàn chỉnh của SDK Android dành cho Android.
Tính năng đáng chú ý trong SDK ARCore dành cho Unity
- Đã thêm tính năng hỗ trợ tính năng kết xuất đa luồng trong Unity phiên bản 2018.2 trở lên. Tính năng này sẽ giúp cải thiện hiệu suất và có thể giúp giảm sự biến động về tốc độ khung hình trong hầu hết các trường hợp. Đây là chế độ cài đặt của 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
để chỉ ra các trạng thái lỗi phiên ARCore cụ thể.
Ngoài ra, hãy xem ghi chú phát hành hoàn chỉnh của SDK ARCore dành cho Unity.
Tính năng đáng chú ý trong SDK ARCore dành cho iOS
Kích thước tệp nhị phân của Cloud Anchors SDK đã giảm đáng kể.
Tính năng Khuôn mặt tăng cường hiện đã được hỗ trợ mã Bitcode.
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 những thay đổi đáng chú ý sau đây:
- Hầu hết các thiết bị hiện đều trả về cấu hình máy ảnh bổ sung được hỗ trợ có độ phân giải kết cấu GPU thấp hơn so với độ phân giải kết cấu GPU mặc định của thiết bị.
Xem bài viết Thiết bị hỗ trợ ARCore để biết thông tin 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:
Ghi chú phát hành hoàn chỉnh của SDK Android dành cho Android
Ghi chú phát hành hoàn chỉnh của SDK Sceneform dành cho Android
Đáng chú ý trong Tiện ích ARCore dành cho Nền tảng thực tế tăng cường
Bản phát hành này bổ sung những thay đổi đáng chú ý sau đây:
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 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(). Vui lòng đọ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 các 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:
Tính năng đáng chú ý trong SDK ARCore dành cho Unity
Bản phát hành này bổ sung một số thay đổi đáng chú ý sau đây:
- Hầu hết các thiết bị hiện đều trả về cấu hình máy ảnh bổ sung được hỗ trợ có độ phân giải kết cấu GPU thấp hơn so với độ phân giải kết cấu GPU mặc định của thiết bị. (Xem bài viết Các thiết bị hỗ trợ ARCore để biết thông tin chi tiết.) Các độ phân giải GPU mở rộng này có sẵn thông qua API ARCoreCameraConfigFilter.
Xem thêm:
Ghi chú phát hành hoàn chỉnh của SDK ARCore dành cho Unity
Có gì mới trong ARCore v1.15.0
Đáng chú ý trong Tiện ích ARCore dành cho Nền tảng thực tế tăng cường
Bản phát hành này bổ sung một số thay đổi đáng chú ý sau đây.
Thêm mẫu CloudAnchors hướng dẫn cách tạo trải nghiệm thực tế tăng cường dùng chung cho cả Android và iOS. Xem hướng dẫn dành cho Android hoặc iOS.
Unity 2019.2.17f1 hiện là phiên bản tối thiểu được đề xuất để sử dụng với Tiện ích ARCore.
Ghi chú phát hành hoàn chỉnh của Tiện ích ARCore
Tính năng đáng chú ý trong SDK ARCore dành cho Unity
Bản phát hành này gặp phải 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 dùng cáp USB 2.
Tính năng Xem trước tức thì có thể không hiển thị trên thiết bị khi độ phân giải chế độ xem trò chơi của Unity quá cao. Để khắc phục, hãy giảm độ phân giải chế độ xem trò chơi của Unity trong Trình chỉnh sửa.
Ghi chú phát hành hoàn chỉnh của 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 bản sửa lỗi và những thay đổi có thể gây lỗi khác.
Ghi chú phát hành hoàn chỉnh của SDK Android dành cho Android
Ghi chú phát hành hoàn chỉnh của SDK Sceneform dành cho Android
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 máy ảnh vào một ứng dụng khác trên thiết bị, lý do theo dõi lỗi 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ừ quá trình 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 áp dụng tuỳ chọn này.
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 các tiện ích ARCore cho AR Foundation của Unity để tạo ứng dụng iOS có Cloud Anchors.
Hỗ trợ tính năng Ước tính ánh sáng HDR môi trường trong Sceneform.
Hãy xem các ghi chú phát hành sau đây để biết thêm bản sửa lỗi và những thay đổi có thể gây lỗi khác.
Ghi chú phát hành hoàn chỉnh của SDK Android dành cho Android
Ghi chú phát hành hoàn chỉnh của SDK Sceneform dành cho Android
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 cho 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 các 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 về quyền riêng tư mới cập nhật của chúng tôi khi sử dụng SDK ARCore 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 bằng cách bao gồm văn bản sau, cũng như đường liên kết để tìm hiểu thêm trên màn hình thông báo: "Để hỗ trợ phiên này, Google sẽ xử lý dữ liệu hình ảnh từ camera của bạn". Bạn có thể thực hiện việc này bằng cách triển khai quy trình thông báo cho người dùng được đề xuất có trong ứng dụng mẫu Cloud Anchor.
Để biết thêm thông tin chi tiết, 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, trò chơi hiện được phân phối trong Dịch vụ Google Play.
Máy ảnh của ARCore có cấu hình 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 này. 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 ảnh ở mức 30 khung hình/giây, ngăn ARCore sử dụng cảm biến độ sâu hoặc lọc dựa trên cả hai lựa chọn.
Để biết thêm thông tin chi tiết về cấu hình camera:
Android:
Android NDK:
Unity:
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 ánh sáng môi trường HDR mới cho 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 máy ảnh đầu vào và ước tính ánh sáng môi trường. Bạn có thể sử dụng dữ liệu ước tính ánh sáng này để kết xuất ánh sáng cực kỳ chân thực, bao gồm ánh sáng định hướng chính, bóng đổ, ánh sáng xung quanh, vùng sáng phản chiếu và vùng sáng phản chiếu trên các đối tượng ảo. Kết quả là nội dung ảo có 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 SDK ARCore dành cho Android
Bản phát hành này bổ sung các API và tính năng mới sau đây:
Scene Viewer là một trình xem sống động hỗ trợ 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ọ.
Các tính năng mới dành cho Hình ảnh tăng cường:
ARCore hiện theo dõi di chuyển Hình ảnh tăng cườ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 đối tượng phẳng do người dùng cầm khi họ di chuyển tay xung quanh.
Sau khi phát hiện hình ảnh, ARCore có thể tiếp tục theo dõi vị trí và hướng của hình ảnh, ngay cả khi hình ảnh tạm thời di chuyển ra khỏi 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 máy ảnh theo dõi (FULL_TRACKING
) hay đang được theo dõi dựa trên vị trí đã biết gần đây nhất (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 các neo.
Tính năng mới trong SDK ARCore dành cho Unity
Các tính năng mới dành cho Hình ảnh tăng cường:
ARCore hiện theo dõi di chuyển Hình ảnh tăng cường. Ví dụ về hình ảnh di chuyển 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 đối tượng phẳng do người dùng cầm khi họ di chuyển xung quanh.
Sau khi phát hiện hình ảnh, ARCore có thể tiếp tục theo dõi vị trí và hướng của hình ảnh, ngay cả khi hình ảnh tạm thời di chuyển ra khỏi 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 máy ảnh theo dõi (FullTracking
) hay đang được theo dõi dựa trên vị trí đã biết gần đây nhất của hình ảnh đó (LastKnownPose
).
Tài liệu về 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 các neo.
Tính năng mới trong SDK ARCore dành cho iOS
Hỗ trợ các thiết bị sau:
iPad Mini thế hệ thứ 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 các neo.