การเปลี่ยนแปลงใหม่และสำคัญใน ARCore
มีอะไรใหม่ใน ARCore v1.48.0
รองรับ Unity 6 และ AR Foundation 6 อย่างเต็มรูปแบบแล้ว
ตอนนี้ส่วนขยาย ARCore สำหรับ AR Foundation ของ Unity รองรับ AR Foundation 6 แล้ว ใช้วิธีการติดตั้งต่อไปนี้เพื่อรับ ARCore Extension สำหรับ AR Foundation เวอร์ชันที่เข้ากันได้
- ผ่าน
Add package from git url...
: ใช้https://github.com/google-ar/arcore-unity-extensions.git#arf6
- ผ่าน
Add package from tarball...
: ใช้รุ่นที่ระบุด้วยarf6
จากหน้ารุ่น
หากต้องการอัปเกรดโปรเจ็กต์จาก AR Foundation 5 เป็น AR Foundation 6 โปรดดูคู่มือต่อไปนี้
การเปลี่ยนแปลงที่ส่งผลกับส่วนอื่นในระบบและการเปลี่ยนแปลงลักษณะการทำงาน
- SDK ไม่รองรับเป้าหมายการติดตั้งใช้งานสำหรับ iOS เวอร์ชันที่ต่ำกว่า 13.0 อีกต่อไป
มีอะไรใหม่ใน ARCore v1.47.0
การรองรับรุ่นเบต้าสำหรับ Unity 6 และ AR Foundation 6
ตอนนี้ส่วนขยาย ARCore สำหรับ AR Foundation ของ Unity รองรับ AR Foundation 6 เวอร์ชันเบต้าเพื่อรองรับ Unity 6 แล้ว ใช้วิธีการติดตั้งต่อไปนี้เพื่อรับ ARCore Extension สำหรับ AR Foundation เวอร์ชันที่เข้ากันได้
- ผ่าน
Add package from git url...
: ใช้https://github.com/google-ar/arcore-unity-extensions.git#arf6
- ผ่าน
Add package from tarball...
: ใช้รุ่นที่ระบุด้วยarf6
จากหน้ารุ่น
หากต้องการอัปเกรดโปรเจ็กต์จาก AR Foundation 5 เป็น AR Foundation 6 โปรดดูคู่มือต่อไปนี้
การแก้ไขข้อบกพร่อง
- แก้ไขให้พื้นผิวของตัวอย่าง Cloud Anchor โปร่งใสสำหรับ Unity 6
การเปลี่ยนแปลงอื่นๆ
- เราได้เปลี่ยน Branch
main
ของที่เก็บ GitHub ของ ARCore Extensions ให้ติดตาม Brancharf5
แล้ว
มีอะไรใหม่ใน ARCore v1.46.0
การเปลี่ยนแปลง targetSdkVersion
ของ ARCore SDK
targetSdkVersion
ของ ARCore ได้รับการอัปเดตเป็น Android API ระดับ 35 แล้ว หากแอปไม่ได้ระบุ targetSdkVersion
targetSdkVersion
ของแอปจะกลายเป็น 35 เนื่องจากการผสานไฟล์ Manifest
สำหรับ Unity การระบุระดับ API เป้าหมายในการตั้งค่าโปรเจ็กต์ > Player > Android > การตั้งค่าอื่นๆ ของโปรเจ็กต์จะลบล้างค่า targetSdkVersion
ของ ARCore
มีอะไรใหม่ใน ARCore v1.45.0
Flash Mode API
ตอนนี้ ARCore รองรับการเปิดใช้โหมดไฟฉายของอุปกรณ์แล้ว ซึ่งจะช่วยให้สามารถรับรู้สภาพแวดล้อมในที่มืดได้ดียิ่งขึ้น
Config.FlashMode
: ตัวเลือกการกำหนดค่าสำหรับการเปิดหรือปิดใช้งานหน่วยแฟลชในอุปกรณ์- ดูรายละเอียดเพิ่มเติมเกี่ยวกับวิธีตรวจหาความสามารถของแฟลชและวิธีเปิดใช้โหมดไฟฉายได้ในคู่มือนักพัฒนาซอฟต์แวร์
ArFlashMode
: ตัวเลือกการกำหนดค่าสำหรับการเปิดหรือปิดใช้งานหน่วยแฟลชในอุปกรณ์- ดูรายละเอียดเพิ่มเติมเกี่ยวกับวิธีตรวจหาความสามารถของแฟลชและวิธีเปิดใช้โหมดไฟฉายได้ในคู่มือนักพัฒนาซอฟต์แวร์
ส่วนขยาย ARCore สำหรับ AR Foundation ของ Unity รองรับ AR Foundation 5
ตอนนี้ส่วนขยาย ARCore สำหรับ AR Foundation รองรับ AR Foundation 5 อย่างเป็นทางการแล้ว เมื่อใช้ AR Foundation 5 (เวอร์ชันที่ยืนยันแล้วใน Unity เวอร์ชัน 2022 และ 2023) ให้ใช้วิธีการติดตั้งต่อไปนี้เพื่อรับส่วนขยาย ARCore สำหรับ AR Foundation เวอร์ชันที่เข้ากันได้
- ผ่าน
Add package from git url...
: ใช้https://github.com/google-ar/arcore-unity-extensions.git#arf5
- ผ่าน
Add package from tarball...
: ใช้รุ่นที่ระบุด้วยarf5
จากหน้ารุ่น
โปรเจ็กต์ที่เหลืออยู่ใน AR Foundation เวอร์ชัน 4 จะใช้วิธีการติดตั้งต่อไปนี้ได้
- ผ่าน
Add package from git url...
: ใช้https://github.com/google-ar/arcore-unity-extensions.git#arf4
- ผ่าน
Add package from tarball...
: ใช้รุ่นที่ระบุด้วยarf4
จากหน้ารุ่น
หากต้องการอัปเกรดโปรเจ็กต์จาก AR Foundation 4 เป็น AR Foundation 5 โปรดดูคำแนะนำในการย้ายข้อมูล
ระบบไม่ใช้สัญลักษณ์สคริปต์ที่กำหนดเอง เช่น ARCORE_USE_ARF_5
จากการสนับสนุนเวอร์ชันเบต้าอีกต่อไป
มีอะไรใหม่ใน ARCore v1.44.0
เวอร์ชันนี้ไม่มีฟีเจอร์ใหม่
มีอะไรใหม่ใน ARCore v1.43.0
Places API ในการย้ายข้อมูล Geospatial Creator
ตอนนี้ฟีเจอร์การค้นหาของ Geospatial Creator ใช้ New Places API ของ Google แล้ว หากต้องการใช้ฟีเจอร์การค้นหา ให้เปิดใช้ "Places API (ใหม่)" ใน Google Cloud Console
มีอะไรใหม่ใน ARCore v1.42.0
ปรับให้ชิดกับไทล์ใน Geospatial Creator สำหรับ Unity
เพิ่มปุ่ม "จัดชิดกับไทล์" ลงในARGeospatialCreatorAnchor
แผงเครื่องมือตรวจสอบของเครื่องมือแก้ไข ปุ่มนี้จะตั้งค่าความสูงของจุดยึดพื้นดินหรือหลังคาสำหรับผู้ใช้ที่แก้ไขเท่านั้นไว้ที่ด้านบนของเรขาคณิตของไทล์ 3 มิติ ณ ละติจูดและลองจิจูดปัจจุบันของจุดยึด โปรดทราบว่าพร็อพเพอร์ตี้นี้ไม่ส่งผลต่อลักษณะการทำงานขณะรันไทม์ ซึ่งจะช่วยปรับตําแหน่งของแอนคอร์ในเครื่องมือแก้ไขให้ตรงกับตําแหน่งขณะรันไทม์
มีอะไรใหม่ใน ARCore v1.41.0
Geospatial Creator API
ตอนนี้ Geospatial Creator สำหรับ Unity รองรับการสร้างและจัดการออบเจ็กต์ Geospatial Creator ในโหมดเครื่องมือแก้ไขแล้ว คลาสและ API ที่พร้อมใช้งานใหม่มีอธิบายอยู่ในคู่มือ Geospatial Creator API
รองรับ AR Foundation เวอร์ชัน 5.x (เบต้า)
ตอนนี้ส่วนขยาย ARCore สำหรับ AR Foundation ของ Unity รองรับ AR Foundation เวอร์ชัน 5.x แล้ว หากต้องการย้ายข้อมูลโปรเจ็กต์ที่มีอยู่ไปยัง AR Foundation โปรดดูคำแนะนำในการย้ายข้อมูล
มีอะไรใหม่ใน ARCore v1.40.0
ความหมายของฉากใน iOS
Scene Semantics API พร้อมใช้งานแล้วใน ARCore SDK สําหรับ iOS รวมถึงใน ARCore Extensions สําหรับ AR Foundation ของ Unity ที่กําหนดเป้าหมายเป็นแพลตฟอร์ม iOS Scene Semantics API ช่วยให้นักพัฒนาแอปเข้าใจฉากรอบตัวผู้ใช้แบบเรียลไทม์ โดยติดป้ายกำกับพิกเซลเป็นคอมโพเนนต์กลางแจ้ง 11 คลาส ดูข้อมูลเพิ่มเติมได้ที่ข้อมูลเบื้องต้นเกี่ยวกับความหมายของฉาก
ค้นหาจุดที่น่าสนใจใน Geospatial Creator สำหรับ Unity
ตอนนี้ Geospatial Creator สำหรับ Unity รองรับการค้นหาแบบข้อความเพื่อวางตำแหน่งมุมมองภาพ 3 มิติ ดูข้อมูลเพิ่มเติมได้จากหัวข้อค้นหาจุดที่น่าสนใจใน Geospatial Creator
มีอะไรใหม่ใน ARCore v1.39.0
เวอร์ชันนี้ไม่มีฟีเจอร์ใหม่
มีอะไรใหม่ใน ARCore v1.38.0
เวอร์ชันนี้ไม่มีฟีเจอร์ใหม่
มีอะไรใหม่ใน ARCore v1.37.0
ความหมายของฉาก
Semantics ของฉากจะให้รายละเอียดที่สมบูรณ์ยิ่งขึ้นเกี่ยวกับฉากโดยรอบ ซึ่งช่วยให้เข้าใจโลกรอบตัวผู้ใช้ได้ง่ายขึ้น Semantics ของฉากจะเรียกใช้โมเดล ML ในฟีดรูปภาพจากกล้อง และให้รูปภาพเชิงความหมายโดยแต่ละพิกเซลจะสอดคล้องกับป้ายกำกับแนวคิดกลางแจ้ง 1 ใน 11 รายการ
ดูข้อมูลเพิ่มเติมได้ที่ข้อมูลเบื้องต้นเกี่ยวกับความหมายของฉากและแอปตัวอย่าง semantics_java
เรขาคณิตของสภาพแวดล้อมถนน
เรขาคณิตของสภาพแวดล้อมถนนเป็น ARCore Geospatial API ใหม่ที่ระบุเรขาคณิตของอาคารและภูมิประเทศในพื้นที่รอบๆ ผู้ใช้เมื่อเปิดใช้ Geospatial API
ดูคู่มือนักพัฒนาซอฟต์แวร์สำหรับเรขาคณิตของ Streetscape (Kotlin/Java) นอกจากนี้ ระบบยังได้อัปเดตแอปตัวอย่าง geospatial_java ให้รวมเรขาคณิตของภาพถนนด้วย
ดูข้อมูลเพิ่มเติมได้ที่คู่มือนักพัฒนาซอฟต์แวร์เรขาคณิตของสภาพแวดล้อมถนน (C)
ดูข้อมูลเพิ่มเติมได้ที่คู่มือนักพัฒนาซอฟต์แวร์เรขาคณิตของสภาพแวดล้อมถนน (Unity)
ดูข้อมูลเพิ่มเติมได้ที่คู่มือนักพัฒนาซอฟต์แวร์เรขาคณิตของภาพถนน (iOS) นอกจากนี้ เราได้อัปเดตแอป GeospatialExample ให้รวมเรขาคณิตของภาพถนนด้วย
GARStreetscapeGeometry
:GARStreetscapeGeometry.mesh
มีเมช 3 มิติGARStreetscapeGeometry.meshTransform
ให้การเปลี่ยนรูปแบบต้นทางของรูปเรขาคณิตซึ่งสัมพันธ์กับพื้นที่โลกของเซสชันGARStreetscapeGeometry.trackingState
คงสถานะการติดตามGARStreetscapeGeometry.type
ระบุว่าเป็นเรขาคณิตของภูมิประเทศหรืออาคารGARStreetscapeGeometry.quality
แสดงคุณภาพของเรขาคณิตGARStreetscapeGeometry.identifier
ระบุตัวระบุที่ไม่ซ้ำกันของเรขาคณิตGARSession.createAnchorOnStreetscapeGeometry:transform:error:
สร้างจุดยึดที่ตำแหน่งและการวางแนวที่ระบุGARSession.raycastStreetscapeGeometry:direction:error:
ทำการแรย์แคสต์กับเรขาคณิตของสภาพแวดล้อมที่โหลดไว้ในฉาก
อุปกรณ์ยึดบนหลังคา
จุดยึดบนหลังคาเป็นจุดยึดภูมิสารสนเทศเชิงพื้นที่ประเภทใหม่ที่ช่วยให้คุณยึดเนื้อหาไว้กับหลังคาได้
ดูหมุดภูมิสารสนเทศ (Java) นอกจากนี้ แอปตัวอย่าง geospatial_java ได้รับการอัปเดตให้รวมจุดยึดบนหลังคาด้วย
ดูข้อมูลเพิ่มเติมได้ที่หมุดยึดเชิงพื้นที่ (C)
ดูข้อมูลเพิ่มเติมได้ที่หมุดยึดเชิงพื้นที่ นอกจากนี้ ตัวอย่างเชิงพื้นที่ยังได้รับการอัปเดตให้รวมจุดยึดบนหลังคาด้วย
ARAnchorManagerExtensions.ResolveAnchorOnRooftopAsync()
ทำหน้าที่เป็นจุดยึดสำหรับวัตถุเกมในฉากตามละติจูด ละลองจิจูด ความสูงเหนือชั้นดาดฟ้า และการวางแนวที่ระบุResolveAnchorOnRooftopPromise
ResolveAnchorOnRooftopResult
ดูข้อมูลเพิ่มเติมได้ที่หมุดตำแหน่งทางภูมิศาสตร์ (iOS) นอกจากนี้ แอป GeospatialExample ได้รับการอัปเดตให้รวมจุดยึดบนหลังคาด้วย
GARSession.createAnchorWithCoordinate:altitudeAboveRooftop:eastUpSouthQAnchor:completionHandler:error:
สร้างจุดยึดบนหลังคาที่ตำแหน่งที่ระบุ ความสูงเหนือหลังคาเป็นเมตร และการวางแนวสัมพันธ์กับโลกGARCreateAnchorOnRooftopFuture
เก็บสถานะการแก้ไขจุดยึดบนดาดฟ้าแบบอะซิงโครนัสไว้GARRooftopAnchorState
อธิบายสถานะของการแก้ไขจุดยึดบนหลังคา
ความลึกเชิงพื้นที่
เมื่อเปิดใช้ทั้งโหมด Depth API และ Streetscape Geometry ในเซสชัน ARCore ในพื้นที่ที่มี VPS ครอบคลุม ระบบจะปรับปรุงภาพความลึกที่สร้างขึ้นโดยใช้ Streetscape Geometry เรขาคณิตของภาพถนนผสานรวมอยู่ในภาพความลึกที่สร้างขึ้นแต่ละภาพโดยมีระยะทางสูงสุด 65.535 เมตร คุณไม่จำเป็นต้องเปลี่ยนแปลงใดๆ เมื่อเรียกใช้ Depth API เพื่อรับสิทธิประโยชน์นี้
ดูข้อมูลเพิ่มเติมที่ความลึกเชิงพื้นที่ (Java)
ดูข้อมูลเพิ่มเติมได้ที่ความลึกเชิงพื้นที่ (C)
ดูข้อมูลเพิ่มเติมได้ที่ความลึกเชิงพื้นที่ (C)
ขณะนี้อรรถศาสตร์ของฉากยังไม่พร้อมใช้งานใน iOS
การรองรับการแสดงผล Vulkan
ตอนนี้ ARCore รองรับการแสดงผล Vulkan โดยแสดงภาพจากกล้องผ่าน AHardwareBuffer
คุณใช้บัฟเฟอร์ฮาร์ดแวร์นี้ได้โดยการเชื่อมโยงกับ VkImage
ดูข้อมูลเพิ่มเติมที่การแสดงผลแอปพลิเคชัน ARCore โดยใช้ Vulkan และแอปตัวอย่าง hello_ar_vulkan_c
ขณะนี้การแสดงผล Vulkan ไม่พร้อมใช้งานสำหรับ Unity ที่ใช้ AR Foundation
ระบบกันภาพสั่นแบบอิเล็กทรอนิกส์ (EIS)
คุณสามารถกำหนดค่า ARCore ให้ใช้ระบบกันภาพสั่นแบบอิเล็กทรอนิกส์ ซึ่งจะปรับเฟรมกล้องให้ราบรื่นเพื่อให้ผู้ใช้ได้รับประสบการณ์การใช้งานที่ราบรื่นยิ่งขึ้น
ดูข้อมูลเพิ่มเติมที่การเปิดใช้ระบบกันภาพสั่นแบบอิเล็กทรอนิกส์และแอปตัวอย่าง hello_eis_kotlin
Config.ImageStabilizationMode
Frame.transformCoordinates3d()
Session.isImageStabilizationModeSupported()
- ปัญหาที่ทราบคือ การเรียกใช้
Frame.transformCoordinates3d()
ด้วยพิกัด 2 มิติที่ไม่ใช่OPENGL_NORMALIZED_DEVICE_COORDINATES
จะทําให้ระบบขัดข้องแทนที่จะแสดงIllegalArgumentException
เราจะแก้ไขปัญหานี้ในรุ่นถัดไป
ArImageStabilizationMode
ArFrame_transformCoordinates3d()
ArSession_isImageStabilizationModeSupported()
- ปัญหาที่ทราบกันคือ การเรียก
ArFrame_transformCoordinates3d()
ด้วยพิกัด 2 มิติที่ไม่ใช่AR_COORDINATES_2D_OPENGL_NORMALIZED_DEVICE_COORDINATES
จะทําให้แอปหยุดทําการแทนที่จะแสดงผลAR_ERROR_INVALID_ARGUMENT
เราจะแก้ไขปัญหานี้ในรุ่นถัดไป
ขณะนี้ EIS ยังไม่พร้อมใช้งานสำหรับ Unity ที่ใช้ AR Foundation
ขณะนี้ EIS ยังไม่พร้อมใช้งานสำหรับ iOS
ARCore Async API
เวอร์ชันนี้เปิดตัว ARCore Async API ใหม่เพื่อปรับปรุงการยศาสตร์เมื่อทำงานกับการดำเนินการแบบแอซิงโครนัสตามรูปแบบ Future และ Promise
- การแก้ไขจุดยึดของภูมิประเทศ: ใช้
Earth.resolveAnchorOnTerrainAsync()
เพื่อรับResolveAnchorOnTerrainFuture
เราได้เลิกใช้งานสัญลักษณ์Earth.resolveAnchorOnTerrain()
เดิมแล้วและอาจนำสัญลักษณ์นี้ออกจาก ARCore เวอร์ชันใหม่ - การแก้ไขหมุดของ Cloud: ใช้
Session.resolveCloudAnchorAsync()
เพื่อรับResolveCloudAnchorFuture
เราได้เลิกใช้งานสัญลักษณ์Session.resolveCloudAnchor()
เดิมแล้วและอาจนำสัญลักษณ์นี้ออกจาก ARCore เวอร์ชันใหม่ - โฮสติ้งหมุด Cloud: ใช้
Session.hostCloudAnchorAsync()
เพื่อรับHostCloudAnchorFuture
เราได้เลิกใช้งานสัญลักษณ์เก่าSession.hostCloudAnchor()
และSession.hostCloudAnchorWithTtl()
แล้ว และอาจนำสัญลักษณ์ดังกล่าวออกจาก ARCore เวอร์ชันใหม่ - ตรวจสอบความพร้อมให้บริการของ APK: ใช้
ArCoreApk.checkAvailabilityAsync()
เพื่อลงทะเบียนการติดต่อกลับ สัญลักษณ์ArCoreApk.checkAvailability()
เดิมยังไม่เลิกใช้งาน
- การแก้ไขจุดยึดของภูมิประเทศ: ใช้
ArEarth_resolveAnchorOnTerrainAsync()
เพื่อรับArResolveAnchorOnTerrainFuture
หรือใช้ArResolveAnchorOnTerrainCallback
เราได้เลิกใช้งานสัญลักษณ์ArEarth_resolveAndAcquireNewAnchorOnTerrain()
เดิมแล้วและอาจนำสัญลักษณ์นี้ออกจาก ARCore เวอร์ชันใหม่ - การแก้ไขหมุดยึดของ Cloud: ใช้
ArSession_resolveCloudAnchorAsync()
เพื่อรับArResolveCloudAnchorFuture
หรือใช้ArResolveCloudAnchorCallback
เราได้เลิกใช้งานสัญลักษณ์ArSession_resolveAndAcquireNewCloudAnchor()
เดิมแล้วและอาจนำสัญลักษณ์นี้ออกจาก ARCore เวอร์ชันใหม่ - หมุดการโฮสต์ Cloud: ใช้
ArSession_hostCloudAnchorAsync()
เพื่อรับArHostCloudAnchorFuture
หรือใช้ArHostCloudAnchorCallback
เราได้เลิกใช้งานสัญลักษณ์เก่าArSession_hostAndAcquireNewCloudAnchor()
และArSession_hostAndAcquireNewCloudAnchorWithTtl()
แล้ว และอาจนำสัญลักษณ์ดังกล่าวออกจาก ARCore เวอร์ชันใหม่ - ตรวจสอบความพร้อมให้บริการของ APK: ใช้
ArCoreApk_checkAvailabilityAsync()
เพื่อลงทะเบียนการติดต่อกลับ สัญลักษณ์ArCoreApk_checkAvailability()
เดิมยังไม่เลิกใช้งาน
- การแก้ไขจุดยึดของภูมิประเทศ: ใช้
ARAnchorManagerExtensions.ResolveAnchorOnTerrainAsync()
เพื่อรับResolveAnchorOnTerrainPromise
เราได้เลิกใช้งานสัญลักษณ์ARAnchorManagerExtensions.ResolveAnchorOnTerrain()
เดิมแล้วและอาจนำสัญลักษณ์นี้ออกจาก ARCore เวอร์ชันใหม่ - การแก้ไขหมุดของ Cloud: ใช้
ARAnchorManagerExtensions.ResolveCloudAnchorAsync()
เพื่อรับResolveCloudAnchorPromise
เราได้เลิกใช้งานสัญลักษณ์ARAnchorManagerExtensions.ResolveCloudAnchorId()
เดิมแล้วและอาจนำสัญลักษณ์นี้ออกจาก ARCore เวอร์ชันใหม่ - โฮสติ้งหมุด Cloud: ใช้
ARAnchorManagerExtensions.HostCloudAnchorAsync()
เพื่อรับHostCloudAnchorPromise
สัญลักษณ์ARAnchorManagerExtensions.HostCloudAnchor()
แบบเก่าเลิกใช้งานแล้วและอาจถูกนำออกจาก ARCore เวอร์ชันใหม่
- การแก้ไขจุดยึดของภูมิประเทศ: ใช้
GARSession.createAnchorWithCoordinate:altitudeAboveTerrain:eastUpSouthQAnchor:completionHandler:error:
เพื่อรับGARCreateAnchorOnTerrainFuture
เราได้เลิกใช้งานสัญลักษณ์GARSession.createAnchorWithCoordinate:altitudeAboveTerrain:eastUpSouthQAnchor:error:
เดิมแล้วและอาจนำสัญลักษณ์นี้ออกจาก ARCore เวอร์ชันใหม่ - การแก้ไขหมุดของ Cloud: ใช้
GARSession.resolveCloudAnchorWithIdentifier:completionHandler:error:
เพื่อรับGARResolveCloudAnchorFuture
เราได้เลิกใช้งานสัญลักษณ์GARSession.resolveCloudAnchorWithIdentifier:error:
เดิมแล้วและอาจนำสัญลักษณ์นี้ออกจาก ARCore เวอร์ชันใหม่ - โฮสติ้งหมุด Cloud: ใช้
GARSession.hostCloudAnchor:TTLDays:completionHandler:error:
เพื่อรับGARHostCloudAnchorFuture
เราได้เลิกใช้งานสัญลักษณ์เก่าGARSession.hostCloudAnchor:error:
และGARSession.hostCloudAnchor:TTLDays:error:
แล้ว และอาจนำสัญลักษณ์ดังกล่าวออกจาก ARCore เวอร์ชันใหม่
มีอะไรใหม่ใน ARCore v1.36.0
การรองรับ Swift Package Manager ใน iOS
ตอนนี้ ARCore SDK สําหรับ iOS รองรับ Swift Package Manager อย่างเป็นทางการแล้ว ดูวิธีการผสานรวมกับ ARCore โดยใช้ Swift Package Manager ได้ที่เปิดใช้ AR ในแอป iOS
มีอะไรใหม่ใน ARCore v1.35.0
ความแม่นยำของท่าทางเชิงพื้นที่จะแทนที่ทิศทางด้วยการหมุน
ตอนนี้รูปภาพที่แสดงตำแหน่งทางภูมิศาสตร์ทั้งหมดจะแสดงค่าความแม่นยำของการวางแนวการหมุนของเครื่องบินแทนความแม่นยำของทิศทาง
- Java/Kotlin: แทนที่
GeospatialPose.getHeading()
ด้วยGeospatialPose.getEastUpSouthQuaternion()
และGeospatialPose.getHeadingAccuracy()
ด้วยGeospatialPose.getOrientationYawAccuracy()
- ค: แทนที่
ArGeospatialPose_getHeading()
ด้วยArGeospatialPose_getEastUpSouthQuaternion()
และArGeospatialPose_getHeadingAccuracy()
ด้วยArGeospatialPose_getOrientationYawAccuracy()
- iOS: แทนที่
GARGeospatialTransform.heading
ด้วยGARGeospatialTransform.eastUpSouthQTarget
และGARGeospatialTransform.headingAccuracy
ด้วยGARGeospatialTransform.orientationYawAccuracy
- Unity: แทนที่
GeospatialPose.Heading
ด้วยGeospatialPose.EunRotation
และGeospatialPose.HeadingAccuracy
ด้วยGeospatialPose.OrientationYawAccuracy
การเปลี่ยนแปลงและการอัปเดตเพิ่มเติม
ดูการเปลี่ยนแปลงอื่นๆ การแก้ไขข้อบกพร่อง และการเพิ่มประสิทธิภาพได้ในบันทึกประจำรุ่น
- บันทึกประจำรุ่น ARCore SDK สำหรับ Android
- บันทึกประจำรุ่นของ ARCore สำหรับ Android NDK
- บันทึกประจำรุ่น ARCore SDK สำหรับ iOS
- บันทึกประจำรุ่นของส่วนขยาย ARCore สำหรับ AR Foundation
มีอะไรใหม่ใน ARCore v1.34.0
ตรวจสอบว่าความสามารถเชิงพื้นที่พร้อมใช้งานในตำแหน่งปัจจุบันของอุปกรณ์หรือไม่
ตอนนี้ Geospatial API สามารถตรวจสอบความพร้อมให้บริการของระบบการวางตำแหน่งด้วยภาพ (VPS) ในตำแหน่งแนวนอนที่ระบุไว้ขณะรันไทม์ได้แล้ว คุณสามารถใช้ API นี้โดยไม่ต้องมีเซสชัน AR ที่ใช้งานอยู่ เช่น เพื่อแสดงปุ่ม "เข้าสู่ AR" เฉพาะเมื่อ VPS พร้อมใช้งานเท่านั้น
- Java/Kotlin:
Session.checkVpsAvailabilityAsync()
- ค:
ArSession_checkVpsAvailabilityAsync()
- iOS:
GARSession.checkVPSAvailabilityAtCoordinate:completionHandler:
- Unity (AR Foundation):
AREarthManager.CheckVpsAvailability()
การวางแนวของท่าทางภูมิสารสนเทศ
ตอนนี้ท่าทางเชิงพื้นที่จะแสดงการวางแนวในพื้นที่ 3 มิติ
- Java/Kotlin:
feedbackGeospatialPose.getEastUpSouthQuaternion()
- ค:
ArEarth_getGeospatialPose()
- iOS:
GARGeospatialTransform.eastUpSouthQTarget
- Unity:
GeospatialPose.EunRotation()
Conversion ท่าทางภูมิสารสนเทศ
ตอนนี้คุณแปลงท่าทางเชิงพื้นที่เป็นท่าทางในอวกาศ (AR) และในทางกลับกันได้
วิธีรับท่าทางภูมิสารสนเทศเชิงพื้นที่จากท่าทาง AR
- Java/Kotlin:
Earth.getGeospatialPose()
- ค:
ArEarth_getGeospatialPose()
- iOS:
GARSession.geospatialTransformFromTransform:error:
- Unity:
AREarthManager.Convert(Pose)
วิธีรับท่าทาง AR จากท่าทางเชิงพื้นที่มีดังนี้
- Java/Kotlin:
Earth.getPose()
- ค:
ArEarth_getPose()
- iOS:
GARSession.transformFromGeospatialCoordinate:altitude:eastUpSouthQTarget:error:
- Unity:
AREarthManager.Convert(GeospatialPose)
ตำแหน่งเชิงพื้นที่ที่ได้มาจากฟังก์ชันเหล่านี้จะมีค่าทิศทางเป็น 0 แต่ให้ใช้รูปแบบต่อไปนี้แทน
- Android (Java/Kotlin/C): Quaternion EUS ของท่าทาง
- iOS:
eastUpSouthQTarget
ของท่าทาง - Unity:
EunRotation
ของท่าทาง
การเปลี่ยนแปลงและการอัปเดตเพิ่มเติม
ดูการเปลี่ยนแปลงอื่นๆ การแก้ไขข้อบกพร่อง และการเพิ่มประสิทธิภาพได้ในบันทึกประจำรุ่น
- บันทึกประจำรุ่น ARCore SDK สำหรับ Android
- บันทึกประจำรุ่นของ ARCore สำหรับ Android NDK
- บันทึกประจำรุ่น ARCore SDK สำหรับ iOS
- บันทึกประจำรุ่นของส่วนขยาย ARCore สำหรับ AR Foundation
มีอะไรใหม่ใน ARCore v1.33.0
ปลายทาง Cloud Anchors ใหม่
- หากต้องการใช้ Cloud Anchor ตอนนี้คุณต้องเปิดใช้ ARCore API แทน ARCore Cloud Anchor API เวอร์ชันเก่าซึ่งเลิกใช้งานแล้ว หากต้องการรองรับแอปเวอร์ชันเก่า คุณสามารถเปิดใช้ทั้ง 2 รายการขณะเปลี่ยนรุ่น แอปที่สร้างด้วย ARCore SDK 1.32.0 หรือต่ำกว่าจะกำหนดเป้าหมายเป็น API เวอร์ชันเก่า ส่วนแอปที่สร้างด้วย ARCore SDK 1.33.0 ขึ้นไปจะกำหนดเป้าหมายเป็น API เวอร์ชันใหม่ ข้อควรทราบมีดังนี้
- API ใหม่ใช้ชื่อโดเมน
arcore.googleapis.com
แทนarcorecloudanchor.googleapis.com
- หากคุณใช้คีย์ API ที่ API จำกัด ไว้ คุณต้องอนุญาต ARCore API
- หากคุณส่งคำขอไปยัง ARCore Cloud Anchor Management API จากแบ็กเอนด์ คุณต้องเปลี่ยนชื่อโดเมนเป็น
arcore.googleapis.com
ด้วยหลังจากเปิดใช้ ARCore API - ระบบจะยังรองรับ API/ปลายทางเดิมต่อไปจนถึงเดือนสิงหาคม 2023
- ดูรายละเอียดเพิ่มเติมได้ในการเปลี่ยนแปลงปลายทางของหมุดยึดบนระบบคลาวด์ของ ARCore 1.33
- API ใหม่ใช้ชื่อโดเมน
จุดยึดภูมิประเทศ
- Geospatial Terrain Anchor API จะสร้างจุดยึดที่ตำแหน่งแนวนอนและระดับความสูงที่ระบุซึ่งสัมพันธ์กับภูมิประเทศของตำแหน่งแนวนอน
การเปลี่ยนแปลงและการอัปเดตเพิ่มเติม
ดูการเปลี่ยนแปลงอื่นๆ การแก้ไขข้อบกพร่อง และการเพิ่มประสิทธิภาพได้ในบันทึกประจำรุ่น
- บันทึกประจำรุ่น ARCore SDK สำหรับ Android
- บันทึกประจำรุ่นของ ARCore สำหรับ Android NDK
- บันทึกประจำรุ่น ARCore SDK สำหรับ iOS
- บันทึกประจำรุ่นของส่วนขยาย ARCore สำหรับ AR Foundation
มีอะไรใหม่ใน ARCore v1.32.0
เวอร์ชันนี้ไม่มีฟีเจอร์ใหม่
Android และ Unity (AR Foundation) สำหรับ Android
targetSdkVersion
ของ ARCore ได้รับการอัปเดตเป็น Android API ระดับ 32 แล้ว หากแอปไม่ได้ระบุtargetSdkVersion
targetSdkVersion
ของแอปจะกลายเป็น 32 เนื่องจากการผสานไฟล์ Manifest- Android SDK: การระบุ
targetSdkVersion
ในbuild.gradle
หรือAndroidManifest.xml
ของโปรเจ็กต์จะลบล้างค่าtargetSdkVersion
ของ ARCore - AR Foundation สำหรับ Android: การระบุระดับ API เป้าหมายในการตั้งค่าโปรเจ็กต์ > Player > Android > การตั้งค่าอื่นๆ ของโปรเจ็กต์ Unity จะลบล้างค่า
targetSdkVersion
ของ ARCore
- Android SDK: การระบุ
การเปลี่ยนแปลงและการอัปเดตเพิ่มเติม
ดูการเปลี่ยนแปลงอื่นๆ การแก้ไขข้อบกพร่อง และการเพิ่มประสิทธิภาพได้ในบันทึกประจำรุ่น
- บันทึกประจำรุ่น ARCore SDK สำหรับ Android
- บันทึกประจำรุ่นของ ARCore สำหรับ Android NDK
- บันทึกประจำรุ่น ARCore SDK สำหรับ iOS
- บันทึกประจำรุ่นของส่วนขยาย ARCore สำหรับ AR Foundation
มีอะไรใหม่ใน ARCore v1.31.0
ARCore Geospatial API
ARCore Geospatial API ใหม่ใช้ข้อมูลจากโมเดล 3 มิติของ Google Earth และข้อมูลรูปภาพ Street View จาก Google Maps เพื่อช่วยให้แอปของคุณมอบประสบการณ์ Augmented Reality (AR) ที่สมจริงและครอบคลุมทั่วโลกโดยอิงตามตำแหน่ง
ดูข้อมูลเบื้องต้นเกี่ยวกับ ARCore Geospatial API เพื่อดูเอกสารประกอบสำหรับนักพัฒนาซอฟต์แวร์เฉพาะแพลตฟอร์ม และเพื่อเริ่มต้นใช้งาน Geospatial API เวอร์ชันใหม่
ความลึกระยะไกล
ตอนนี้ ARCore Depth API ได้รับการเพิ่มประสิทธิภาพให้รวมการตรวจจับระยะไกลไว้ด้วย ซึ่งจะเพิ่มช่วงของข้อมูลเชิงลึกเกี่ยวกับความลึกที่แสดงได้ ระบบจะใช้ภาพความลึก 16 บิตทั้งหมด ซึ่งให้ช่วงสูงสุด 65535 มิลลิเมตร ก่อนหน้านี้ระบบจะป้อนข้อมูลเฉพาะ 13 บิตที่มีขีดจํากัด 8191 มิลลิเมตร
ดูการเปลี่ยนแปลงของ Depth เพื่อดูเอกสารประกอบสำหรับนักพัฒนาซอฟต์แวร์เฉพาะแพลตฟอร์ม และเพื่อทำความเข้าใจการเปลี่ยนแปลงของ Depth API
หมายเหตุเฉพาะแพลตฟอร์ม
Android
ARCore Geospatial API ใหม่
Java
Earth
ให้ความสามารถในการระบุตำแหน่งในพิกัดสัมพัทธ์กับโลกEarth.createAnchor()
สร้างAnchor
ใหม่ ณ ตําแหน่งและการวางแนวที่ระบุ สัมพันธ์กับโลก
Earth.Earthstate
อธิบายสถานะปัจจุบันของEarth
รวมถึงTrackingState
GeospatialPose
อธิบายตำแหน่งที่เฉพาะเจาะจง ความสูง และทิศทางของเข็มทิศซึ่งสัมพันธ์กับโลก
C
ArEarth
ให้ความสามารถในการแปลเป็นภาษาท้องถิ่นในพิกัดสัมพัทธ์กับโลกArEarth_acquireNewAnchor()
สร้างAnchor
ใหม่ ณ ตําแหน่งและการวางแนวที่ระบุ สัมพันธ์กับโลกArEarthState
อธิบายสถานะปัจจุบันของArEarth
รวมถึงArTrackingState
ArGeospatialPose
อธิบายตำแหน่งที่เฉพาะเจาะจง ความสูง และทิศทางของเข็มทิศซึ่งสัมพันธ์กับโลก
ARCore Depth API ที่อัปเดต
Java
- การเรียกฟังก์ชัน Depth API มีการเปลี่ยนแปลงดังนี้
Frame.acquireDepthImage
กับFrame.acquireDepthImage16Bits
Frame.acquireRawDepthImage
กับFrame.acquireRawDepthImage16Bits
- รูปแบบรูปภาพเอาต์พุตสําหรับการเรียกทั้ง 2 รายการเปลี่ยนจาก
android.graphics.ImageFormat#DEPTH16
เป็นandroid.hardware.HardwareBuffer#D_16
- ระบบยังคงแสดงภาพความลึกเป็นจำนวนเต็ม 16 บิตในหน่วยมิลลิเมตร แต่ตอนนี้ระบบจะใช้ 16 บิตทั้งหมดเพื่อแสดงภาพความลึก ซึ่งช่วยให้ช่วงสูงสุดที่แสดงได้คือ 8191 มม. ถึง 65535 มม.
- การเรียกฟังก์ชัน Depth API
Frame.acquireDepthImage
และFrame.acquireRawDepthImage
เลิกใช้งานแล้ว โปรดใช้Frame.acquireDepthImage16Bits
และFrame.acquireRawDepthImage16Bits
แทน
- การเรียกฟังก์ชัน Depth API มีการเปลี่ยนแปลงดังนี้
C
- การเรียกฟังก์ชัน Depth API มีการเปลี่ยนแปลงดังนี้
ArFrame_acquireDepthImage
กับArFrame_acquireDepthImage16Bits
ArFrame_acquireRawDepthImage
ถึงArFrame_acquireRawDepthImage16Bits
- รูปแบบรูปภาพเอาต์พุตสําหรับการเรียกทั้ง 2 รายการเปลี่ยนจาก
AR_IMAGE_FORMAT_DEPTH16
เป็นAR_IMAGE_FORMAT_D_16
- ระบบยังคงแสดงภาพความลึกเป็นจำนวนเต็ม 16 บิตในหน่วยมิลลิเมตร แต่ตอนนี้ระบบจะใช้ 16 บิตทั้งหมดเพื่อแสดงภาพความลึก ซึ่งช่วยให้ช่วงสูงสุดที่แสดงได้คือ 8191 มม. ถึง 65535 มม.
- การเรียกฟังก์ชัน Depth API
ArFrame_acquireDepthImage
และArFrame_acquireRawDepthImage
เลิกใช้งานแล้ว โปรดใช้ArFrame_acquireDepthImage16Bits
และArFrame_acquireRawDepthImage16Bits
แทน
- การเรียกฟังก์ชัน Depth API มีการเปลี่ยนแปลงดังนี้
Unity (AR Foundation)
ARCore Geospatial API ใหม่
AREarthManager
ให้ความสามารถในการแปลเป็นภาษาท้องถิ่นในพิกัดสัมพัทธ์กับโลกEarthTrackingState
รับสถานะการติดตามของ Earth สำหรับเฟรมล่าสุดEarthState
รักษาสภาพข้อผิดพลาดของ Earth
GeospatialPose
อธิบายสถานที่ตั้งที่เฉพาะเจาะจง ความสูง และทิศทางของเข็มทิศโดยสัมพันธ์กับโลกARGeospatialAnchor
ระบุจุดยึดสำหรับวัตถุเกมในฉาก ซึ่งระบุตำแหน่งและการวางแนวสัมพันธ์กับโลก
iOS
ARCore Geospatial API ใหม่
GAREarth
แสดงการแปลที่สัมพันธ์กับโลกGAREarthState.earthState
จัดการสถานะและเงื่อนไขข้อผิดพลาดGAREarthState.trackingState
รักษาสถานะการติดตาม ซึ่งจําเป็นสําหรับข้อมูลเชิงพื้นที่
GARGeospatialTransform
การนําเสนอการเปลี่ยนรูปแบบทั่วโลก ซึ่งรวมถึงตําแหน่ง ทิศทาง ความสูง และค่าความแม่นยําโดยประมาณGARSession.createAnchorWithCoordinate:altitude:eastUpSouthQAnchor:error:
สร้างจุดยึดภูมิสารสนเทศ ณ ตำแหน่งและการวางแนวที่ระบุซึ่งสัมพันธ์กับโลก
การเปลี่ยนแปลงอื่นๆ
ดูการเปลี่ยนแปลงอื่นๆ การแก้ไขข้อบกพร่อง และการเพิ่มประสิทธิภาพได้ในบันทึกประจำรุ่น
- บันทึกประจำรุ่น ARCore SDK สำหรับ Android
- บันทึกประจำรุ่นของ ARCore สำหรับ Android NDK
- บันทึกประจำรุ่น ARCore SDK สำหรับ iOS
- บันทึกประจำรุ่นของส่วนขยาย ARCore สำหรับ AR Foundation
มีอะไรใหม่ใน ARCore v1.30.0
เวอร์ชันนี้ไม่มีฟีเจอร์ใหม่
Android
- แสดงค่าที่ API แสดงคำอธิบายประกอบด้วย
@NonNull
และ@Nullable
- อัปเดตเวอร์ชันเครื่องมือสร้างที่ใช้สำหรับสร้างตัวอย่าง: Gradle เป็น 7.0.2 และปลั๊กอิน Android Gradle เป็น 7.0.4 คุณไม่จําเป็นต้องอัปเกรดเครื่องมือเหล่านี้สําหรับแอปพลิเคชัน ARCore ที่มีอยู่ ดูฟีเจอร์ใหม่ ปัญหาที่ทราบ และข้อมูลการไม่เข้ากันได้ได้ที่เอกสารประกอบของ Android เกี่ยวกับปลั๊กอิน Android Gradle
Unity (AR Foundation)
เพิ่มรุ่น
arcore-unity-extensions-without-edm4u.tgz
ใหม่ ตัวแปรรุ่นนี้จะไม่รวมแพ็กเกจของไลบรารีภายนอก เช่น External Dependency Manager สำหรับ Unity และอนุญาตให้อัปเกรดเป็น EDM การใช้รุ่น Lite นี้อาจช่วยแก้ปัญหาความเข้ากันไม่ได้เมื่อใช้ไลบรารี Firebase ดูวิธีการติดตั้งส่วนขยาย ARCore สำหรับ AR Foundation เพื่อเริ่มต้นใช้งานอัปเกรด ExternalDependencyManager เป็น v1.2.168 เพื่อรองรับ 2021.2 ขึ้นไปได้ดียิ่งขึ้น ดูรายละเอียดได้ในบันทึกการเปลี่ยนแปลงของ EDM
แก้ไขปัญหาที่เซสชัน ARCore กำหนดค่าทุกเฟรมแม้ว่าจะไม่มีการเปลี่ยนแปลงในการกําหนดค่าเซสชัน ซึ่งทําให้ FPS ลดลง
iOS
- แก้ไขข้อบกพร่องและปรับปรุงประสิทธิภาพหลายรายการ
มีอะไรใหม่ใน ARCore v1.29.0
เวอร์ชันนี้ไม่มีฟีเจอร์ใหม่
Android
- hello_ar_java และ hello_ar_kotlin: เปลี่ยนสีของวัตถุเมื่อวางโดยใช้
SCREENSPACE_WITH_APPROXIMATE_DISTANCE
เพื่อให้แยกแยะวัตถุที่วางโดยใช้การวางทันทีได้ดียิ่งขึ้น - persistent_cloud_anchor_java: เพิ่มการพึ่งพาบิลด์ที่ขาดหายไปลงในตัวอย่าง แก้ไขข้อบกพร่องที่การโฮสต์หมุดใดๆ จะมีสถานะเป็น
CloudAnchorState ERROR_NOT_AUTHORIZED
แม้ว่าจะตั้งค่าโปรเจ็กต์อย่างถูกต้องแล้วก็ตาม
Unity (AR Foundation)
- ตอนนี้แพ็กเกจส่วนขยาย ARCore จะใช้ ARKit XR Plugin เพื่อให้มั่นใจว่าเวอร์ชัน AR Foundation ที่ติดตั้งไว้เข้ากันได้กับเวอร์ชัน ARKit XR Plugin วิธีนี้จะช่วยแก้ไขข้อผิดพลาดในการคอมไพล์เมื่อติดตั้งส่วนขยาย ARCore ใน Unity 2019.x และเปิดใช้ปลั๊กอิน ARKit XR
- การตั้งค่าโปรเจ็กต์ส่วนขยาย ARCore ได้ย้ายจากการตั้งค่าโปรเจ็กต์ > XR > ส่วนขยาย ARCore ไปยังการตั้งค่าโปรเจ็กต์ > การจัดการปลั๊กอิน XR > ส่วนขยาย ARCore
ARCoreExtensionsConfig
,ARCoreExtensionsCameraConfigFilter
,ARCoreRecordingConfig
ได้ย้ายจากเมนูสร้าง > XR > ส่วนขยาย ARCore ไปยังเมนูสร้าง > XR
iOS
- แก้ไขข้อบกพร่องและปรับปรุงประสิทธิภาพหลายรายการ
บันทึกประจำรุ่นที่สมบูรณ์
- บันทึกประจำรุ่นฉบับสมบูรณ์ของ ARCore SDK สำหรับ Android
- บันทึกประจำรุ่นฉบับสมบูรณ์ของ ARCore สำหรับ Android NDK
- บันทึกประจำรุ่นฉบับสมบูรณ์ของ ARCore SDK สำหรับ iOS
- บันทึกประจำรุ่นของส่วนขยาย ARCore สำหรับ AR Foundation
มีอะไรใหม่ใน ARCore v1.28.0
- ตั้งแต่เดือนพฤศจิกายน 2022 เป็นต้นไป แอปที่เปิดใช้ AR จะไม่สามารถรับภาพ NDK หรือข้อมูลเมตาของภาพได้อีกต่อไป เวอร์ชัน SDK ที่ได้รับผลกระทบจะขึ้นอยู่กับฟังก์ชันที่เรียกใช้ ดูข้อมูลเพิ่มเติมได้ที่ประกาศการเลิกใช้งาน
- C: การเรียกใช้
ArImage_getNdkImage()
และArImage_getNdkCameraMetadata()
จะแสดงผลnullptr
สำหรับออบเจ็กต์AImage
และACameraMetadata
เสมอ - Java: ออบเจ็กต์
Image
ที่Frame#acquireCameraImage()
แสดงผลจะมีขนาด0
x0
พิกเซล การเรียกใช้Frame#getImageMetadata()
จะแสดงIllegalArgumentException
เสมอ - Unity (AR Foundation): เมื่อใช้ AR Foundation 2.1 (Unity 2019 LTS) การเรียกใช้
XRCameraSubsystem.TryGetLatestImage(out XRCameraImage)
จะแสดงผลเป็นfalse
เสมอ AR Foundation 4.x ขึ้นไปจะไม่ได้รับผลกระทบ การเรียกใช้XRCameraSubsystem.TryGetLatestImage(out XRCameraImage)
จะทำงานตามปกติ - ARCore SDK สําหรับ Unity (เลิกใช้งานแล้ว): การเรียก
Frame.CameraImage.AcquireCameraImageBytes()
จะมีขนาด0
x0
พิกเซล การเรียกใช้Frame.CameraMetadata.GetAllCameraMetadataTags()
จะแสดงผลList<CameraMetadataTag>
ว่าง
- C: การเรียกใช้
- Java: ตอนนี้
ArImage#getCropRect()
จะแสดงผลสี่เหลี่ยมผืนผ้าขนาดเต็มสำหรับการครอบตัด กล่าวคือ พิกเซลทั้งหมดในรูปภาพจะใช้งานได้ ดูข้อมูลเพิ่มเติมที่android.media.Image#getCropRect()
มีอะไรใหม่ใน ARCore v1.27.0
เวอร์ชันนี้ไม่มีฟีเจอร์ใหม่ ดูการแก้ไขข้อบกพร่องและการปรับปรุงประสิทธิภาพต่างๆ ได้ในบันทึกประจำรุ่นต่อไปนี้
- บันทึกประจำรุ่นฉบับสมบูรณ์ของ ARCore SDK สำหรับ Android
- บันทึกประจำรุ่นฉบับสมบูรณ์ของ ARCore สำหรับ Android NDK
- บันทึกประจำรุ่นฉบับสมบูรณ์ของ ARCore SDK สำหรับ iOS
- บันทึกประจำรุ่นของส่วนขยาย ARCore สำหรับ AR Foundation
นอกจากการแก้ไขข้อบกพร่องต่างๆ แล้ว เวอร์ชันนี้ยังมีสิ่งต่อไปนี้
ตัวอย่างแอปใน Kotlin
เพิ่ม hello_ar_kotlin เพื่อแสดงแนวทางปฏิบัติแนะนำเมื่อใช้ Kotlin
ดูข้อมูลเพิ่มเติมได้ในการเริ่มต้นใช้งานอย่างรวดเร็วสําหรับ Android
เพิ่ม ml_kotlin เพื่อสาธิตวิธีใช้โมเดลการจัดประเภทรูปภาพกับ ARCore
ดูข้อมูลเพิ่มเติมได้ที่ใช้ ARCore เป็นอินพุตสําหรับโมเดลแมชชีนเลิร์นนิง
มีอะไรใหม่ใน ARCore v1.26.0
การเปลี่ยนแปลงที่สําคัญในรุ่นนี้ ได้แก่
- ตอนนี้ระบบรองรับ URI สำหรับชุดข้อมูลในการบันทึกและการเล่นแล้ว
การเปลี่ยนแปลงและการอัปเดตเพิ่มเติม
ดูการแก้ไขข้อบกพร่องเพิ่มเติมและการเปลี่ยนแปลงอื่นๆ ที่ส่งผลกับส่วนอื่นในระบบได้ในบันทึกประจำรุ่นต่อไปนี้
- บันทึกประจำรุ่นฉบับสมบูรณ์ของ ARCore SDK สำหรับ Android
- บันทึกประจำรุ่นฉบับสมบูรณ์ของ ARCore สำหรับ Android NDK
- บันทึกประจำรุ่นฉบับสมบูรณ์ของ ARCore SDK สำหรับ iOS
- บันทึกประจำรุ่นของส่วนขยาย ARCore สำหรับ AR Foundation
มีอะไรใหม่ใน ARCore v1.25.0
เวอร์ชันนี้ไม่มีฟีเจอร์ใหม่ ดูการแก้ไขข้อบกพร่องและการปรับปรุงประสิทธิภาพต่างๆ ได้ในบันทึกประจำรุ่นต่อไปนี้
- บันทึกประจำรุ่นฉบับสมบูรณ์ของ ARCore SDK สำหรับ Android
- บันทึกประจำรุ่นฉบับสมบูรณ์ของ ARCore สำหรับ Android NDK
- บันทึกประจำรุ่นฉบับสมบูรณ์ของ ARCore SDK สำหรับ iOS
- บันทึกประจำรุ่นฉบับสมบูรณ์ของ ARCore SDK สำหรับ Unity
- บันทึกประจำรุ่นของส่วนขยาย ARCore สำหรับ AR Foundation
มีอะไรใหม่ใน ARCore v1.24.0
การเปลี่ยนแปลงที่สําคัญในรุ่นนี้ ได้แก่
- Raw Depth API ใหม่ซึ่งให้ภาพความลึกโดยไม่ต้องกรองพื้นที่รูปภาพ
- ความสามารถในการบันทึกแทร็กข้อมูลที่กำหนดเองใน Recording & Playback API
- ความสามารถในการทําการทดสอบการตีความความลึก
ความลึกของภาพดิบ
Raw Depth API ให้ข้อมูลความลึกของรูปภาพจากกล้องที่มีความแม่นยำมากกว่าข้อมูล Depth API แบบเต็ม แต่อาจไม่ครอบคลุมทุกพิกเซลเสมอไป ระบบยังประมวลผลรูปภาพความลึกแบบดิบพร้อมกับรูปภาพความเชื่อมั่นที่ตรงกันได้เพิ่มเติมด้วย ซึ่งช่วยให้แอปใช้เฉพาะข้อมูลความลึกที่มีความแม่นยำเพียงพอสำหรับกรณีการใช้งานแต่ละรายการได้
คู่มือนักพัฒนาแอป
การบันทึกแทร็กที่กำหนดเอง
ความสามารถในการติดตามข้อมูลที่กำหนดเองแบบใหม่ใน Recording & Playback API ช่วยให้คุณเพิ่มข้อมูลที่กำหนดเองลงในเฟรม ARCore ขณะบันทึกและดึงข้อมูลเดียวกันนั้นจากเฟรมระหว่างการเล่นได้
คู่มือนักพัฒนาแอป
การทดสอบ Hit ของระดับความลึก
ก่อนหน้านี้ การทดสอบการตีจะดำเนินการได้บนระนาบที่ตรวจพบเท่านั้น ซึ่งจํากัดตําแหน่งไว้ที่พื้นผิวเรียบขนาดใหญ่ การทดสอบการชนแบบใช้ข้อมูลความลึกจะใช้ประโยชน์จากทั้งข้อมูลความลึกที่เรียบและข้อมูลความลึกดิบเพื่อให้ผลลัพธ์การชนที่แม่นยำยิ่งขึ้น แม้บนพื้นผิวที่ไม่ใช่ระนาบและมีพื้นผิวต่ำ
คู่มือนักพัฒนาแอป
การเปลี่ยนแปลงและการอัปเดตเพิ่มเติม
ดูการแก้ไขข้อบกพร่องเพิ่มเติมและการเปลี่ยนแปลงอื่นๆ ที่ส่งผลกับส่วนอื่นในระบบได้ในบันทึกประจำรุ่นต่อไปนี้
- บันทึกประจำรุ่นฉบับสมบูรณ์ของ ARCore SDK สำหรับ Android
- บันทึกประจำรุ่นฉบับสมบูรณ์ของ ARCore สำหรับ Android NDK
- บันทึกประจำรุ่นฉบับสมบูรณ์ของ ARCore SDK สำหรับ iOS
- บันทึกประจำรุ่นฉบับสมบูรณ์ของ ARCore SDK สำหรับ Unity
- บันทึกประจำรุ่นของส่วนขยาย ARCore สำหรับ AR Foundation
มีอะไรใหม่ใน ARCore v1.23.0
รอการรองรับกล้องคู่
เราจะเปิดตัวการรองรับกล้องคู่ในอีกไม่กี่สัปดาห์ข้างหน้า ดูข้อมูลเพิ่มเติมที่หน้าอุปกรณ์ที่รองรับ
เครื่องมือแก้ไขข้อบกพร่องใหม่
การส่ง Intent การออกอากาศช่วยให้นักพัฒนาแอปเปิดใช้สิ่งต่อไปนี้ได้
การบันทึกการเรียก ARCore API ลงในบันทึกการแก้ไขข้อบกพร่องของ Android
การซ้อนทับประสิทธิภาพของ ARCore
โฮสติ้งและการแก้ไข Cloud Anchor
แอปที่เปิดใช้ AR ซึ่งสร้างโดยใช้ ARCore SDK 1.11.0 หรือเวอร์ชันก่อนหน้าจะไม่สามารถโฮสต์หรือแก้ไข Cloud Anchor ได้อีกต่อไป
ค: Cloud Anchor ที่แสดงผลโดย
ArSession_hostAndAcquireNewCloudAnchor
และArSession_resolveAndAcquireNewCloudAnchor
จะมีสถานะเป็นAR_CLOUD_ANCHOR_STATE_ERROR_INTERNAL
เสมอJava: Cloud Anchor ที่แสดงผลโดย
Session.hostCloudAnchor(Anchor)
และSession.resolveCloudAnchor(String)
จะมีสถานะเป็นAnchor.CloudAnchorState.ERROR_INTERNAL
เสมอUnity: Cloud Anchor ที่แสดงผลโดย
XPSession.CreateCloudAnchor(Anchor)
และXPSession.ResolveCloudAnchor(string)
จะมีสถานะเป็นCloudServiceResponse.ErrorInternal
เสมอ
แอปที่สร้างด้วย ARCore SDK 1.12.0 ขึ้นไปจะไม่ได้รับผลกระทบ การใช้งาน ARCore Cloud Anchor API อยู่ภายใต้นโยบายการเลิกใช้งาน
การเปลี่ยนแปลงและการอัปเดตเพิ่มเติม
ดูการแก้ไขข้อบกพร่องเพิ่มเติมและการเปลี่ยนแปลงอื่นๆ ที่ส่งผลต่อเวอร์ชันต่างๆ ได้ในบันทึกประจำรุ่นต่อไปนี้
มีอะไรใหม่ใน ARCore v1.22.0
เวอร์ชันนี้เพิ่มRecording and Playback API และ Camera Config Filter API ใหม่สำหรับส่วนขยาย ARCore สำหรับ AR Foundation ดูรายละเอียดได้ที่บันทึกประจำรุ่นฉบับสมบูรณ์ของ ARCore Extensions
การเปลี่ยนแปลงและการอัปเดตเพิ่มเติม
ดูการแก้ไขข้อบกพร่องเพิ่มเติมและการเปลี่ยนแปลงอื่นๆ ที่ส่งผลต่อเวอร์ชันต่างๆ ได้ในบันทึกประจำรุ่นต่อไปนี้
มีอะไรใหม่ใน ARCore v1.21.0
เวอร์ชันนี้เพิ่ม API การบันทึกและการเล่นใหม่สำหรับ Android, Android NDK และ Unity
การบันทึกและการเล่น
เมื่อใช้ Recording and Playback API คุณจะบันทึกวิดีโอและข้อมูล AR ได้ครั้งเดียวภายในสภาพแวดล้อมหนึ่งๆ และใช้เนื้อหานั้นแทนเซสชันกล้องสดเพื่อวัตถุประสงค์ในการทดสอบ ARCore จะบันทึกเซสชันที่บันทึกไว้ลงในไฟล์ MP4 ซึ่งมีแทร็กวิดีโอหลายแทร็กและข้อมูลอื่นๆ บนอุปกรณ์ จากนั้นคุณสามารถกำหนดให้แอปใช้ข้อมูลนี้แทนเซสชันกล้องสดได้ วิธีนี้ช่วยให้คุณเล่นเนื้อหานั้นซ้ำได้ไม่จำกัดเพื่อลองใช้เอฟเฟกต์ AR แบบต่างๆ โดยไม่ต้องกลับไปที่สถานที่จริง
ดูรายละเอียดเพิ่มเติมที่นี่
Java:
C:
Unity:
มีอะไรใหม่ใน ARCore v1.20.0
การเปลี่ยนแปลงที่สําคัญในรุ่นนี้ ได้แก่
การรองรับใหม่สําหรับหมุดเมฆถาวร
ความสามารถของข้อมูลเมตาของรูปภาพที่อัปเดตสำหรับ Android และ Android NDK
คําแนะนําใหม่ที่กำหนดให้ใช้ Gradle เวอร์ชัน 5.6.4 ขึ้นไปเพื่อรองรับส่วนขยาย ARCore สำหรับ AR Foundation หรือ ARCore SDK สำหรับ Unity (1.19 ขึ้นไป) กับ Unity 2018.4 ขึ้นไป
การรองรับใหม่สำหรับหมุด Cloud แบบถาวร
ก่อน ARCore v1.20 ระบบจะแก้ไข Cloud Anchor ได้สูงสุด 24 ชั่วโมงหลังจากโฮสต์ครั้งแรกเท่านั้น ตอนนี้คุณสร้าง Cloud Anchor ที่มีเวลาหมดอายุ (TTL) ระหว่าง 1 ถึง 365 วันได้แล้วด้วย Cloud Anchor แบบถาวร นอกจากนี้ คุณยังขยายอายุของหมุดหลังจากโฮสต์แล้วได้ด้วยCloud Anchor Management API
การใช้ Cloud Anchor แบบถาวรอยู่ภายใต้นโยบายการเลิกใช้งาน Cloud Anchor ใหม่
ค: คู่มือนักพัฒนาซอฟต์แวร์,
ArSession_hostAndAcquireNewCloudAnchorWithTtl
และArSession_estimateFeatureMapQualityForHosting
Java: คู่มือนักพัฒนาซอฟต์แวร์,
hostCloudAnchorWithTtl
และestimateFeatureMapQualityForHosting
iOS: คู่มือนักพัฒนาแอป,
hostCloudAnchor:TTLDays:error:
และestimateFeatureMapQualityForHosting:
ส่วนขยาย ARCore สำหรับ AR Foundation: คู่มือนักพัฒนาแอป Android, คู่มือนักพัฒนาแอป iOS,
ARAnchorManager.HostCloudAnchor(ARAnchor, int)
,ARAnchorManager.SetAuthToken(string)
และARAnchorManager.EstimateFeatureMapQualityForHosting(Pose)
การกําหนดเป้าหมาย Android ของ Unity: คู่มือนักพัฒนาซอฟต์แวร์
XPSession.CreateCloudAnchor(Anchor, int)
และXPSession.EstimateFeatureMapQualityForHosting(Pose)
การกําหนดเป้าหมาย iOS ของ Unity: คู่มือนักพัฒนาซอฟต์แวร์,
XPSession.SetAuthToken(string)
และXPSession.CreateCloudAnchor(UnityARUserAnchorComponent, int)
การเปลี่ยนแปลงและการอัปเดตเพิ่มเติม
ดูการแก้ไขข้อบกพร่องเพิ่มเติมและการเปลี่ยนแปลงอื่นๆ ที่ส่งผลต่อเวอร์ชันต่างๆ ได้ในบันทึกประจำรุ่นต่อไปนี้
มีอะไรใหม่ใน ARCore v1.19.0
การเปลี่ยนแปลงที่สําคัญในรุ่นนี้ ได้แก่
- Instant Placement API ใหม่สําหรับ Android, Android NDK และ Unity
- คําแนะนําใหม่สําหรับการสร้างแอปสําหรับ Android 11 ด้วย Unity
ตำแหน่งโฆษณาแบบทันที
Instant Placement API ช่วยให้ผู้ใช้วางวัตถุ AR บนหน้าจอได้โดยไม่ต้องรอให้ ARCore ตรวจหาเรขาคณิตของพื้นผิว ระบบจะปรับการวางวัตถุแบบเรียลไทม์เมื่อผู้ใช้เดินไปรอบๆ สภาพแวดล้อม เมื่อ ARCore ตรวจพบท่าทางที่ถูกต้องในบริเวณที่มีการวางวัตถุ AR ไว้ วัตถุสีขาวจะอัปเดตโดยอัตโนมัติเพื่อให้สอดคล้องกับท่าทางและกลายเป็นทึบแสง
คลิปต่อไปนี้แสดงรูปเสมือนของ Android บนโต๊ะในชีวิตจริง ตัวเลขเป็นสีขาวและเล็กกว่ามากเมื่อวางครั้งแรก หลังจาก ARCore ปรับการคำนวณมิติข้อมูลของฉากแล้ว ตัวเลขจะกระโดดไปยังตำแหน่งที่แม่นยำยิ่งขึ้น ซึ่งอาจส่งผลให้ "ขนาด" ที่รับรู้ของออบเจ็กต์แตกต่างกัน
ดูรายละเอียดเพิ่มเติมที่นี่
Android
Android NDK:
Unity:
มีอะไรใหม่ใน ARCore v1.18.0
การเปลี่ยนแปลงที่สําคัญในรุ่นนี้ ได้แก่
- Depth API ใหม่สําหรับ Android, Android NDK และ Unity
- คำแนะนำใหม่สำหรับการสร้างชิ้นงานใบหน้าที่เพิ่มประสิทธิภาพและนำเข้าชิ้นงานดังกล่าวไปยัง Android Studio
4.1.0-preview.2
จะรองรับ Depth API สำหรับทั้งAR Foundation
และARCore XR Plugin
Depth API
ในอุปกรณ์ที่รองรับความลึก Depth API จะใช้กล้อง RGB ของอุปกรณ์ที่รองรับ ARCore หรือเซ็นเซอร์ความลึกแบบทำงานอยู่ (หากมี) เพื่อสร้างแผนที่ความลึก จากนั้นคุณก็สามารถใช้ความลึกต่อพิกเซลที่ได้จากแผนที่ความลึกเพื่อให้วัตถุเสมือนจริงปรากฏอยู่ด้านหน้าหรือด้านหลังวัตถุในโลกจริงได้อย่างถูกต้อง ซึ่งช่วยให้ผู้ใช้ได้รับประสบการณ์ที่สมจริงและน่าประทับใจ
เช่น รูปภาพต่อไปนี้แสดงรูปเสมือนของ Android ในพื้นที่จริงที่มีกระโปรงท้ายข้างประตู Depth API บดบังบุคคลที่อยู่หลังขอบของลำต้นอย่างเหมาะสม
ดูรายละเอียดเพิ่มเติมที่นี่
Android
Android NDK:
Unity:
มีอะไรใหม่ใน ARCore v1.17.0
สิ่งที่น่าสังเกตใน ARCore SDK สําหรับ Android
เพิ่มวิธีการใหม่ที่ช่วยในการบัฟเฟอร์เฟรมกล้องหลายเฟรม เทคนิคนี้สามารถใช้ร่วมกับเทคนิคอื่นๆ เช่น การแสดงผลแบบหลายเธรด เพื่อลดความแปรปรวนของอัตราเฟรม
เพิ่มการใช้งานเซ็นเซอร์ตรวจจับความลึกและตัวรับ FPS เป้าหมายที่ขาดหายไป
โปรดดูบันทึกประจำรุ่นฉบับสมบูรณ์ของ Android SDK สำหรับ Android ด้วย
สิ่งที่น่าสังเกตใน ARCore SDK สําหรับ Unity
- เพิ่มการรองรับการแสดงผลแบบหลายเธรดใน Unity เวอร์ชัน 2018.2 ขึ้นไป ซึ่งในกรณีส่วนใหญ่จะปรับปรุงประสิทธิภาพและช่วยลดความแปรปรวนของอัตราเฟรม นี่คือการตั้งค่าโปรเจ็กต์ Unity ซึ่งอยู่ในการตั้งค่าโปรเจ็กต์ > Player > Android > การตั้งค่าอื่นๆ > การแสดงผลแบบหลายเธรด ดูรายละเอียดได้ในคู่มือนักพัฒนาซอฟต์แวร์
- เพิ่ม
SessionStatus.ErrorCameraNotAvailable
และSessionStatus.ErrorIllegalState
เพื่อระบุสถานะข้อผิดพลาดของเซสชัน ARCore ที่เฉพาะเจาะจง
โปรดดูบันทึกประจำรุ่นฉบับสมบูรณ์ของ ARCore SDK สำหรับ Unity ด้วย
สิ่งที่น่าสังเกตใน ARCore SDK สําหรับ iOS
ขนาดไบนารีของ Cloud Anchors SDK ลดลงอย่างมาก
ตอนนี้ใบหน้าที่เพิ่มประสิทธิภาพรองรับบิตโค้ดแล้ว
โปรดดูบันทึกประจำรุ่นฉบับสมบูรณ์ของ ARCore SDK สําหรับ iOS ด้วย
มีอะไรใหม่ใน ARCore v1.16.0
สิ่งที่น่าสังเกตใน ARCore SDK สำหรับ Android และ Sceneform SDK สำหรับ Android
การเปลี่ยนแปลงที่สําคัญในรุ่นนี้ ได้แก่
- ตอนนี้อุปกรณ์ส่วนใหญ่จะแสดงการกำหนดค่ากล้องที่รองรับเพิ่มเติมที่มีความละเอียดของพื้นผิว GPU ต่ำกว่าความละเอียดของพื้นผิว GPU เริ่มต้นของอุปกรณ์
ดูรายละเอียดได้ที่อุปกรณ์ที่รองรับ ARCore
ความละเอียด GPU ที่ขยายเหล่านี้พร้อมใช้งานผ่าน
getSupportedCameraConfigs(CameraConfigFilter)
API
และดู:
สิ่งที่น่าสนใจใน ARCore Extensions สำหรับ AR Foundation
การเปลี่ยนแปลงที่สําคัญในรุ่นนี้ ได้แก่
XRCameraConfiguration
ของ AR Foundation ได้รับการขยายให้มีเมธอดที่ช่วยให้คุณเลือกการกำหนดค่ากล้องที่เหมาะสมตามเกณฑ์ที่ต้องการ ซึ่งได้แก่ GetTextureDimensions(), GetFPSRange() และ GetDepthSensorUsages() อ่านวิธีการโดยละเอียดตอนนี้ Unity 2019.3.0f6 เป็นเวอร์ชันขั้นต่ำที่แนะนำสำหรับส่วนขยาย ARCore AR Foundation 3.1.0-preview.6 ต้องใช้ Unity เวอร์ชัน 2019.3 ขึ้นไป
ตอนนี้ Unity ใช้คำว่า Anchor, Cloud Anchor และ Cloud Anchor ID ใน API AR แบบข้ามแพลตฟอร์ม เอกสารประกอบสำหรับส่วนขยาย ARCore ได้รับการอัปเดตให้สอดคล้องกับข้อมูลนี้แล้ว
และดู:
สิ่งที่น่าสังเกตใน ARCore SDK สําหรับ Unity
รุ่นนี้มีการเปลี่ยนแปลงที่สําคัญต่อไปนี้
- ตอนนี้อุปกรณ์ส่วนใหญ่จะแสดงการกำหนดค่ากล้องที่รองรับเพิ่มเติมที่มีความละเอียดของพื้นผิว GPU ต่ำกว่าความละเอียดของพื้นผิว GPU เริ่มต้นของอุปกรณ์ (โปรดดูรายละเอียดที่หัวข้ออุปกรณ์ที่รองรับ ARCore) ความละเอียด GPU ที่ขยายเหล่านี้พร้อมใช้งานผ่าน ARCoreCameraConfigFilter API
และดู:
บันทึกประจำรุ่นฉบับสมบูรณ์ของ ARCore SDK สำหรับ Unity
มีอะไรใหม่ใน ARCore v1.15.0
สิ่งที่น่าสนใจใน ARCore Extensions สำหรับ AR Foundation
รุ่นนี้มีการเปลี่ยนแปลงที่สำคัญต่อไปนี้
เพิ่มตัวอย่าง CloudAnchors ที่แสดงวิธีสร้างประสบการณ์ AR ที่แชร์สำหรับทั้ง Android และ iOS ดูวิธีการสำหรับ Android หรือ iOS
ตอนนี้ Unity 2019.2.17f1 เป็นเวอร์ชันขั้นต่ำที่แนะนำสำหรับใช้กับ ARCore Extension
บันทึกประจำรุ่นฉบับสมบูรณ์ของส่วนขยาย ARCore
สิ่งที่น่าสังเกตใน ARCore SDK สําหรับ Unity
เวอร์ชันนี้มีปัญหาที่ทราบดังต่อไปนี้
การแสดงตัวอย่างทันทีอาจทำให้ Unity ค้างเมื่อใช้ Android 9 และสาย USB 3 วิธีแก้ไขคืออัปเดตเป็น Android 10 หรือใช้สาย USB 2
การแสดงตัวอย่างทันทีอาจไม่แสดงในอุปกรณ์เมื่อความละเอียดของมุมมองเกม Unity สูงเกินไป วิธีแก้ไขคือลดความละเอียดของมุมมองเกมของ Unity ในเครื่องมือแก้ไข
บันทึกประจำรุ่นฉบับสมบูรณ์ของ ARCore SDK สำหรับ Unity
การเปลี่ยนแปลงเพิ่มเติม
ดูการแก้ไขข้อบกพร่องเพิ่มเติมและการเปลี่ยนแปลงอื่นๆ ที่ส่งผลต่อเวอร์ชันต่างๆ ได้ในบันทึกประจำรุ่นต่อไปนี้
มีอะไรใหม่ใน ARCore v1.14.0
รุ่นนี้มีการเปลี่ยนแปลงที่สำคัญต่อไปนี้
เมื่อแอปสูญเสียสิทธิ์เข้าถึงกล้องชั่วคราวให้กับแอปอื่นในอุปกรณ์ ตอนนี้สาเหตุของการติดตามที่ไม่สำเร็จจะระบุได้ชัดเจนยิ่งขึ้น ดังนี้
Android:
TrackingFailureReason
คือCAMERA_UNAVAILABLE
ไม่ใช่NONE
Android NDK:
ArTrackingFailureReasons
คือAR_TRACKING_FAILURE_REASON_CAMERA_UNAVAILABLE
แทนที่จะเป็นAR_TRACKING_FAILURE_REASON_NONE
Unity:
Session.LostTrackingReason
คือLostTrackingReason.CameraUnavailable
ไม่ใช่None
Google เก็บรวบรวมและประมวลผลข้อมูลจากการใช้แพ็กเกจส่วนขยาย ARCore ของคุณตามนโยบายความเป็นส่วนตัวของ Google และข้อกำหนดในการให้บริการของ Google APIs คุณเลือกไม่ใช้ฟีเจอร์นี้ได้
มีอะไรใหม่ใน ARCore v1.13.0
รุ่นนี้มีการเปลี่ยนแปลงที่สำคัญต่อไปนี้
รองรับการใช้ส่วนขยาย ARCore สำหรับ AR Foundation ของ Unity เพื่อสร้างแอป iOS ด้วย Cloud Anchor
ดูการแก้ไขข้อบกพร่องเพิ่มเติมและการเปลี่ยนแปลงอื่นๆ ที่ส่งผลต่อเวอร์ชันต่างๆ ได้ในบันทึกประจำรุ่นต่อไปนี้
มีอะไรใหม่ใน ARCore v1.12.0
รุ่นนี้มีการเปลี่ยนแปลงต่อไปนี้
การเพิ่มฟีเจอร์ใบหน้าที่เพิ่มประสิทธิภาพลงใน iOS ดูข้อมูลเพิ่มเติมได้ที่ภาพรวมนี้ คู่มือเริ่มต้นใช้งาน และคู่มือนักพัฒนาซอฟต์แวร์
การรองรับการใช้ส่วนขยาย ARCore สำหรับ AR Foundation ของ Unity เพื่อสร้างแอป Android ด้วย Cloud Anchor
การเปลี่ยนแปลงต่อไปนี้สำหรับหมุดในระบบคลาวด์
- เพื่อให้เป็นไปตามข้อกําหนดด้านความเป็นส่วนตัวที่ปรับปรุงใหม่สําหรับการใช้ ARCore SDK เวอร์ชัน 1.12 ขึ้นไป คุณต้องเปิดเผยการใช้ Cloud Anchor อย่างเด่นชัดในแอปพลิเคชันโดยใส่ข้อความต่อไปนี้ รวมถึงลิงก์เพื่อดูข้อมูลเพิ่มเติมในหน้าจอการแจ้งเตือน "Google จะประมวลผลข้อมูลภาพจากกล้องของคุณเพื่อขับเคลื่อนเซสชันนี้" คุณทําได้โดยการใช้ขั้นตอนการแจ้งเตือนผู้ใช้ที่แนะนําซึ่งมีอยู่ในแอปตัวอย่าง Cloud Anchor
ดูรายละเอียดเพิ่มเติมได้ที่ข้อกำหนดด้านความเป็นส่วนตัวของผู้ใช้
ดูรายละเอียดเพิ่มเติมเกี่ยวกับหมุดบนระบบคลาวด์
Android
Android NDK:
iOS
Unity:
ส่วนขยาย ARCore
มีอะไรใหม่ใน ARCore v1.11.0
รุ่นนี้มีการเปลี่ยนแปลงต่อไปนี้
เราได้เปลี่ยนชื่อบริการ ARCore เป็น บริการ Google Play สำหรับ AR ในอุปกรณ์ Google Play ตอนนี้แอปนี้จัดจำหน่ายเป็นส่วนหนึ่งของบริการ Google Play แล้ว
การกำหนดค่ากล้องของ ARCore จะกำหนดเป้าหมายเป็น 60 fps ในอุปกรณ์ที่รองรับ และให้ความสำคัญกับการใช้เซ็นเซอร์ความลึกในอุปกรณ์ที่มี คุณสามารถใช้ตัวกรองการกําหนดค่ากล้องแบบใหม่เพื่อจํากัดอัตราเฟรมการจับภาพของกล้องไว้ที่ 30 fps, ป้องกันไม่ให้ ARCore ใช้เซ็นเซอร์ตรวจจับความลึก หรือกรองตามทั้ง 2 ตัวเลือก
ดูรายละเอียดเพิ่มเติมเกี่ยวกับการกำหนดค่ากล้อง
Android
Android NDK:
Unity:
มีอะไรใหม่ใน ARCore v1.10.0
เวอร์ชันนี้เพิ่มความสามารถในการประมาณแสง HDR สำหรับสภาพแวดล้อมใหม่ลงใน Lighting Estimation API สำหรับ Android, Android NDK และ Unity
API เหล่านี้ใช้แมชชีนเลิร์นนิงเพื่อวิเคราะห์รูปภาพจากกล้องอินพุตและประเมินแสงในสภาพแวดล้อม คุณสามารถใช้ข้อมูลการประมาณแสงนี้เพื่อแสดงผลแสงที่สมจริงมาก ซึ่งรวมถึงแสงหลักตามทิศทาง เงา แสงแวดล้อม ไฮไลต์ที่สะท้อนแสง และแสงสะท้อนบนวัตถุเสมือนจริง ผลลัพธ์ที่ได้คือเนื้อหาเสมือนจริงที่ดูสมจริงยิ่งขึ้น
ดูรายละเอียดเพิ่มเติมที่นี่
Android
Android NDK:
Unity:
มีอะไรใหม่ใน ARCore v1.9.0
ฟีเจอร์ใหม่ใน ARCore SDK สำหรับ Android
รุ่นนี้มีการเพิ่ม API และฟีเจอร์ใหม่ต่อไปนี้
Scene Viewer คือโปรแกรมดูภาพสมจริงที่เปิดใช้ประสบการณ์ AR จากเว็บไซต์ ซึ่งช่วยให้ผู้ใช้อุปกรณ์เคลื่อนที่ Android วาง ดู และโต้ตอบกับโมเดล 3 มิติที่โฮสต์บนเว็บในสภาพแวดล้อมของตนเองได้อย่างง่ายดาย
ฟีเจอร์ใหม่ของภาพความจริงเสริม
ตอนนี้ ARCore ติดตามรูปภาพความจริงเสริมที่เคลื่อนไหวได้แล้ว ตัวอย่างของรูปภาพเคลื่อนไหว ได้แก่ โฆษณาบนรถบัสที่วิ่งผ่าน หรือรูปภาพบนวัตถุแบนซึ่งผู้ใช้ถืออยู่ขณะขยับมือไปรอบๆ
หลังจากตรวจพบรูปภาพแล้ว ARCore จะติดตามตำแหน่งและการวางแนวของรูปภาพต่อไปได้ แม้ว่ารูปภาพจะย้ายออกจากมุมมองกล้องชั่วคราว
ใช้
AugmentedImage#getTrackingMethod()
(Java) หรือArAugmentedImage_getTrackingMethod()
(NDK) เพื่อระบุว่ากล้องกำลังติดตามภาพ AR อยู่หรือไม่ (FULL_TRACKING
) หรือกำลังติดตามตามตำแหน่งที่ทราบล่าสุด (LAST_KNOWN_POSE
)
ตอนนี้เอกสารประกอบเกี่ยวกับหมุดของ Cloud มีคำอธิบายโดยละเอียดมากขึ้นเกี่ยวกับวิธีโฮสต์และแก้ไขหมุด
ฟีเจอร์ใหม่ใน ARCore SDK สำหรับ Unity
ฟีเจอร์ใหม่ของภาพความจริงเสริม
ตอนนี้ ARCore ติดตามรูปภาพความจริงเสริมที่เคลื่อนไหวได้แล้ว ตัวอย่างของรูปภาพที่เคลื่อนไหวอาจเป็นโฆษณาบนรถบัสที่วิ่งผ่าน หรือรูปภาพบนวัตถุแบนซึ่งผู้ใช้ถืออยู่ขณะเคลื่อนไปรอบๆ
หลังจากตรวจพบรูปภาพแล้ว ARCore จะติดตามตำแหน่งและการวางแนวของรูปภาพต่อไปได้ แม้ว่ารูปภาพจะย้ายออกจากมุมมองกล้องชั่วคราว
API
AugmentedImage.GetTrackingMethod()
ใหม่ช่วยให้แอปของคุณระบุได้ว่ากล้องกำลังติดตามภาพความจริงเสริมอยู่หรือไม่ (FullTracking
) หรือกำลังติดตามตามตำแหน่งที่ทราบล่าสุด (LastKnownPose
)
ตอนนี้เอกสารประกอบเกี่ยวกับหมุดของ Cloud มีคำอธิบายโดยละเอียดมากขึ้นเกี่ยวกับวิธีโฮสต์และแก้ไขหมุด
ฟีเจอร์ใหม่ใน ARCore SDK สำหรับ iOS
รองรับอุปกรณ์ต่อไปนี้
iPad Mini รุ่นที่ 5
iPad Air รุ่นที่ 3
ตอนนี้เอกสารประกอบเกี่ยวกับหมุดของ Cloud มีคำอธิบายโดยละเอียดมากขึ้นเกี่ยวกับวิธีโฮสต์และแก้ไขหมุด