การเปลี่ยนแปลงใหม่ๆ และที่น่าสนใจใน ARCore
มีอะไรใหม่ใน 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 Extensions สำหรับ 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 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 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
ความหมายของฉาก
ความหมายของฉากให้รายละเอียดที่สมบูรณ์ยิ่งขึ้นเกี่ยวกับฉากโดยรอบ ทำให้เข้าใจโลกรอบตัวผู้ใช้ได้ง่ายขึ้น Scene Semantics เรียกใช้โมเดล 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)
ดูข้อมูลเพิ่มเติมได้ที่คู่มือนักพัฒนาซอฟต์แวร์เกี่ยวกับรูปทรงเรขาคณิตของ Streetscape (Unity)
iOS
ดูข้อมูลเพิ่มเติมได้ที่คู่มือนักพัฒนาซอฟต์แวร์เกี่ยวกับรูปทรงของ Street View (iOS) นอกจากนี้ เรายังได้อัปเดตแอป GeospatialExample ให้มีเรขาคณิตของภาพถนนด้วย
GARStreetscapeGeometry
:GARStreetscapeGeometry.mesh
มีตาข่าย 3 มิติGARStreetscapeGeometry.meshTransform
ให้การแปลงต้นทางของรูปเรขาคณิตที่สัมพันธ์กับพื้นที่โลกของเซสชันGARStreetscapeGeometry.trackingState
จะรักษาสถานะการติดตามGARStreetscapeGeometry.type
ระบุว่าเป็นภูมิประเทศหรือเรขาคณิตของอาคารGARStreetscapeGeometry.quality
ระบุคุณภาพของเรขาคณิตGARStreetscapeGeometry.identifier
ระบุตัวระบุที่ไม่ซ้ำกันสำหรับเรขาคณิตGARSession.createAnchorOnStreetscapeGeometry:transform:error:
สร้างสมอที่ตำแหน่งและทิศทางที่ระบุGARSession.raycastStreetscapeGeometry:direction:error:
จะทำการแคสต์รังสีกับเรขาคณิตของสตรีทสเคปที่โหลดในฉาก
จุดยึดบนหลังคา
Anchor บนดาดฟ้าเป็นประเภท Geospatial Anchor ใหม่ที่จะช่วยคุณยึดเนื้อหาไว้กับดาดฟ้า
Android (Kotlin/Java)
ดูAnchor ภูมิสารสนเทศ (Java) นอกจากนี้ เรายังได้อัปเดตgeospatial_java sample app เพื่อรวมแองเคอร์บนชั้นดาดฟ้าด้วย
Android NDK (C)
ดูข้อมูลเพิ่มเติมได้ที่การยึดเหนี่ยวเชิงพื้นที่ (ค)
Unity (AR Foundation)
ดูข้อมูลเพิ่มเติมได้ที่Anchor เชิงพื้นที่ นอกจากนี้ เรายังได้อัปเดตตัวอย่างเชิงพื้นที่ให้มีแองเคอร์บนชั้นดาดฟ้าด้วย
ARAnchorManagerExtensions.ResolveAnchorOnRooftopAsync()
เป็นจุดยึดสำหรับออบเจ็กต์เกมในฉากที่ละติจูด ลองจิจูด ความสูงเหนือดาดฟ้า และการวางแนวที่ระบุResolveAnchorOnRooftopPromise
ResolveAnchorOnRooftopResult
iOS
ดูข้อมูลเพิ่มเติมได้ที่การยึดเหนี่ยวเชิงพื้นที่ (iOS) นอกจากนี้ เรายังได้อัปเดตแอป GeospatialExample ให้รวมแองเคอร์บนชั้นดาดฟ้าด้วย
GARSession.createAnchorWithCoordinate:altitudeAboveRooftop:eastUpSouthQAnchor:completionHandler:error:
สร้างจุดยึดบนดาดฟ้าที่ตำแหน่งที่ระบุ ระดับความสูงเหนือดาดฟ้าเป็นเมตร และการวางแนวเทียบกับโลกGARCreateAnchorOnRooftopFuture
จะเก็บสถานะแบบอะซิงโครนัสของการแก้ไข Anchor บนหลังคาGARRooftopAnchorState
อธิบายสถานะของการแก้ไข Anchor บนหลังคา
ความลึกของภูมิสารสนเทศ
เมื่อเปิดใช้ทั้งโหมด 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
คุณใช้ Hardware Buffer นี้ได้โดยการเชื่อมโยงกับ 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.ImageStabilizationMode
Frame.transformCoordinates3d()
Session.isImageStabilizationModeSupported()
- มีปัญหาที่ทราบแล้วซึ่งการเรียกใช้
Frame.transformCoordinates3d()
ด้วยพิกัด 2 มิติอื่นที่ไม่ใช่OPENGL_NORMALIZED_DEVICE_COORDINATES
จะทำให้เกิดข้อขัดข้องแทนที่จะส่งIllegalArgumentException
เราจะแก้ไขปัญหานี้ในการเปิดตัวรุ่นถัดไป
Android NDK (C)
ArImageStabilizationMode
ArFrame_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
ARCore Async API
รุ่นนี้เปิดตัว API แบบไม่พร้อมกันของ ARCore ใหม่เพื่อปรับปรุงการยศาสตร์เมื่อทำงานกับการดำเนินการแบบไม่พร้อมกันตามกระบวนทัศน์ 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)
- การแก้ไขสมอของภูมิประเทศ: ใช้
ArEarth_resolveAnchorOnTerrainAsync()
เพื่อรับArResolveAnchorOnTerrainFuture
หรือใช้ArResolveAnchorOnTerrainCallback
สัญลักษณ์เดิมArEarth_resolveAndAcquireNewAnchorOnTerrain()
เลิกใช้งานแล้วและอาจถูกนำออกใน ARCore เวอร์ชันถัดไป - การแก้ไข Cloud 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 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
- ดูรายละเอียดเพิ่มเติมได้ที่การเปลี่ยนแปลงปลายทาง Cloud Anchor ของ ARCore 1.33
- API ใหม่ใช้ชื่อโดเมน
สมอยึดภูมิประเทศ
- 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 แล้ว หากแอปไม่ได้ระบุ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
Geospatial API ของ ARCore ใหม่ใช้ข้อมูลจากโมเดล 3 มิติของ Google Earth และข้อมูลรูปภาพ Street View จาก Google Maps เพื่อให้แอปของคุณมอบประสบการณ์ Augmented Reality ตามตำแหน่งที่สมจริงและครอบคลุมทั่วโลกได้
ดูข้อมูลเบื้องต้นเกี่ยวกับ ARCore Geospatial API เพื่อดูเอกสารประกอบสำหรับนักพัฒนาซอฟต์แวร์เฉพาะแพลตฟอร์ม และเริ่มต้นใช้งาน Geospatial API ใหม่
ความลึกระยะไกล
ตอนนี้เราได้เพิ่มประสิทธิภาพ ARCore Depth API ให้รวมการตรวจจับความลึกในระยะไกลขึ้น เพื่อเพิ่มช่วงของการสังเกตความลึกที่แสดงได้ ระบบจะใช้ความลึกของภาพ 16 บิตทั้งหมด ซึ่งให้ช่วงสูงสุด 65535 มิลลิเมตร ก่อนหน้านี้ จะมีการป้อนข้อมูลเพียง 13 บิต โดยมีขีดจำกัดที่ 8191 มิลลิเมตร
ดูการเปลี่ยนแปลงเกี่ยวกับความลึกสำหรับเอกสารประกอบสำหรับนักพัฒนาซอฟต์แวร์เฉพาะแพลตฟอร์ม และทำความเข้าใจการเปลี่ยนแปลงเกี่ยวกับ Depth API
หมายเหตุเฉพาะแพลตฟอร์ม
Android
API ใหม่ของ ARCore Geospatial
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
รุ่นใหม่ ตัวแปรของรุ่นนี้ ไม่ได้รวมทรัพยากร 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: เพิ่มการพึ่งพาการบิลด์ที่ขาดหายไปลงในตัวอย่าง แก้ไขข้อบกพร่องที่ทำให้การโฮสต์ Anchor ใดก็ตามมีสถานะเป็น
CloudAnchorState ERROR_NOT_AUTHORIZED
แม้ว่าจะตั้งค่าโปรเจ็กต์อย่างถูกต้องแล้วก็ตาม
Unity (AR Foundation)
- ตอนนี้แพ็กเกจ ARCore Extensions ต้องใช้ ARKit XR Plugin เพื่อให้มั่นใจว่าเวอร์ชัน AR Foundation ที่ติดตั้งเข้ากันได้กับเวอร์ชัน ARKit XR Plugin การแก้ไขนี้จะช่วยแก้ข้อผิดพลาดในการคอมไพล์เมื่อติดตั้ง 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()
ส่งคืนจะมีขนาด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
การเปิดตัวนี้ได้เพิ่ม API การบันทึกและการเล่นและ 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 Anchor แบบถาวร
ความสามารถของข้อมูลเมตาของรูปภาพที่อัปเดตแล้วสำหรับ Android และ Android NDK
คำแนะนำใหม่ที่กำหนดให้ใช้ Gradle เวอร์ชัน 5.6.4 ขึ้นไป เพื่อรองรับ ARCore Extensions สำหรับ AR Foundation หรือ ARCore SDK สำหรับ Unity (1.19 ขึ้นไป) ด้วย Unity 2018.4 ขึ้นไป
การรองรับ Cloud Anchor แบบถาวรใหม่
ก่อน ARCore v1.20 คุณจะแก้ไข Cloud Anchor ได้นานสูงสุด 24 ชั่วโมง หลังจากที่โฮสต์เป็นครั้งแรก ตอนนี้คุณสร้าง Cloud Anchor ที่มีเวลาให้อยู่ (TTL) ระหว่าง 1 ถึง 365 วันได้แล้วด้วย Cloud Anchor แบบถาวร นอกจากนี้ คุณยังขยายอายุของ Anchor หลังจากที่โฮสต์แล้วได้ด้วย โดยใช้ Cloud Anchor Management API
การใช้ Cloud Anchor แบบถาวรอยู่ภายใต้นโยบายการเลิกใช้งาน Cloud Anchor ใหม่
C: คู่มือนักพัฒนาซอฟต์แวร์
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
- เราจะรองรับ 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 ซึ่งอยู่ในการตั้งค่าโปรเจ็กต์ > Player > Android > การตั้งค่าอื่นๆ > การแสดงผลแบบหลายเธรด ดูรายละเอียดได้ที่คู่มือนักพัฒนาซอฟต์แวร์
- เพิ่ม
SessionStatus.ErrorCameraNotAvailable
และSessionStatus.ErrorIllegalState
เพื่อระบุสถานะข้อผิดพลาดของเซสชัน ARCore โดยเฉพาะ
ดูบันทึกประจำรุ่นฉบับสมบูรณ์ของ ARCore SDK สำหรับ Unity ด้วย
สิ่งที่น่าสนใจใน ARCore SDK สำหรับ iOS
ขนาดไบนารีของ Cloud Anchors SDK ลดลงอย่างมาก
ตอนนี้เราได้รองรับ Bitcode สำหรับใบหน้าที่เพิ่มความเป็นจริงแล้ว
ดูบันทึกประจำรุ่นฉบับสมบูรณ์ของ 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
แทนNONE
Android NDK:
ArTrackingFailureReasons
เป็นAR_TRACKING_FAILURE_REASON_CAMERA_UNAVAILABLE
แทนAR_TRACKING_FAILURE_REASON_NONE
Unity:
Session.LostTrackingReason
เป็นLostTrackingReason.CameraUnavailable
แทนNone
Google รวบรวมและประมวลผลข้อมูล จากการใช้แพ็กเกจ ARCore Extensions ตามนโยบายความเป็นส่วนตัวของ Google และข้อกำหนดในการให้บริการของ Google APIs คุณเลือกไม่ใช้ได้
มีอะไรใหม่ใน ARCore v1.13.0
รุ่นนี้มีการเปลี่ยนแปลงที่สำคัญต่อไปนี้
รองรับการใช้ ARCore Extensions สำหรับ AR Foundation ของ Unity เพื่อสร้างแอป iOS ที่มี Cloud Anchor
ดูการแก้ไขข้อบกพร่องเพิ่มเติมและการเปลี่ยนแปลงอื่นๆ ที่ทำให้เกิดการหยุดทำงานได้ในบันทึกประจำรุ่นต่อไปนี้
มีอะไรใหม่ใน ARCore v1.12.0
รุ่นนี้มีการเปลี่ยนแปลงต่อไปนี้
การเพิ่มฟีเจอร์ใบหน้าเสริมความจริงลงใน iOS ดูข้อมูลเพิ่มเติมได้ที่ภาพรวม การเริ่มต้นอย่างรวดเร็ว และคู่มือสำหรับนักพัฒนาซอฟต์แวร์
รองรับการใช้ ARCore Extensions สำหรับ AR Foundation ของ Unity เพื่อสร้างแอป Android ด้วย Cloud Anchor
การเปลี่ยนแปลงต่อไปนี้ใน Cloud Anchor
- เพื่อให้เป็นไปตามข้อกำหนดด้านความเป็นส่วนตัวที่อัปเดตแล้วสำหรับการใช้ ARCore SDK 1.12 ขึ้นไป คุณต้องเปิดเผยการใช้ Cloud Anchors อย่างชัดเจนในแอปพลิเคชันโดยใส่ข้อความต่อไปนี้ รวมถึงลิงก์เพื่อดูข้อมูลเพิ่มเติมในหน้าจอประกาศ "Google จะประมวลผลข้อมูลภาพจากกล้องของคุณเพื่อขับเคลื่อนเซสชันนี้" คุณทำได้โดยการใช้ขั้นตอนการแจ้งเตือนผู้ใช้ที่แนะนำซึ่งมีอยู่ในแอปตัวอย่าง Cloud Anchor
ดูรายละเอียดเพิ่มเติมได้ที่ข้อกำหนดด้านความเป็นส่วนตัวของผู้ใช้
ดูรายละเอียดเพิ่มเติมเกี่ยวกับ Cloud Anchors ได้ที่
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) เพื่อพิจารณาว่ากล้องกำลังติดตามรูปภาพจริง (FULL_TRACKING
) หรือกำลังติดตาม ตามตำแหน่งล่าสุดที่ทราบ (LAST_KNOWN_POSE
)
ตอนนี้เอกสารประกอบของ Cloud Anchors มีคำอธิบายโดยละเอียดเพิ่มเติมเกี่ยวกับวิธี โฮสต์และแก้ไข Anchor แล้ว
มีอะไรใหม่ใน ARCore SDK สำหรับ Unity
ฟีเจอร์ใหม่ของภาพเสริมมีดังนี้
ตอนนี้ ARCore ติดตามรูปภาพเสริมที่เคลื่อนไหวได้แล้ว ตัวอย่างของรูปภาพเคลื่อนไหวอาจเป็นโฆษณาบนรถประจำทางที่วิ่งผ่านหรือรูปภาพบนวัตถุแบนที่ผู้ใช้ถือขณะเคลื่อนที่
หลังจากตรวจพบรูปภาพแล้ว ARCore จะติดตามตำแหน่งและการวางแนวของรูปภาพต่อไปได้ แม้ว่ารูปภาพจะเคลื่อนที่ออกนอกมุมมองกล้องชั่วคราวก็ตาม
API
AugmentedImage.GetTrackingMethod()
ใหม่ช่วยให้แอปของคุณระบุได้ว่ากล้องกำลังติดตามรูปภาพเสริมอยู่หรือไม่ (FullTracking
) หรือกำลังติดตาม ตามตำแหน่งที่ทราบล่าสุด (LastKnownPose
)
ตอนนี้เอกสารประกอบของ Cloud Anchors มีคำอธิบายโดยละเอียดเพิ่มเติมเกี่ยวกับวิธี โฮสต์และแก้ไข Anchor แล้ว
มีอะไรใหม่ใน ARCore SDK สำหรับ iOS
อุปกรณ์ที่รองรับมีดังนี้
iPad Mini รุ่นที่ 5
iPad Air รุ่นที่ 3
ตอนนี้เอกสารประกอบของ Cloud Anchors มีคำอธิบายโดยละเอียดเพิ่มเติมเกี่ยวกับวิธี โฮสต์และแก้ไข Anchor แล้ว