การเปลี่ยนแปลงใหม่และที่น่าสนใจใน ARCore
มีอะไรใหม่ใน ARCore v1.56.0
การเปลี่ยนแปลงที่ส่งผลกับส่วนอื่นในระบบและเชิงพฤติกรรม
targetSdkVersionของ ARCore ได้รับการอัปเดตเป็น Android API ระดับ 37 แล้ว หาก แอปไม่ได้ระบุtargetSdkVersiontargetSdkVersionของแอปจะกลายเป็น 37 เนื่องจากการผสานไฟล์ Manifest
API และความสามารถใหม่
- เพิ่ม
AcquireDepthImageMetersและAcquireRawDepthImageMetersเพื่อรองรับการรวมข้อมูลระหว่าง ARCore กับ OpenXR โดยการแสดงข้อมูลเชิงลึกเป็นทศนิยมในหน่วยเมตร
มีอะไรใหม่ใน ARCore v1.54.0
API และความสามารถใหม่
- เพิ่ม
ArCoreNativeInterop,ArCoreNativeInterop.getNativeHandle()และArCoreNativeInterop.getSymbolTable()เพื่อรองรับการแชร์หรือการส่งต่อ ความเป็นเจ้าของออบเจ็กต์ ARCore ระหว่าง Java กับ C++
มีอะไรใหม่ใน ARCore v1.53.0
API และความสามารถใหม่
- เพิ่มการรองรับ Swift Package Manager (SPM) ใน iOS (อัลฟ่า) สำหรับ ARCore
Extensions สำหรับ AR Foundation ของ Unity
- CocoaPods จะยังคงเป็นเครื่องมือจัดการทรัพยากร Dependency เริ่มต้น
- ระบบจะแก้ไขการอ้างอิงโดยใช้ SPM เฉพาะเมื่อมีการกำหนดค่าอย่างชัดเจนเท่านั้น
- เพิ่ม
-ObjCการแทรกแฟล็ก Linker สำหรับบิลด์ iOS
การเปลี่ยนแปลงอื่นๆ
- อัปเกรด External Dependency Manager for Unity (EDM4U) เป็น v1.2.187
- แก้ไขข้อผิดพลาดในการคอมไพล์เพื่อความเข้ากันได้กับ Unity 6.3
มีอะไรใหม่ใน ARCore v1.52.0
การเปลี่ยนแปลงอื่นๆ
- เปลี่ยนแสงจาก
Progressive CPUเป็นProgressive GPUสำหรับ ส่วนขยาย ARCore ของ Geospatial และ Persistent Cloud Anchors สำหรับ AR ของ Unity ตัวอย่างพื้นฐานภายใน AR Foundation 6 - ยืนยันว่า ARCore เวอร์ชันนี้เข้ากันได้กับ Android 16 MR1
มีอะไรใหม่ใน ARCore v1.51.0
การเปลี่ยนแปลงอื่นๆ
อัปเดต
minSdkVersionของตัวอย่าง Java "SharedCamera" และ "RawDepth" เป็น 23อัปเดตตัวอย่าง hello_ar_vulkan_c ให้เป็นแอปพลิเคชันที่ทำงานได้อย่างเต็มรูปแบบ ซึ่งแสดงการใช้งาน Vulkan ที่สมบูรณ์ของฟีเจอร์หลักของ ARCore รวมถึงฟีเจอร์ที่สาธิตใน hello_ar_c และการปิดกั้นระนาบ
มีอะไรใหม่ใน ARCore v1.50.0
การเปลี่ยนแปลง targetSdkVersion ของ ARCore SDK
targetSdkVersion ของ ARCore ได้รับการอัปเดตเป็น Android API ระดับ 36 แล้ว หากแอปไม่ได้ระบุ
targetSdkVersion
targetSdkVersionของแอปจะกลายเป็น 36 เนื่องจากการผสานไฟล์ Manifest
สำหรับ Unity การระบุระดับ API เป้าหมายในการตั้งค่าโปรเจ็กต์ > Player > Android > การตั้งค่าอื่นๆ ของโปรเจ็กต์ Unity จะลบล้างค่า targetSdkVersion ของ ARCore
มีอะไรใหม่ใน ARCore v1.49.0
แก้ไขข้อบกพร่องและปรับปรุงประสิทธิภาพหลายรายการ
มีอะไรใหม่ใน ARCore v1.48.0
การรองรับ Unity 6 และ AR Foundation 6 เปิดตัวอย่างเต็มรูปแบบแล้ว
ตอนนี้ ARCore Extensions สำหรับ AR Foundation ของ Unity รองรับ AR Foundation 6 แล้ว ใช้วิธีการติดตั้งต่อไปนี้เพื่อรับ ARCore Extensions สำหรับ 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 Extensions สำหรับ AR Foundation ของ Unity รองรับ AR Foundation 6 ในเวอร์ชันเบต้าแล้ว เพื่อรองรับ Unity 6 ใช้วิธีการติดตั้งต่อไปนี้เพื่อรับ ARCore Extensions สำหรับ 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
การเปลี่ยนแปลงอื่นๆ
- เราได้เปลี่ยนกิ่ง
mainของที่เก็บ GitHub ของ ARCore Extensions เพื่อติดตามกิ่งarf5
มีอะไรใหม่ใน ARCore v1.46.0
การเปลี่ยนแปลง targetSdkVersion ของ ARCore SDK
targetSdkVersion ของ ARCore ได้รับการอัปเดตเป็น Android API ระดับ 35 แล้ว หากแอปไม่ได้ระบุ
targetSdkVersion
targetSdkVersionของแอปจะกลายเป็น 35 เนื่องจากการผสานไฟล์ Manifest
สำหรับ Unity การระบุระดับ API เป้าหมายในการตั้งค่าโปรเจ็กต์ > Player > Android > การตั้งค่าอื่นๆ ของโปรเจ็กต์ Unity จะลบล้างค่า targetSdkVersion ของ ARCore
มีอะไรใหม่ใน ARCore v1.45.0
Flash Mode API
ตอนนี้ ARCore รองรับการเปิดใช้โหมดไฟฉายของอุปกรณ์แล้ว ซึ่งช่วยให้รับรู้ได้ดีขึ้นในสภาพแวดล้อมที่มืด
Android (Kotlin/Java)
Config.FlashMode: ตัวเลือกการกำหนดค่าสำหรับการเปิดหรือปิดใช้แฟลชในอุปกรณ์- ดูรายละเอียดเพิ่มเติมเกี่ยวกับวิธีตรวจหาความสามารถของแฟลชและวิธีเปิดใช้โหมดไฟฉายได้ที่คู่มือนักพัฒนาซอฟต์แวร์
Android NDK (C)
ArFlashMode: ตัวเลือกการกำหนดค่าสำหรับการเปิดหรือปิดใช้แฟลชในอุปกรณ์- ดูรายละเอียดเพิ่มเติมเกี่ยวกับวิธีตรวจหาความสามารถของแฟลชและวิธีเปิดใช้โหมดไฟฉายได้ที่คู่มือนักพัฒนาซอฟต์แวร์
ส่วนขยาย ARCore สำหรับ AR Foundation ของ Unity รองรับ AR Foundation 5
ตอนนี้ส่วนขยาย ARCore สำหรับ AR Foundation รองรับ AR Foundation 5 อย่างเป็นทางการแล้ว เมื่อใช้ AR Foundation 5 (เวอร์ชันที่ได้รับการยืนยันใน Unity เวอร์ชัน 2022 และ 2023) ให้ใช้วิธีการติดตั้งต่อไปนี้เพื่อรับ ARCore Extensions สำหรับ 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 ใช้ Places API ใหม่ ของ Google แล้ว หากต้องการใช้ฟีเจอร์การค้นหา ให้เปิดใช้ "Places API (ใหม่)" ในคอนโซล Google Cloud
มีอะไรใหม่ใน 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 Extensions สำหรับ 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 คลาส ดูข้อมูลเพิ่มเติมได้ที่ข้อมูลเบื้องต้นเกี่ยวกับความหมายของฉาก
iOS
Unity (AR Foundation)
ค้นหาสถานที่น่าสนใจใน Geospatial Creator สำหรับ Unity
ตอนนี้ Geospatial Creator สำหรับ Unity รองรับการค้นหาด้วยข้อความเพื่อจัดตำแหน่งมุมมอง ไทล์ 3 มิติเชิงภาพถ่ายแล้ว ดูข้อมูลเพิ่มเติมได้ที่ค้นหาจุดที่น่าสนใจใน Geospatial Creator
มีอะไรใหม่ใน ARCore v1.39.0
รุ่นนี้ไม่มีฟีเจอร์ใหม่
มีอะไรใหม่ใน ARCore v1.38.0
รุ่นนี้ไม่มีฟีเจอร์ใหม่
มีอะไรใหม่ใน ARCore v1.37.0
ความหมายของฉาก
ความหมายของฉากให้รายละเอียดที่สมบูรณ์ยิ่งขึ้นเกี่ยวกับฉากโดยรอบ ทำให้เข้าใจโลกรอบตัวผู้ใช้ได้ง่ายขึ้น ความหมายของฉากจะเรียกใช้โมเดล ML ในฟีดรูปภาพจากกล้องและแสดงรูปภาพเชิงความหมายโดยแต่ละพิกเซลจะสอดคล้องกับป้ายกำกับ 1 ใน 11 รายการของแนวคิดกลางแจ้ง
ดูข้อมูลเพิ่มเติมได้ที่ข้อมูลเบื้องต้นเกี่ยวกับความหมายของฉากและแอปตัวอย่าง semantics_java
Android (Kotlin/Java)
Android NDK (C)
Unity (AR Foundation)
iOS
เรขาคณิตของภาพถนน
รูปทรงเรขาคณิตของภาพถนนเป็น ARCore Geospatial API ใหม่ที่ให้รูปทรงเรขาคณิตของอาคารและภูมิประเทศในพื้นที่รอบๆ ผู้ใช้เมื่อเปิดใช้ Geospatial API
Android (Kotlin/Java)
ดูคู่มือนักพัฒนาซอฟต์แวร์เกี่ยวกับรูปทรงของสตรีทสเคป (Kotlin/Java) นอกจากนี้ เรายังได้อัปเดตแอปตัวอย่าง geospatial_java ให้มีรูปทรงเรขาคณิตของภาพถนนด้วย
Android NDK (C)
ดูข้อมูลเพิ่มเติมได้ที่คู่มือนักพัฒนาซอฟต์แวร์เกี่ยวกับรูปทรงเรขาคณิตของสตรีทสเคป (C)
Unity (AR Foundation)
ดูข้อมูลเพิ่มเติมได้ที่คู่มือนักพัฒนาซอฟต์แวร์เกี่ยวกับรูปทรงของภาพถนน (Unity)
iOS
ดูข้อมูลเพิ่มเติมได้ที่คู่มือนักพัฒนาซอฟต์แวร์เกี่ยวกับรูปทรงเรขาคณิตของสตรีทสเคป (iOS) นอกจากนี้ เรายังได้อัปเดตแอป GeospatialExample ให้มีเรขาคณิตของภาพถนนด้วย
GARStreetscapeGeometry:GARStreetscapeGeometry.meshมีตาข่าย 3 มิติGARStreetscapeGeometry.meshTransformให้การแปลงต้นทางของรูปเรขาคณิตที่สัมพันธ์กับพื้นที่โลกของเซสชันGARStreetscapeGeometry.trackingStateจะคงสถานะการติดตามไว้GARStreetscapeGeometry.typeระบุว่าเป็นเรขาคณิตของภูมิประเทศหรืออาคารGARStreetscapeGeometry.qualityระบุคุณภาพของเรขาคณิตGARStreetscapeGeometry.identifierระบุตัวระบุที่ไม่ซ้ำกันสำหรับเรขาคณิตGARSession.createAnchorOnStreetscapeGeometry:transform:error:สร้าง Anchor ที่ตำแหน่งและทิศทางที่ระบุGARSession.raycastStreetscapeGeometry:direction:error:จะทำการแคสต์รังสีกับเรขาคณิตของภาพถนนที่โหลดในฉาก
จุดยึดบนหลังคา
สมอเรือบนชั้นดาดฟ้าเป็นสมอเรือเชิงพื้นที่ประเภทใหม่ที่ช่วยคุณยึดเนื้อหาไว้กับชั้นดาดฟ้า
Android (Kotlin/Java)
ดูAnchor ภูมิสารสนเทศ (Java) นอกจากนี้ เรายังได้อัปเดตแอปตัวอย่าง geospatial_java ให้มีแองเคอร์บนชั้นดาดฟ้าด้วย
Android NDK (C)
ดูข้อมูลเพิ่มเติมได้ที่Anchor เชิงพื้นที่ (ค)
Unity (AR Foundation)
ดูข้อมูลเพิ่มเติมได้ที่Anchor เชิงพื้นที่ นอกจากนี้ เรายังได้อัปเดตตัวอย่างเชิงพื้นที่ให้รวมสมอเรือบนชั้นดาดฟ้าด้วย
ARAnchorManagerExtensions.ResolveAnchorOnRooftopAsync()เป็นจุดยึดสำหรับออบเจ็กต์เกมในฉากที่ละติจูด ลองจิจูด ความสูงเหนือดาดฟ้า และการวางแนวที่ระบุResolveAnchorOnRooftopPromiseResolveAnchorOnRooftopResult
iOS
ดูข้อมูลเพิ่มเติมได้ที่สมอเชิงพื้นที่ (iOS) นอกจากนี้ เรายังได้อัปเดตแอป GeospatialExample ให้มีแองเคอร์บนชั้นดาดฟ้าด้วย
GARSession.createAnchorWithCoordinate:altitudeAboveRooftop:eastUpSouthQAnchor:completionHandler:error:สร้าง Anchor บนชั้นดาดฟ้าที่ตำแหน่งที่ระบุ ความสูงเหนือชั้นดาดฟ้าเป็นเมตร และการวางแนวเทียบกับโลกGARCreateAnchorOnRooftopFutureเก็บสถานะแบบอะซิงโครนัสของการแก้ปัญหาตำแหน่งยึดบนหลังคาGARRooftopAnchorStateอธิบายสถานะของการแก้ไขจุดยึดบนหลังคา
ความลึกของภูมิสารสนเทศ
เมื่อเปิดใช้ทั้งโหมด Depth API และโหมดเรขาคณิตของภาพถนนในเซสชัน ARCore ในพื้นที่ที่มีความครอบคลุมของ VPS ระบบจะปรับปรุงรูปภาพเชิงลึกที่สร้างขึ้นโดยใช้เรขาคณิตของภาพถนน เราผสานรวมเรขาคณิตของ Streetscape เข้ากับรูปภาพเชิงลึกแต่ละรูปที่สร้างขึ้นในระยะ 65.535 เมตร คุณไม่จำเป็นต้องทำการเปลี่ยนแปลงใดๆ เมื่อเรียกใช้ Depth API เพื่อดูประโยชน์นี้
Android (Kotlin/Java)
ดูข้อมูลเพิ่มเติมได้ที่ความลึกเชิงพื้นที่ (Java)
Android NDK (C)
ดูข้อมูลเพิ่มเติมได้ที่ความลึกเชิงพื้นที่ (C)
Unity (AR Foundation)
ดูข้อมูลเพิ่มเติมได้ที่ความลึกเชิงพื้นที่ (C)
iOS
ขณะนี้ความหมายของฉากยังไม่พร้อมใช้งานสำหรับ iOS
รองรับการแสดงผล Vulkan
ตอนนี้ ARCore รองรับการแสดงผล Vulkan โดยการแสดงรูปภาพจากกล้องผ่าน AHardwareBuffer คุณใช้บัฟเฟอร์ฮาร์ดแวร์นี้ได้โดยการเชื่อมโยงกับ VkImage
ดูข้อมูลเพิ่มเติมได้ที่การแสดงผลแอปพลิเคชัน ARCore โดยใช้ Vulkan และแอปตัวอย่าง hello_ar_vulkan_c
Android (Kotlin/Java)
Android NDK (C)
Unity (AR Foundation)
ขณะนี้การแสดงผล Vulkan ยังไม่พร้อมใช้งานสำหรับ Unity ที่ใช้ AR Foundation
ระบบกันภาพสั่นแบบอิเล็กทรอนิกส์ (EIS)
คุณสามารถกำหนดค่า ARCore ให้ใช้ระบบป้องกันภาพสั่นไหวแบบอิเล็กทรอนิกส์ ซึ่งจะช่วยให้เฟรมกล้องราบรื่นขึ้นเพื่อให้ผู้ใช้ได้รับประสบการณ์การใช้งานที่ลื่นไหลยิ่งขึ้น
ดูข้อมูลเพิ่มเติมได้ที่การเปิดใช้ระบบกันภาพสั่นแบบอิเล็กทรอนิกส์และแอปตัวอย่าง hello_eis_kotlin
Android (Kotlin/Java)
Config.ImageStabilizationModeFrame.transformCoordinates3d()Session.isImageStabilizationModeSupported()- มีปัญหาที่ทราบแล้วซึ่งการเรียก
Frame.transformCoordinates3d()ด้วยพิกัด 2 มิติอื่นที่ไม่ใช่OPENGL_NORMALIZED_DEVICE_COORDINATESจะทำให้เกิดข้อขัดข้องแทนที่จะส่งIllegalArgumentExceptionปัญหานี้จะได้รับการแก้ไขในรุ่นถัดไป
Android NDK (C)
ArImageStabilizationModeArFrame_transformCoordinates3d()ArSession_isImageStabilizationModeSupported()- มีปัญหาที่ทราบกันดีว่าการเรียก
ArFrame_transformCoordinates3d()ด้วยพิกัด 2 มิติอื่นๆ นอกเหนือจากAR_COORDINATES_2D_OPENGL_NORMALIZED_DEVICE_COORDINATESจะทําให้แอปของคุณหยุดทํางานแทนที่จะแสดงผลAR_ERROR_INVALID_ARGUMENTปัญหานี้จะได้รับการแก้ไขในรุ่นถัดไป
Unity (AR Foundation)
ขณะนี้ EIS ยังไม่พร้อมใช้งานสำหรับ Unity ที่ใช้ AR Foundation
iOS
ขณะนี้ EIS ยังไม่พร้อมใช้งานสำหรับ iOS
API แบบไม่พร้อมกันของ ARCore
การเปิดตัวนี้จะแนะนำ ARCore Async API ใหม่เพื่อปรับปรุงการยศาสตร์เมื่อทำงานกับการดำเนินการแบบไม่พร้อมกันตามกระบวนทัศน์ Future และ Promise
Android (Kotlin/Java)
- การแก้ไขตำแหน่งยึดภูมิประเทศ: ใช้
Earth.resolveAnchorOnTerrainAsync()เพื่อรับResolveAnchorOnTerrainFutureเราเลิกใช้งานสัญลักษณ์เก่าEarth.resolveAnchorOnTerrain()แล้วและอาจนำออกใน ARCore เวอร์ชันต่อๆ ไป - การแก้ไข Cloud Anchor: ใช้
Session.resolveCloudAnchorAsync()เพื่อรับResolveCloudAnchorFutureเราเลิกใช้งานสัญลักษณ์เก่าSession.resolveCloudAnchor()แล้วและอาจนำออกใน ARCore เวอร์ชันต่อๆ ไป - การโฮสต์ Cloud Anchor: ใช้
Session.hostCloudAnchorAsync()เพื่อรับHostCloudAnchorFutureเราเลิกใช้งานสัญลักษณ์เก่าSession.hostCloudAnchor()และSession.hostCloudAnchorWithTtl()แล้ว และอาจนำออกใน ARCore เวอร์ชันต่อๆ ไป - ตรวจสอบความพร้อมใช้งานของ APK: ใช้
ArCoreApk.checkAvailabilityAsync()เพื่อลงทะเบียนการเรียกกลับ เรายังไม่ได้เลิกใช้งานสัญลักษณ์เก่าArCoreApk.checkAvailability()
Android NDK (C)
- การแก้ไข Anchor ภูมิประเทศ: ใช้
ArEarth_resolveAnchorOnTerrainAsync()เพื่อรับArResolveAnchorOnTerrainFutureหรือใช้ArResolveAnchorOnTerrainCallbackเราเลิกใช้งานสัญลักษณ์เก่าArEarth_resolveAndAcquireNewAnchorOnTerrain()แล้วและอาจนำออกใน ARCore เวอร์ชันต่อๆ ไป - การแก้ไข Anchor ในระบบคลาวด์: ใช้
ArSession_resolveCloudAnchorAsync()เพื่อรับArResolveCloudAnchorFutureหรือใช้ArResolveCloudAnchorCallbackเราเลิกใช้งานสัญลักษณ์เก่าArSession_resolveAndAcquireNewCloudAnchor()แล้วและอาจนำออกใน ARCore เวอร์ชันต่อๆ ไป - การโฮสต์ Cloud Anchor: ใช้
ArSession_hostCloudAnchorAsync()เพื่อรับArHostCloudAnchorFutureหรือใช้ArHostCloudAnchorCallbackเราเลิกใช้งานสัญลักษณ์เก่าArSession_hostAndAcquireNewCloudAnchor()และArSession_hostAndAcquireNewCloudAnchorWithTtl()แล้ว และอาจนำออกใน ARCore เวอร์ชันต่อๆ ไป - ตรวจสอบความพร้อมใช้งานของ APK: ใช้
ArCoreApk_checkAvailabilityAsync()เพื่อลงทะเบียนการเรียกกลับ เรายังไม่ได้เลิกใช้งานสัญลักษณ์เก่าArCoreApk_checkAvailability()
Unity (AR Foundation)
- การแก้ไขตำแหน่งยึดภูมิประเทศ: ใช้
ARAnchorManagerExtensions.ResolveAnchorOnTerrainAsync()เพื่อรับResolveAnchorOnTerrainPromiseเราเลิกใช้งานสัญลักษณ์เก่าARAnchorManagerExtensions.ResolveAnchorOnTerrain()แล้วและอาจนำออกใน ARCore เวอร์ชันต่อๆ ไป - การแก้ไข Cloud Anchor: ใช้
ARAnchorManagerExtensions.ResolveCloudAnchorAsync()เพื่อรับResolveCloudAnchorPromiseเราเลิกใช้งานสัญลักษณ์เก่าARAnchorManagerExtensions.ResolveCloudAnchorId()แล้วและอาจนำออกใน ARCore เวอร์ชันต่อๆ ไป - การโฮสต์ Cloud Anchor: ใช้
ARAnchorManagerExtensions.HostCloudAnchorAsync()เพื่อรับHostCloudAnchorPromiseสัญลักษณ์ARAnchorManagerExtensions.HostCloudAnchor()แบบเดิมเลิกใช้งานแล้วและอาจถูกนำออกใน ARCore เวอร์ชันต่อๆ ไป
iOS
- การแก้ไขตำแหน่งยึดภูมิประเทศ: ใช้
GARSession.createAnchorWithCoordinate:altitudeAboveTerrain:eastUpSouthQAnchor:completionHandler:error:เพื่อรับGARCreateAnchorOnTerrainFutureเราเลิกใช้งานสัญลักษณ์เก่าGARSession.createAnchorWithCoordinate:altitudeAboveTerrain:eastUpSouthQAnchor:error:แล้วและอาจนำออกใน ARCore เวอร์ชันต่อๆ ไป - การแก้ไข Cloud Anchor: ใช้
GARSession.resolveCloudAnchorWithIdentifier:completionHandler:error:เพื่อรับGARResolveCloudAnchorFutureเราเลิกใช้งานสัญลักษณ์เก่าGARSession.resolveCloudAnchorWithIdentifier:error:แล้วและอาจนำออกใน ARCore เวอร์ชันต่อๆ ไป - การโฮสต์ Cloud Anchor: ใช้
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
ความแม่นยำของท่าทางเชิงพื้นที่จะแทนที่ส่วนหัวด้วยการหมุนรอบแกนตั้ง
ตอนนี้ท่าทางเชิงพื้นที่ทั้งหมดจะแสดงความแม่นยำของทิศทางของการหมุนตามแกน Yaw ซึ่งจะแทนที่ความแม่นยำของทิศทาง
- Java/Kotlin: แทนที่
GeospatialPose.getHeading()ด้วยGeospatialPose.getEastUpSouthQuaternion()และGeospatialPose.getHeadingAccuracy()ด้วยGeospatialPose.getOrientationYawAccuracy() - C: แทนที่
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()
การแปลงท่าทางเชิงพื้นที่
ตอนนี้คุณสามารถแปลงท่าทางเชิงพื้นที่เป็นท่าทางในพื้นที่โลก (AR) และแปลงท่าทางในพื้นที่โลก (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): ควอเทอร์เนียน EUS ของท่าทาง
- iOS:
eastUpSouthQTargetของท่าทาง - Unity:
EunRotationของท่าทาง
การเปลี่ยนแปลงและการอัปเดตเพิ่มเติม
ดูการเปลี่ยนแปลงอื่นๆ การแก้ไขข้อบกพร่อง และการปรับปรุงประสิทธิภาพได้ในบันทึกประจำรุ่น
- บันทึกประจำรุ่นของ ARCore SDK สำหรับ Android
- บันทึกประจำรุ่นของ ARCore สำหรับ Android NDK
- บันทึกประจำรุ่นของ ARCore SDK สำหรับ iOS
- บันทึกประจำรุ่นของส่วนขยาย ARCore สำหรับ AR Foundation
มีอะไรใหม่ใน ARCore v1.33.0
ปลายทาง Cloud Anchors ใหม่
- หากต้องการใช้ Cloud Anchors ตอนนี้คุณต้องเปิดใช้ 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
- ดูรายละเอียดเพิ่มเติมได้ที่การเปลี่ยนแปลงปลายทาง Cloud Anchor ของ ARCore 1.33
- API ใหม่ใช้ชื่อโดเมน
แท็ก Anchors ภูมิประเทศ
- Geospatial Terrain Anchor API จะสร้าง Anchor ที่ตำแหน่งแนวนอนและความสูงที่ระบุซึ่งสัมพันธ์กับภูมิประเทศของตำแหน่งแนวนอน
การเปลี่ยนแปลงและการอัปเดตเพิ่มเติม
ดูการเปลี่ยนแปลงอื่นๆ การแก้ไขข้อบกพร่อง และการปรับปรุงประสิทธิภาพได้ในบันทึกประจำรุ่น
- บันทึกประจำรุ่นของ 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 แล้ว หากแอปไม่ได้ระบุtargetSdkVersiontargetSdkVersionของแอปจะกลายเป็น 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
Geospatial API ของ ARCore ใหม่ใช้ข้อมูลจากโมเดล 3 มิติของ Google Earth และข้อมูลรูปภาพ Street View จาก Google Maps เพื่อให้แอปของคุณสร้างประสบการณ์การใช้งานเทคโนโลยีความจริงเสริม (AR) ที่สมจริงระดับโลกตามตำแหน่งได้
ดูข้อมูลเบื้องต้นเกี่ยวกับ ARCore Geospatial API เพื่อดูเอกสารประกอบสำหรับนักพัฒนาซอฟต์แวร์เฉพาะแพลตฟอร์ม และเริ่มต้นใช้งาน Geospatial API ใหม่
ความลึกระยะไกล
ตอนนี้เราได้เพิ่มประสิทธิภาพ ARCore Depth API ให้รวมการตรวจจับความลึกในระยะไกลขึ้น เพื่อเพิ่มช่วงของการสังเกตความลึกที่แสดงได้ ระบบจะใช้ข้อมูลทั้งหมด 16 บิตของ ภาพเชิงลึก ซึ่งให้ช่วงสูงสุด 65535 มิลลิเมตร ก่อนหน้านี้ จะมีการป้อนข้อมูลเพียง 13 บิต โดยมีขีดจำกัดที่ 8191 มิลลิเมตร
ดูการเปลี่ยนแปลงเกี่ยวกับความลึกสำหรับเอกสารประกอบสำหรับนักพัฒนาซอฟต์แวร์เฉพาะแพลตฟอร์ม และทำความเข้าใจการเปลี่ยนแปลงเกี่ยวกับ Depth API
หมายเหตุเฉพาะแพลตฟอร์ม
Android
ARCore Geospatial API ใหม่
Java
Earthช่วยให้ ระบุตำแหน่งในพิกัดที่สัมพันธ์กับโลกได้Earth.createAnchor()สร้างAnchorใหม่ที่ตำแหน่งและการวางแนวที่ระบุ เทียบกับโลก
Earth.EarthstateอธิบายสถานะปัจจุบันของEarthรวมถึงTrackingStateGeospatialPoseอธิบายตําแหน่ง ระดับความสูง และทิศทางเข็มทิศที่เฉพาะเจาะจงเมื่อเทียบกับ โลก
C
ArEarthช่วยให้แปลเป็นภาษาท้องถิ่นได้ในพิกัดที่สัมพันธ์กับโลกArEarth_acquireNewAnchor()สร้างAnchorใหม่ที่ตำแหน่งและการวางแนวที่ระบุ เทียบกับโลกArEarthStateอธิบายสถานะปัจจุบันของArEarthรวมถึงArTrackingState
ArGeospatialPoseอธิบายตําแหน่ง ระดับความสูง และทิศทางเข็มทิศที่เฉพาะเจาะจงเมื่อเทียบกับ โลก
ARCore Depth API ที่อัปเดตแล้ว
Java
- การเรียกใช้ฟังก์ชัน Depth API มีการเปลี่ยนแปลงดังนี้
Frame.acquireDepthImageกับFrame.acquireDepthImage16BitsFrame.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_acquireDepthImage16BitsArFrame_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รับสถานะการติดตามของโลกสำหรับเฟรมล่าสุด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รุ่นใหม่ ตัวแปรของรุ่นนี้ ไม่ได้รวมทรัพยากร Dependency ภายนอก เช่น 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: เพิ่มทรัพยากร Dependency ของบิลด์ที่ขาดหายไปลงในตัวอย่าง แก้ไขข้อบกพร่องที่ทำให้การโฮสต์ Anchor ใดก็ตามมีสถานะเป็น
CloudAnchorState ERROR_NOT_AUTHORIZEDแม้ว่าจะตั้งค่าโปรเจ็กต์อย่างถูกต้องแล้วก็ตาม
Unity (AR Foundation)
- ตอนนี้แพ็กเกจส่วนขยาย ARCore ขึ้นอยู่กับปลั๊กอิน ARKit XR เพื่อให้มั่นใจว่าเวอร์ชัน AR Foundation ที่ติดตั้งเข้ากันได้กับเวอร์ชันปลั๊กอิน ARKit XR วิธีนี้ช่วยแก้ข้อผิดพลาดในการคอมไพล์เมื่อติดตั้ง ARCore Extensions ใน 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()ส่งคืนจะมีขนาด0x0พิกเซล การเรียกใช้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()จะมีขนาด0x0พิกเซล การเรียกใช้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
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
รอการรองรับ Dual Camera
การรองรับกล้องคู่จะเปิดตัวในอีกไม่กี่สัปดาห์ข้างหน้า ดูข้อมูลเพิ่มเติมได้ที่หน้าอุปกรณ์ที่รองรับ
เครื่องมือแก้ไขข้อบกพร่องใหม่
การส่ง Intent การออกอากาศช่วยให้นักพัฒนาแอปทำสิ่งต่อไปนี้ได้
การบันทึกการเรียก API ของ ARCore ไปยัง บันทึกแก้ไขข้อบกพร่องของ Android
การวางซ้อนประสิทธิภาพของ ARCore
การโฮสต์และการแก้ไข Cloud Anchors
แอปที่เปิดใช้ AR ซึ่งสร้างโดยใช้ ARCore SDK 1.11.0 หรือเวอร์ชันก่อนหน้าจะไม่สามารถ โฮสต์หรือแก้ไข Cloud Anchor ได้อีกต่อไป
C: Cloud Anchors ที่
ArSession_hostAndAcquireNewCloudAnchorและArSession_resolveAndAcquireNewCloudAnchorส่งคืนจะมีสถานะเป็นAR_CLOUD_ANCHOR_STATE_ERROR_INTERNALเสมอJava: Cloud Anchors ที่ส่งคืนโดย
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 และ Playback API ใหม่ รวมถึง Camera Config Filter API สำหรับ ARCore Extensions สำหรับ AR Foundation ดูรายละเอียดได้ที่บันทึกประจำรุ่นฉบับสมบูรณ์ของ ARCore Extensions
การเปลี่ยนแปลงและการอัปเดตเพิ่มเติม
ดูการแก้ไขข้อบกพร่องเพิ่มเติมและการเปลี่ยนแปลงอื่นๆ ที่ทำให้เกิดการหยุดทำงานได้ในบันทึกประจำรุ่นต่อไปนี้
มีอะไรใหม่ใน ARCore v1.21.0
การเปิดตัวนี้ได้เพิ่ม API การบันทึกและการเล่นใหม่สำหรับ Android, Android NDK และ Unity
การบันทึกและการเล่น
API การบันทึกและการเล่นช่วยให้คุณบันทึกวิดีโอและข้อมูล AR ได้ครั้งเดียว ภายในสภาพแวดล้อมที่กำหนด และใช้เนื้อหานั้นแทนที่เซสชันกล้องสด เพื่อวัตถุประสงค์ในการทดสอบ ARCore จะบันทึกเซสชันที่บันทึกไว้เป็นไฟล์ MP4 ซึ่งมี แทร็กวิดีโอหลายแทร็กและข้อมูลอื่นๆ ที่เกี่ยวข้องในอุปกรณ์ จากนั้นคุณจะ ชี้แอปให้ใช้ข้อมูลนี้แทนเซสชันกล้องสดได้ ซึ่งช่วยให้คุณเล่นเนื้อหานั้นซ้ำได้ไม่จำกัดเพื่อลองใช้เอฟเฟกต์ AR ต่างๆ โดยไม่ต้องกลับไปที่สนาม
ดูรายละเอียดเพิ่มเติมที่นี่
Java
C:
Unity:
มีอะไรใหม่ใน ARCore v1.20.0
รุ่นนี้มีการเปลี่ยนแปลงที่สำคัญต่อไปนี้
การรองรับใหม่สำหรับ Cloud Anchors แบบถาวร
ความสามารถของข้อมูลเมตาของรูปภาพที่อัปเดตแล้วสำหรับ Android และ Android NDK
คำแนะนำใหม่ที่กำหนดให้ใช้ Gradle เวอร์ชัน 5.6.4 ขึ้นไป เพื่อรองรับ ARCore Extensions สำหรับ AR Foundation หรือ ARCore SDK สำหรับ Unity (1.19 ขึ้นไป) ด้วย Unity 2018.4 ขึ้นไป
การรองรับ Cloud Anchors แบบถาวรใหม่
ก่อน ARCore v1.20 คุณจะแก้ไข Cloud Anchor ได้นานสูงสุด 24 ชั่วโมง หลังจากที่โฮสต์เป็นครั้งแรก ตอนนี้คุณสร้าง Cloud Anchor ที่มีเวลาในการใช้งาน (TTL) ระหว่าง 1 ถึง 365 วันได้แล้วด้วย Cloud Anchor แบบถาวร นอกจากนี้ คุณยังขยายอายุของ Anchor หลังจากที่โฮสต์แล้วได้ด้วย โดยใช้ Cloud Anchor Management API
การใช้ Cloud Anchors แบบถาวรอยู่ภายใต้นโยบายการเลิกใช้งาน Cloud Anchors ใหม่
C: คู่มือนักพัฒนาซอฟต์แวร์
ArSession_hostAndAcquireNewCloudAnchorWithTtlและArSession_estimateFeatureMapQualityForHostingJava: คู่มือนักพัฒนาซอฟต์แวร์,
hostCloudAnchorWithTtlและestimateFeatureMapQualityForHostingiOS: คู่มือนักพัฒนาแอป,
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
- เราจะรองรับ Depth API ใน
4.1.0-preview.2สำหรับทั้ง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 ซึ่งอยู่ในการตั้งค่าโปรเจ็กต์ > เพลเยอร์ > 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 Extensions AR Foundation 3.1.0-preview.6 ต้องใช้ Unity เวอร์ชัน 2019.3 ขึ้นไป
ตอนนี้ Unity ใช้คำว่า Anchor, Cloud Anchor และ Cloud Anchor ID ใน API AR ข้ามแพลตฟอร์ม เราได้อัปเดตเอกสารประกอบสำหรับ ARCore Extensions เพื่อให้สอดคล้องกับการเปลี่ยนแปลงนี้
และดู:
สิ่งที่น่าสนใจใน ARCore SDK สำหรับ Unity
รุ่นนี้มีการเปลี่ยนแปลงที่สำคัญต่อไปนี้
- ตอนนี้อุปกรณ์ส่วนใหญ่จะแสดงการกำหนดค่ากล้องเพิ่มเติมที่รองรับซึ่งมีความละเอียดของเท็กซ์เจอร์ GPU ต่ำกว่าความละเอียดของเท็กซ์เจอร์ GPU เริ่มต้นของอุปกรณ์ (ดูรายละเอียดได้ที่อุปกรณ์ที่รองรับ ARCore) ความละเอียดของ GPU ที่ขยายเหล่านี้พร้อมใช้งานผ่าน API ARCoreCameraConfigFilter
และดู:
บันทึกประจำรุ่นฉบับสมบูรณ์ของ ARCore SDK สำหรับ Unity
มีอะไรใหม่ใน ARCore v1.15.0
สิ่งที่น่าสนใจใน ARCore Extensions สำหรับ AR Foundation
รุ่นนี้มีการเปลี่ยนแปลงที่สำคัญต่อไปนี้
เพิ่มตัวอย่าง CloudAnchors ที่แสดงวิธีสร้างประสบการณ์ AR ที่แชร์สำหรับทั้ง Android และ iOS ดูวิธีการสำหรับ Android หรือ iOS
ตอนนี้ Unity 2019.2.17f1 เป็นเวอร์ชันขั้นต่ำที่แนะนำให้ใช้กับ ARCore Extensions
บันทึกประจำรุ่นฉบับสมบูรณ์ของ ARCore Extensions
สิ่งที่น่าสนใจใน 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แทนNONEAndroid NDK:
ArTrackingFailureReasonsเป็นAR_TRACKING_FAILURE_REASON_CAMERA_UNAVAILABLEแทนAR_TRACKING_FAILURE_REASON_NONEUnity:
Session.LostTrackingReasonเป็นLostTrackingReason.CameraUnavailableแทนที่จะเป็นNone
Google เก็บรวบรวมและประมวลผลข้อมูล จากการใช้แพ็กเกจ ARCore Extensions ของคุณตามนโยบายความเป็นส่วนตัวของ Google และข้อกำหนดในการให้บริการของ Google APIs คุณเลือกไม่ใช้ได้
มีอะไรใหม่ใน ARCore v1.13.0
รุ่นนี้มีการเปลี่ยนแปลงที่สำคัญต่อไปนี้
รองรับการใช้ ARCore Extensions สำหรับ AR Foundation ของ Unity เพื่อสร้างแอป iOS ด้วย Cloud Anchors
ดูการแก้ไขข้อบกพร่องเพิ่มเติมและการเปลี่ยนแปลงอื่นๆ ที่ทำให้เกิดการหยุดทำงานได้ในบันทึกประจำรุ่นต่อไปนี้
มีอะไรใหม่ใน ARCore v1.12.0
รุ่นนี้มีการเปลี่ยนแปลงต่อไปนี้
เพิ่มฟีเจอร์ใบหน้าเสริมลงใน iOS ดูข้อมูลเพิ่มเติมได้ที่ภาพรวม การเริ่มต้นอย่างรวดเร็ว และคู่มือนักพัฒนาซอฟต์แวร์
รองรับการใช้ ARCore Extensions สำหรับ AR Foundation ของ Unity เพื่อสร้างแอป Android ด้วย Cloud Anchors
การเปลี่ยนแปลงต่อไปนี้ใน Cloud Anchor
- เพื่อให้เป็นไปตามข้อกำหนดด้านความเป็นส่วนตัวที่อัปเดตแล้วสำหรับการใช้ ARCore SDK เวอร์ชัน 1.12 ขึ้นไป คุณต้องเปิดเผยการใช้ Cloud Anchor อย่างชัดเจนในแอปพลิเคชันโดยใส่ข้อความต่อไปนี้ รวมถึงลิงก์เพื่อดูข้อมูลเพิ่มเติมในหน้าจอประกาศ "Google จะประมวลผลข้อมูลภาพจากกล้องของคุณเพื่อขับเคลื่อนเซสชันนี้" คุณทำได้โดยการใช้ขั้นตอนการแจ้งเตือนผู้ใช้ที่แนะนำซึ่งมีอยู่ในแอปตัวอย่าง Cloud Anchor
ดูรายละเอียดเพิ่มเติมได้ที่ข้อกำหนดด้านความเป็นส่วนตัวของผู้ใช้
ดูรายละเอียดเพิ่มเติมเกี่ยวกับ 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 ติดตาม Augmented Images ที่เคลื่อนไหวได้แล้ว ตัวอย่างของรูปภาพเคลื่อนไหว ได้แก่ โฆษณาบนรถประจำทางที่วิ่งผ่าน หรือ รูปภาพบนวัตถุแบนที่ผู้ใช้ถือไว้ขณะที่ขยับมือไปมา
หลังจากตรวจพบรูปภาพแล้ว ARCore จะติดตามตำแหน่งและการวางแนวของรูปภาพต่อไปได้ แม้ว่ารูปภาพจะเคลื่อนที่ออกนอกมุมมองกล้องชั่วคราวก็ตาม
ใช้
AugmentedImage#getTrackingMethod()(Java) หรือArAugmentedImage_getTrackingMethod()(NDK) เพื่อพิจารณาว่ากล้องกำลังติดตามรูปภาพจริง (FULL_TRACKING) หรือกำลังติดตาม ตามตำแหน่งล่าสุดที่ทราบ (LAST_KNOWN_POSE)
ตอนนี้เอกสารประกอบเกี่ยวกับ Cloud Anchors มีคำอธิบายโดยละเอียดเพิ่มเติมเกี่ยวกับวิธี โฮสต์และแก้ไข Anchor แล้ว
มีอะไรใหม่ใน ARCore SDK สำหรับ Unity
ฟีเจอร์ใหม่ของภาพเสริมมีดังนี้
ตอนนี้ ARCore ติดตาม Augmented Images ที่เคลื่อนไหวได้แล้ว ตัวอย่างของรูปภาพเคลื่อนไหวอาจเป็นโฆษณาบนรถประจำทางที่วิ่งผ่านหรือรูปภาพบนวัตถุแบนที่ผู้ใช้ถือขณะเคลื่อนที่
หลังจากตรวจพบรูปภาพแล้ว ARCore จะติดตามตำแหน่งและการวางแนวของรูปภาพต่อไปได้ แม้ว่ารูปภาพจะเคลื่อนที่ออกนอกมุมมองกล้องชั่วคราวก็ตาม
AugmentedImage.GetTrackingMethod()API ใหม่ช่วยให้แอปของคุณระบุได้ว่ากล้องกำลังติดตามรูปภาพเสริมอยู่หรือไม่ (FullTracking) หรือกำลังติดตาม ตามตำแหน่งที่ทราบล่าสุด (LastKnownPose)
ตอนนี้เอกสารประกอบเกี่ยวกับ Cloud Anchors มีคำอธิบายโดยละเอียดเพิ่มเติมเกี่ยวกับวิธี โฮสต์และแก้ไข Anchor แล้ว
ฟีเจอร์ใหม่ใน ARCore SDK สำหรับ iOS
อุปกรณ์ที่รองรับมีดังนี้
iPad Mini รุ่นที่ 5
iPad Air รุ่นที่ 3
ตอนนี้เอกสารประกอบเกี่ยวกับ Cloud Anchors มีคำอธิบายโดยละเอียดเพิ่มเติมเกี่ยวกับวิธี โฮสต์และแก้ไข Anchor แล้ว

