คำแนะนำเฉพาะแพลตฟอร์ม
Android (Kotlin/Java)
Android NDK (C)
Unity (AR Foundation)
เครื่องมืออันสมจริง
ประสบการณ์ Augmented Reality ส่วนใหญ่เป็นแบบ "เรียลไทม์" แอปเหล่านี้กำหนดให้ผู้ใช้อยู่ในสถานที่ที่ต้องการในช่วงเวลาหนึ่งๆ โดยตั้งค่าโทรศัพท์เป็นโหมด AR พิเศษและเปิดแอป AR ตัวอย่างเช่น หากผู้ใช้ต้องการดูลักษณะของโซฟา AR ในห้องนั่งเล่น ก็จะต้อง "วาง" โซฟาในสภาพแวดล้อมบนหน้าจอขณะที่ตนเองอยู่ในห้อง
API การบันทึกและการเล่นจะตอบสนองความต้องการนี้แบบ "เรียลไทม์" ซึ่งจะช่วยให้คุณสร้างประสบการณ์ AR ที่ดูได้ทุกที่ทุกเวลา API การบันทึกจะจัดเก็บสตรีมวิดีโอของกล้อง ข้อมูล IMU หรือข้อมูลเมตาที่กำหนดเองอื่นๆ ที่คุณเลือกบันทึกเป็นไฟล์ MP4 จากนั้นคุณสามารถป้อนข้อมูลวิดีโอที่บันทึกไว้เหล่านี้ให้กับ ARCore ผ่าน API การเล่น ซึ่งจะดำเนินการกับ MP4 เหมือนกับฟีดเซสชันแบบสด คุณยังใช้เซสชันกล้องแบบสดได้ แต่ API ใหม่นี้ทำให้แอปพลิเคชัน AR เลือกใช้ MP4 ที่บันทึกไว้ล่วงหน้าแทนเซสชันสดได้
ผู้ใช้ปลายทางก็สามารถใช้ประโยชน์จากฟีเจอร์นี้ได้เช่นกัน ไม่ว่าจะในชีวิตจริงอยู่ที่ไหน เด็กๆ สามารถดึงวิดีโอที่บันทึกไว้ด้วย Recording and Playback API จากแกลเลอรีเนทีฟของตน แล้วตัดต่อหรือเล่นวัตถุ เอฟเฟกต์ และฟิลเตอร์ AR ได้ตามต้องการ ฟีเจอร์นี้ช่วยให้ผู้ใช้ช้อปปิ้งแบบ AR ได้ขณะอยู่บนรถไฟที่เดินทางมายังสำนักงาน หรือนั่งพักผ่อนบนเตียง
กรณีการใช้งานสำหรับการพัฒนาโดยใช้ API การบันทึกและการเล่น
API การบันทึกและการเล่นจะนำข้อจำกัดด้านเวลาและพื้นที่ในการสร้างแอป AR ออก ต่อไปนี้เป็นตัวอย่างวิธีใช้ฟีเจอร์นี้ในโปรเจ็กต์ของคุณเอง
บันทึกครั้งเดียวแล้วทดสอบได้ทุกที่
แทนที่จะต้องออกไปยังสถานที่จริงทุกครั้งที่ต้องการทดสอบฟีเจอร์ AR คุณสามารถบันทึกวิดีโอโดยใช้ API การบันทึกแล้วเล่นวิดีโอโดยใช้อุปกรณ์ที่เข้ากันได้ใดก็ได้ หากคุณกำลังสร้างประสบการณ์ในห้างสรรพสินค้า โดยไม่จำเป็นต้องไปที่นั่นทุกครั้งที่ต้องการทดสอบการเปลี่ยนแปลง เพียงบันทึกการเยี่ยมชมเพียงครั้งเดียว แล้วทำซ้ำและพัฒนาเพลงได้จากโต๊ะทำงานของคุณเองแสนสบาย
ลดเวลาทำซ้ำ
แทนที่จะต้องบันทึกวิดีโอสำหรับอุปกรณ์ Android ทุกเครื่องที่ต้องการรองรับ คุณสามารถบันทึกวิดีโอครั้งเดียวแล้วเล่นวิดีโอบนอุปกรณ์หลายเครื่องในขั้นตอนของการทำซ้ำได้
ลดภาระในการทดสอบด้วยตนเองระหว่างทีมพัฒนา
ใช้ประโยชน์จากชุดข้อมูลที่บันทึกไว้ล่วงหน้าแทนการสร้างชุดข้อมูลที่กำหนดเองสำหรับฟีเจอร์ใหม่ทั้งหมด ขณะเปิดตัวฟีเจอร์ใหม่ที่รวมความลึกหรือการปรับปรุงการติดตามล่าสุดจาก ARCore
ความเข้ากันได้ของอุปกรณ์
คุณจะต้องใช้ ARCore ในการบันทึกข้อมูลด้วย API การบันทึกและการเล่น แต่ไม่ต้องใช้ในการเล่นเนื้อหา MP4 ที่บันทึกโดยใช้ฟีเจอร์นี้โดยพื้นฐานแล้วก็คือไฟล์วิดีโอที่มีข้อมูลเพิ่มเติมซึ่งสามารถดูได้โดยใช้โปรแกรมเล่นวิดีโอใดๆ ก็ตาม คุณสามารถตรวจสอบโดยใช้ ExoPlayer ของ Android หรือโปรแกรมเล่นอื่นๆ ที่เข้ากันได้ซึ่งสามารถทั้ง Demux MP4 และจัดการข้อมูลเพิ่มเติมที่ ARCore เพิ่มได้
วิธีบันทึกข้อมูลวิดีโอและข้อมูล AR สำหรับการเล่น
ARCore จะบันทึกเซสชันที่บันทึกไว้ลงในไฟล์ MP4 ในอุปกรณ์เป้าหมาย ไฟล์เหล่านี้ประกอบด้วยแทร็กวิดีโอหลายรายการและข้อมูลเบ็ดเตล็ดอื่นๆ เมื่อบันทึกเซสชันเหล่านี้แล้ว คุณจะชี้แอปให้ใช้ข้อมูลนี้แทนเซสชันกล้องแบบสดได้
มีอะไรอยู่ในไฟล์บันทึกเสียง
ARCore จะบันทึกข้อมูลต่อไปนี้ในวิดีโอ H.264 คุณสามารถเข้าถึงได้ในโปรแกรมเล่นวิดีโอที่ใช้ร่วมกับ MP4 ที่สามารถสลับแทร็กได้ แทร็กที่มีความละเอียดสูงสุดเป็นแทร็กแรกในรายการ เนื่องจากโปรแกรมเล่นวิดีโอที่ใช้งานกับ MP4 บางรุ่นจะเล่นแทร็กแรกในรายการโดยอัตโนมัติโดยที่ไม่อนุญาตให้เลือกแทร็กวิดีโอที่จะเล่น
แทร็กวิดีโอหลัก (แทร็กรูปภาพ CPU)
ไฟล์วิดีโอหลักจะบันทึกสภาพแวดล้อมหรือฉากสำหรับเล่นในภายหลัง โดย ซึ่งเป็นค่าเริ่มต้น ARCore จะบันทึกอิมเมจ CPU 640x480 (VGA) ที่ใช้สำหรับ การติดตามการเคลื่อนไหวเป็นวิดีโอหลัก สตรีม
ARCore ไม่จับพื้นผิว GPU (ความละเอียดสูง) ที่แสดงผลใน หน้าจอเป็นรูปภาพจากกล้องส่งผ่าน
ถ้าต้องการให้สตรีมภาพความละเอียดสูงใช้งานได้ ในระหว่างการเล่น คุณสามารถ ต้องกำหนดค่ากล้องที่มีอิมเมจ CPU ที่มีความละเอียดที่ต้องการ ในกรณีนี้
- ARCore จะขออิมเมจ CPU ทั้ง 640x480 (VGA) ที่ต้องใช้สำหรับ การติดตามการเคลื่อนไหวและรูปภาพ CPU ความละเอียดสูงที่ระบุโดย การกำหนดค่ากล้อง
- การบันทึกสตรีมรูปภาพ CPU รายการที่ 2 อาจส่งผลต่อประสิทธิภาพของแอป และ อุปกรณ์ที่ต่างกันอาจได้รับผลกระทบแตกต่างกัน
- ในระหว่างการเล่น ARCore จะใช้อิมเมจ CPU ความละเอียดสูง ระหว่างการบันทึกเป็นพื้นผิว GPU ระหว่างการเล่น
- รูปภาพ CPU ความละเอียดสูงจะกลายเป็นสตรีมวิดีโอเริ่มต้นใน การบันทึก MP4
การกำหนดค่ากล้องที่เลือกระหว่างการบันทึกจะเป็นตัวกำหนดรูปภาพของ CPU และสตรีมวิดีโอหลักในการบันทึก หากไม่เลือกการกำหนดค่ากล้องที่มีอิมเมจ CPU ความละเอียดสูง วิดีโอนี้จะเป็นแทร็กแรกในไฟล์และจะเล่นโดยค่าเริ่มต้น ไม่ว่าคุณจะใช้วิดีโอเพลเยอร์ใดก็ตาม
การแสดงภาพแผนที่ความลึกของกล้อง
ซึ่งเป็นไฟล์วิดีโอที่แสดงแผนที่ความลึกของกล้อง ซึ่งบันทึกจากเซ็นเซอร์ความลึกของฮาร์ดแวร์ของอุปกรณ์ เช่น เซ็นเซอร์ตรวจจับเวลาบิน (หรือเซ็นเซอร์ ToF) และแปลงเป็นค่าช่อง RGB ควรใช้วิดีโอนี้เพื่อดูตัวอย่างเท่านั้น
เหตุการณ์การเรียก API
ARCore จะบันทึกการวัดจากตัวตรวจวัดการหมุนและเซ็นเซอร์ตัวตรวจวัดความเร่งของอุปกรณ์ นอกจากนี้ยังบันทึกข้อมูลอื่นๆ ซึ่งบางอย่างอาจมีข้อมูลที่ละเอียดอ่อน
- เวอร์ชันของรูปแบบชุดข้อมูล
- เวอร์ชัน ARCore SDK
- บริการ Google Play สำหรับเวอร์ชัน AR
- ลายนิ้วมือของอุปกรณ์ (เอาต์พุต
adb shell getprop ro.build.fingerprint
) - ข้อมูลเพิ่มเติมเกี่ยวกับเซ็นเซอร์ที่ใช้สำหรับการติดตาม AR
- เมื่อใช้ ARCore Geospatial API ตำแหน่งโดยประมาณของอุปกรณ์ ค่าจากเครื่องวัดค่าความเข้มข้นของสนามแม่เหล็ก และการอ่านเข็มทิศ