เริ่มต้นใช้งาน Geospatial Creator ใน Unity

ARCore Geospatial Creator สำหรับ Unity ช่วยให้คุณดูตัวอย่างเนื้อหาเชิงพื้นที่ ใน Unity Editor ได้โดยการแสดงข้อมูล Google Maps ในรูปแบบ 3D Tiles ใหม่ ซึ่งจะช่วยให้คุณเห็นภาพว่าเนื้อหาจะวางอยู่ที่ใดในโลกแห่งความเป็นจริงขณะสร้างแอป

Geospatial Creator พร้อมใช้งานเป็นส่วนหนึ่งของ ARCore Extensions สำหรับ AR Foundation การเริ่มต้นอย่างรวดเร็วนี้จะแสดงวิธีใช้ Geospatial Creator ใน Unity เพื่อเพิ่มเนื้อหา AR ภูมิสารสนเทศลงในแอปตัวอย่างภูมิสารสนเทศของ ARCore

หากมีแอปอยู่แล้วและต้องการใช้แทน Geospatial Sample คุณจะต้องทำตามคู่มือนักพัฒนาแอป Geospatial สำหรับ Unity ก่อน หลังจากกำหนดค่าแอปเพื่อใช้ Geospatial API แล้ว ให้ข้ามไปยังขั้นตอนเพิ่ม การอ้างอิงที่จำเป็นด้านล่างและดำเนินการต่อจากตรงนั้น

ข้อกำหนดเบื้องต้น

ทำตาม"การเริ่มต้นใช้งาน ARCore Extensions สำหรับ AR Foundation" เพื่อกำหนดค่าสภาพแวดล้อม Unity เพื่อสร้างประสบการณ์ AR

แม้ว่า ARCore Extensions จะรองรับ Unity เวอร์ชันก่อนหน้า แต่ Geospatial Creator ต้องใช้ Unity 2021.3 ขึ้นไป

การให้สิทธิ์ API

คุณจะต้องตั้งค่าการเข้าถึง API เพื่อใช้ ARCore Geospatial API และ Google Map Tiles API

Google Map Tiles API

Map Tiles API แสดงภาพ 3 มิติแบบสมจริงของสถานที่ที่รองรับ เราจะใช้ไทล์เหล่านี้ใน Unity Editor เพื่อ แสดงตัวอย่างพื้นที่รอบๆ ฉาก AR

ดูหน้า Map Tiles API เพื่อ เปิดใช้ API และดูข้อมูลเพิ่มเติมเกี่ยวกับ Map Tiles

ARCore Geospatial API

แอปของคุณจะใช้ ARCore Geospatial API ในขณะรันไทม์เพื่อสร้างและ โต้ตอบกับสมอเชิงพื้นที่

หากต้องการเปิดใช้ Geospatial API ให้ตั้งค่า ARCore API ในแอปพลิเคชัน คุณสามารถใช้วิธีการให้สิทธิ์แบบไม่มีคีย์ (แนะนํา) หรือคีย์ API

ขยายแอปตัวอย่าง Geospatial

ในคู่มือนี้ เราจะแสดงวิธีใช้ Geospatial Creator เพื่อเพิ่มเนื้อหาภูมิสารสนเทศลงในแอปตัวอย่างภูมิสารสนเทศของ ARCore

กำหนดค่าตัวอย่างภูมิสารสนเทศ

ก่อนอื่น โปรดทำความคุ้นเคยกับแอปตัวอย่างเชิงพื้นที่ของ ARCore ในโปรเจ็กต์ Unity ใหม่ ให้เปิด Unity Package Manager แล้วเลือกแพ็กเกจ ARCore Extensions ในแผงรายละเอียดของ Package Manager ให้ขยายตัวอย่าง แล้วนำเข้า ตัวอย่างเชิงพื้นที่ลงในโปรเจ็กต์ Unity

ก่อนเรียกใช้แอป คุณต้องเปิดใช้ฟังก์ชัน ARCore และ Geospatial ในโปรเจ็กต์ ใช้แก้ไข > การตั้งค่าโปรเจ็กต์... > การจัดการปลั๊กอิน XR เลือกช่องที่เหมาะสมเพื่อเปิดใช้ผู้ให้บริการปลั๊กอิน ARCore สำหรับ Android และ/หรือ ผู้ให้บริการปลั๊กอิน ARKit สำหรับ iOS

จากนั้นไปที่แก้ไข > การตั้งค่าโปรเจ็กต์... > XR Plug-in Management ให้เปิดแผง ARCore Extensions ตรวจสอบว่าได้เลือก "Geospatial" แล้ว (คุณยังไม่จำเป็นต้องเปิดใช้ Geospatial Creator) แล้วป้อนข้อมูลเข้าสู่ระบบ API ดูรายละเอียดเพิ่มเติมได้ในเอกสารประกอบ "เปิดใช้ Geospatial Unity API" สำหรับ Android และ iOS

นอกจากนี้ ยังมีการตั้งค่า Player อื่นๆ ที่เฉพาะเจาะจงแพลตฟอร์มซึ่งจำเป็นสำหรับแอป Unity ที่ใช้ ARCore ดูการเปลี่ยนแปลงที่จำเป็นได้ที่ส่วนกำหนดค่า Player Settings ในเอกสารประกอบ

ในตอนนี้ ฉากของคุณจะไม่มีออบเจ็กต์เกมอื่นนอกเหนือจากที่จำเป็นสำหรับการเรียกใช้ตัวอย่างเชิงพื้นที่ ตอนนี้เป็นเวลาที่เหมาะในการสร้างและเรียกใช้แอป หากกำหนดค่าอย่างถูกต้อง เมื่อรันไทม์ แอปจะแสดงมุมมองกล้องของอุปกรณ์ ขณะที่คุณเคลื่อนที่ ความแม่นยำเชิงพื้นที่ที่แสดงที่ด้านบนของหน้าจอจะเริ่มดีขึ้น การแตะหน้าจอจะสร้างสมอเชิงพื้นที่ ซึ่งจะคงอยู่ในตำแหน่งเดิมขณะที่คุณเคลื่อนที่

จากนั้นเราจะแสดงวิธีใช้ Geospatial Creator เพื่อสร้างและแสดงภาพ เนื้อหา AR ที่ซับซ้อนจากภายใน Unity Editor เนื้อหานี้จะปรากฏ ในแอปของคุณที่ละติจูด / ลองจิจูดที่เฉพาะเจาะจงในโลก

เพิ่มการขึ้นต่อกันที่จำเป็น

Geospatial Creator ใช้แพ็กเกจ Unity ของบุคคลที่สามที่ชื่อ Cesium เพื่อแสดงผลไทล์ของ Google Maps ในหน้าต่าง Scene ของ Unity Editor ก่อนเปิดใช้ฟีเจอร์ Geospatial Creator ให้เพิ่มแพ็กเกจ Cesium ลงในโปรเจ็กต์ก่อน

เราขอแนะนำให้ติดตั้งแพ็กเกจ Cesium for Unity เวอร์ชันล่าสุดจาก หน้า GitHub ของ Cesium โดยทำดังนี้

  1. ดาวน์โหลด .tgz ที่คอมไพล์ล่วงหน้าของ Cesium สำหรับ Unity เวอร์ชันล่าสุดจากหน้า GitHub Releases เวอร์ชันปัจจุบันของแพ็กเกจ Cesium for Unity ที่แนะนำคือ 1.1.0
  2. เปิด Unity Package Manager โดยคลิกเมนู "Window" ของ Unity แล้วเลือก "Package Manager"
  3. คลิกไอคอน "+" แล้วเลือก "เพิ่มแพ็กเกจจากไฟล์ tarball"
  4. เลือกไฟล์ .tgz ของ Cesium for Unity ที่ดาวน์โหลดไว้ในขั้นตอนที่ 1
  5. ระบบอาจแจ้งให้คุณติดตั้งการอ้างอิงเพิ่มเติม เช่น Text Mesh Pro

เพิ่มแพ็กเกจ .tgz ด้วย Unity Package Manager

เปิดใช้ Geospatial Creator

ตอนนี้คุณก็พร้อมเปิดใช้ Geospatial Creator แล้ว โดยทำดังนี้

  1. จากกล่องโต้ตอบการตั้งค่าการสร้าง ตรวจสอบว่าแพลตฟอร์มที่เลือกเป็น "Android" หรือ "iOS" ฟีเจอร์ Geospatial Creator ยังไม่พร้อมให้บริการในแพลตฟอร์มอื่นๆ ในขณะนี้
  2. ไปที่การตั้งค่าโปรเจ็กต์ > การจัดการปลั๊กอิน XR > ส่วนขยาย ARCore
  3. หากไม่ได้ตั้งค่าคีย์ API ของ ARCore Android และ/หรือ iOS ในขั้นตอนก่อนหน้า โปรดตั้งค่าตอนนี้
  4. เปิดใช้ทั้งปุ่มสลับ "Geospatial" และ "Geospatial Creator" หลังจากคลิกเพื่อเปิดใช้ปุ่มสลับ Geospatial Creator แล้ว วิซาร์ดที่ไม่ใช่โมดัลจะแสดงขึ้น เพื่อยืนยันว่าโปรเจ็กต์ของคุณเข้ากันได้กับ Geospatial Creator
  5. คลิก "เสร็จสิ้น" ในวิซาร์ด

หลังจากทำตามวิซาร์ดเสร็จแล้ว Unity จะเรียกใช้การคอมไพล์สคริปต์ โปรดรอให้การคอมไพล์ซ้ำเสร็จสมบูรณ์ก่อนดำเนินการต่อ (หากแพลตฟอร์มที่คุณเลือกไม่ใช่ "Android" หรือ "iOS" ให้เปลี่ยนเป็นแพลตฟอร์มใดแพลตฟอร์มหนึ่งในตอนนี้)

เพิ่มต้นทางของครีเอเตอร์ด้านข้อมูลเชิงพื้นที่ด้วยไทล์แผนที่

ฉากของคุณต้องมีออบเจ็กต์ "ต้นทางของครีเอเตอร์เชิงพื้นที่" 1 รายการเท่านั้น ออบเจ็กต์นี้ใช้เป็นจุดอ้างอิงในการแปลงค่าละติจูด ลองจิจูด และ ระดับความสูงในโลกจริงเป็นพิกัดเกม Unity

หากต้องการเพิ่มต้นทาง Geospatial Creator ลงในฉาก ให้เลือก ออบเจ็กต์เกม > XR > ต้นทาง Geospatial Creator ออบเจ็กต์ที่สร้างขึ้นใหม่ ต้องมีการอ้างอิงทางภูมิศาสตร์ ซึ่งจะลิงก์ละติจูด ลองจิจูด และ ระดับความสูงที่เฉพาะเจาะจงกับตำแหน่งต้นทางในพิกัดของเกม จากแผงเครื่องมือตรวจสอบของ Geospatial Creator Origin ให้เพิ่มการอ้างอิงทางภูมิศาสตร์โดยคลิกปุ่มเพิ่ม คอมโพเนนต์การอ้างอิงทางภูมิศาสตร์ของ Cesium

เพิ่ม GameObject ต้นทางของ Geospatial Creator

นอกเหนือจากการเป็นจุดอ้างอิงสำหรับออบเจ็กต์ AR แล้ว Cesium Georeference ยังเพิ่มออบเจ็กต์ชุดไทล์ 3 มิติของ Cesium ลงในฉากด้วย ออบเจ็กต์นี้จะแสดงผลไทล์ของ Google Maps ในมุมมองฉากของเอดิเตอร์ ซึ่งช่วยให้คุณเห็นภาพตำแหน่งที่เนื้อหา AR จะปรากฏในโลกได้อย่างแม่นยำ มีช่องในเครื่องมือตรวจสอบของ Geospatial Creator Origin เพื่อเพิ่มคีย์ API ของ Map Tiles ที่คุณตั้งค่า ไว้ก่อนหน้านี้ หลังจากตั้งค่าคีย์นี้แล้ว คุณควรเห็นแผนที่ ไทล์โหลดในมุมมองฉาก

ตอนนี้ให้เปลี่ยนฟิลด์ละติจูด ลองจิจูด และความสูงให้ตั้งอยู่ใกล้กับตำแหน่งที่คุณต้องการให้เนื้อหา AR ปรากฏในแอป

ตอนนี้มุมมองฉากในเครื่องมือแก้ไขควรแสดงแผนที่ที่ละติจูดและลองจิจูดที่ระบุของต้นทาง ในขณะรันไทม์ เราถือว่าแอปของคุณจะใช้ กล้อง AR ดังนั้น Geospatial Creator จึงได้กำหนดค่าออบเจ็กต์ชุดไทล์แผนที่ 3 มิติของ Cesium ด้วยแท็ก "EditorOnly" ไว้แล้ว ด้วยเหตุนี้ ระบบจึงจะไม่ดาวน์โหลดหรือแสดงผลไทล์ในเกมขณะรันไทม์ ซึ่งเปลี่ยนได้จากเครื่องมือตรวจสอบของออบเจ็กต์ Cesium3DTileset ดูข้อมูลเพิ่มเติมเกี่ยวกับ Georeference ของ Cesium และ GameObject ของชุดไทล์ 3 มิติได้ที่เอกสารประกอบของ Cesium for Unity

เพิ่มและวางสมอของ Geospatial Creator

ตอนนี้คุณพร้อมที่จะวางเนื้อหา AR ในฉากแล้ว คลิก GameObject > XR > Geospatial Creator Anchor เพื่อเพิ่ม Anchor ลงในลำดับชั้นของฉาก คุณระบุละติจูด ลองจิจูด และความสูงที่แน่นอนได้จากเครื่องมือตรวจสอบของ Anchor การเปลี่ยนรูปของออบเจ็กต์จะอัปเดตเป็นตำแหน่งที่ถูกต้องในฉากทันที และคุณจะเห็นตำแหน่งที่ออบเจ็กต์จะปรากฏในโลก ได้อย่างแม่นยำ

เพิ่มสมอ Geospatial Creator

ขณะปรับแต่งละติจูดและลองจิจูดของจุดยึด ให้เลือกสถานที่ที่อยู่ใกล้เคียง เพื่อให้คุณตรวจสอบได้ว่าจุดยึดอยู่ในตำแหน่งที่ถูกต้องขณะรันไทม์ เมื่อ ตั้งค่าระดับความสูงของสมอเสมือนจริงของ Geospatial Creator คุณจะมี 3 ตัวเลือก ดังนี้

  • ภูมิประเทศจะวางสมอที่ระดับพื้นดินที่ละติจูดและลองจิจูด ที่ระบุ ระบบกำหนดตำแหน่งด้วยภาพจะกำหนดระดับพื้นดินที่รันไทม์ หากคุณเพิ่งเริ่มใช้ Geospatial API ของ ARCore "ภูมิประเทศ" เป็นตัวเลือกที่ดี เนื่องจาก Anchor จะได้รับการแก้ไขบนพื้นโดยตรงด้วยความแม่นยำในแนวตั้งสูง ฟิลด์ "ออฟเซ็ตความสูง" ช่วยให้คุณวางตำแหน่งจุดยึด เหนือหรือใต้ระดับพื้นดินได้ตามจำนวนที่กำหนดเป็นเมตร เช่น การระบุออฟเซ็ตเป็น "1.0" จะทําให้จุดยึด "ลอย" ขึ้นเหนือภูมิประเทศ 1 เมตร
  • หลังคาจะวางตำแหน่ง Anchor ที่สัมพันธ์กับด้านบนของโครงสร้างที่ละติจูดและลองจิจูดที่ระบุ ฟิลด์ "ออฟเซ็ตความสูง" ช่วยให้คุณเลื่อน Anchor ขึ้นหรือลงโดยสัมพันธ์กับตำแหน่งหลังคาได้เป็นเมตร เช่นเดียวกับ Anchor ภูมิประเทศ
  • WGS84 จะวางจุดยึดที่ระดับความสูงสัมบูรณ์ที่เฉพาะเจาะจงเป็นเมตร ตามระบบพิกัด WGS84 การวางออบเจ็กต์ด้วยวิธีนี้อาจต้องมีการลองผิดลองถูก เนื่องจากความสูง "0" ใน WSG84 ไม่ได้ หมายถึงระดับน้ำทะเลเสมอไป และอาจไม่ตรงกับระดับความสูงของ GPS นอกจากนี้ แม้ว่าละติจูดและลองจิจูดของไทล์ 3 มิติที่แสดงผลจะมีความแม่นยำสูง แต่การพยายามวางออบเจ็กต์ที่ระดับพื้นดินโดยใช้ไทล์ 3 มิติเป็นข้อมูลอ้างอิงอาจทำให้เกิดข้อผิดพลาดด้านความสูงได้สูงสุดหลายเมตร

ดูข้อมูลเพิ่มเติมเกี่ยวกับประเภทต่างๆ ของ ARCore Geospatial Anchor ได้ที่ คู่มือนักพัฒนาซอฟต์แวร์ Geospatial

ทั้งสมอเรือบนภูมิประเทศและสมอเรือบนดาดฟ้ามีฟิลด์ระดับความสูง WGS84 ค่านี้จะใช้เฉพาะในโหมดเอดิเตอร์เพื่อกำหนดความสูงของออบเจ็กต์ใน Scene View ระบบจะกำหนดความสูงของภูมิประเทศและดาดฟ้าที่รันไทม์เท่านั้น ดังนั้นฟิลด์ระดับความสูง WGS84 จึงช่วยให้คุณเห็นภาพจุดยึดที่ความสูงที่เฉพาะเจาะจง ขณะพัฒนาแอปได้ ระบบจะไม่สนใจฟิลด์ระดับความสูง WGS84 ที่รันไทม์สำหรับ จุดยึดภูมิประเทศและดาดฟ้า

เพิ่มเรขาคณิตไปยังสมอ

หากสร้างและเรียกใช้แอปตอนนี้ คุณจะไม่เห็น Anchor ในแอปที่เปิดใช้ AR เนื่องจากไม่มีเรขาคณิตที่แนบมากับ Anchor มาเพิ่มรูปทรงเรขาคณิต 3 มิติ อย่างง่ายลงใน Anchor กัน ในลำดับชั้นของฉาก ให้คลิกขวาที่ออบเจ็กต์ AR Geospatial Creator Anchor เลือกออบเจ็กต์ 3 มิติ > ลูกบาศก์จากเมนูตามบริบท คุณควรเห็นก้อนสีเทาในมุมมองฉากเป็นองค์ประกอบย่อยของ Anchor หากตัดสินใจที่จะย้ายตำแหน่งหรือการหมุนของออบเจ็กต์ในเอดิเตอร์ เราขอแนะนำให้ย้ายออบเจ็กต์ Anchor รูทแทนที่จะย้ายคิวบ์ไพรมิทีฟที่เป็นออบเจ็กต์ย่อย ซึ่งจะช่วยลดข้อผิดพลาดในการแปลจากละติจูด / ลองจิจูดเป็นพิกัดในเกม

Anchor ของ Geospatial Creator ที่มี Cube Primitive

แน่นอนว่าคุณสามารถเพิ่มรูปทรงที่ซับซ้อนมากขึ้น รวมถึงคอมโพเนนต์และ องค์ประกอบย่อยที่กำหนดเองลงใน Anchor ได้ด้วย

สร้างและเรียกใช้แอป

ถึงเวลาแล้วที่จะได้เห็นสมอของคุณในโลกแห่งความเป็นจริง ลองสร้างและเรียกใช้แอป แล้วย้ายไปยังตำแหน่งที่คุณคาดว่าจะเห็นลูกบาศก์ มีไหม ยินดีด้วย คุณพร้อมที่จะสร้างประสบการณ์ AR ที่ซับซ้อนยิ่งขึ้นด้วย Geospatial Creator แล้ว

หากพบปัญหา โปรดดูคู่มือการแก้ปัญหา

ตอนนี้เป็นเวลาที่เหมาะในการเพิ่ม Anchor ของ Geospatial Creator AR เพิ่มเติมที่มี รูปทรงเรขาคณิตแตกต่างกัน ลองทดลองใช้จุดยึดบนหลังคาและภูมิประเทศหลายจุด รวมถึงออฟเซ็ตของจุดยึดเหล่านั้น เพิ่มสคริปต์เพื่อทำให้ออบเจ็กต์เคลื่อนไหวหรือเปิดใช้การโต้ตอบกับออบเจ็กต์

ทำความเข้าใจจุดยึดของ Geospatial Creator และคลาส ARGeospatialAnchor

เมื่อสร้างประสบการณ์ AR ที่ซับซ้อนและโต้ตอบได้ คุณควรทำความเข้าใจความสัมพันธ์ระหว่าง Anchor ของ Geospatial Creator กับARGeospatialAnchorคลาส C# ของ ARCore ดังนี้

โดยจะสร้างได้ที่รันไทม์เท่านั้นด้วยการเรียกใช้ฟังก์ชันใดฟังก์ชันหนึ่งใน ARAnchorManager และจะสร้างได้เมื่อเซสชัน AR เสถียรแล้วเท่านั้นARGeospatialAnchor Geospatial Creator Anchor สามารถมองได้ว่าเป็นตัวยึดตำแหน่งที่อยู่ในฉากของคุณ รอให้เซสชัน AR พร้อมที่จะแก้ไขออบเจ็กต์ ARGeospatialAnchor เมื่อเซสชันพร้อมแล้ว ตัวยึดตำแหน่งจะเรียกใช้ ARAnchorManager โดยอัตโนมัติเพื่อสร้างและแก้ไข ARGeospatialAnchor

หลังจากที่แก้ไข Anchor รันไทม์แล้ว Anchor ของ Geospatial Creator ในลำดับชั้นของฉากจะแนบตัวเองเป็นองค์ประกอบย่อยกับ GameObject ใหม่ ซึ่งหมายความว่าคอมโพเนนต์หรือองค์ประกอบย่อยของ Geospatial Creator Anchor จะ กลายเป็นคอมโพเนนต์ย่อยหรือหลานของ ARGeospatialAnchor GameObject ใหม่ เช่น transform ของรูปทรงเรขาคณิตดั้งเดิมที่แนบมากับ Geospatial Creator Anchor จะรับค่ามาจาก transform ของ ARGeospatialAnchor และจะวางไว้ในตำแหน่งที่คาดไว้ใน เซสชัน AR รันไทม์

หากต้องการระบุ ARGeospatialAnchor GameObject ที่เฉพาะเจาะจงในรันไทม์ คุณสามารถค้นหาออบเจ็กต์ในฉากที่มีพร็อพเพอร์ตี้ name ตรงกับ Anchor ที่สร้างขึ้นโดยใช้ Geospatial Creator หากเริ่มต้นเซสชัน AR แล้ว parent ของออบเจ็กต์นั้นจะเป็นออบเจ็กต์ ARGeospatialAnchor ที่เกี่ยวข้อง

การแก้ปัญหา

ทำไมสมอของฉันจึงเคลื่อนที่

คุณอาจสังเกตเห็นว่าสมออาจดูเหมือน "ลอย" ช้าๆ หรือแม้แต่กระโดดหลายเมตรอย่างกะทันหัน โดยเฉพาะอย่างยิ่งเมื่อแอปเปิดตัวเป็นครั้งแรก ข้อความนี้จะปรากฏขึ้นเมื่อเซสชัน VPS ยังคงกำหนดและปรับแต่งตำแหน่งที่แน่นอนของกล้อง เมื่อความแม่นยำในแนวนอนและแนวตั้งดีขึ้นในหลายเฟรม ระบบจะวาดจุดยึดใหม่ในตำแหน่งที่แม่นยำยิ่งขึ้น ซึ่งจะทำให้ดูเหมือนมีการเคลื่อนไหว คุณอาจต้องการแสดงผลออบเจ็กต์แตกต่างออกไป (หรือไม่แสดงเลย) จนกว่าความแม่นยำของตำแหน่งจะถึงเกณฑ์ที่กำหนด โดยคุณสามารถค้นหาพร็อพเพอร์ตี้ ARCoreEarthManager.CameraGeospatialPose เพื่อพิจารณาความแม่นยำของการอัปเดตเฟรมปัจจุบัน

เหตุใดสมอเรือจึงปรากฏที่ระดับความสูงที่ไม่ถูกต้อง

เมื่อใช้ประเภทความสูง "กำหนดเอง" สำหรับจุดยึด Geospatial Creator ระบบจะตั้งค่าความสูงของจุดยึด (เป็นเมตร) ตาม WGS84 ในตำแหน่งหนึ่งๆ ระดับพื้นดินที่ปรากฏในไทล์แผนที่อาจแตกต่างจากระดับพื้นดินจริงที่ระบบกำหนดตำแหน่งด้วยภาพ (VPS) ของ Googleรายงานได้สูงสุดหลายเมตร หาก Geospatial Anchor ดูเหมือนจะอยู่ในตำแหน่งที่ไม่ถูกต้องขณะรันไทม์ เราขอแนะนำให้ตรวจสอบความสูงของ VPS ด้วยตนเองโดยใช้การซ้อนทับการแก้ไขข้อบกพร่องในแอปตัวอย่าง จากนั้นคุณจะ เปลี่ยนระดับความสูงใน Unity Editor ให้ตรงกับความสูงของ VPS ที่ทราบในตำแหน่งนั้นได้

ไทล์แผนที่แสดงผลไม่ถูกต้องในมุมมองฉากของเอดิเตอร์

หาก Cesium3DTileset ดูเหมือนจะโหลดไทล์ แต่ไทล์แสดงเป็นสีม่วงแดงทึบในมุมมองฉาก ให้เพิ่มแพ็กเกจ Shader Graph ของ Unity ลงในโปรเจ็กต์ Cesium ต้องใช้แพ็กเกจนี้ แต่โปรเจ็กต์ที่ใช้โปรแกรมแสดงผลในตัวของ Unity จะไม่รวมแพ็กเกจนี้ไว้โดยค่าเริ่มต้น

หากต้องการเพิ่ม Shader Graph ให้เปิด Unity Package Manager (Window > Package Manager) ตรวจสอบว่าคุณกำลังเรียกดูแพ็กเกจที่มีอยู่ใน Unity Package Registry โดยเลือก "Packages: Unity Registry" จากเมนูแบบเลื่อนลงที่ด้านบนของหน้าต่าง Package Manager ค้นหาcom.unity.shadergraph แพ็กเกจและติดตั้งเวอร์ชันล่าสุด เมื่อโหลดแพ็กเกจแล้ว ไทล์ 3 มิติ ควรโหลดซ้ำและแสดงผลอย่างถูกต้องในมุมมองฉาก

แอปแสดงหน้าจอสีดำในขณะรันไทม์แทนมุมมองกล้อง

ไม่ได้กำหนดค่า Universal Rendering Pipeline (URP) ของ Unity สำหรับกล้อง AR โดยค่าเริ่มต้น หากเห็นหน้าจอสีดำในขณะรันไทม์แทนเอาต์พุตของกล้อง คุณจะต้องเพิ่ม AR Background Renderer Feature ลงใน URP Renderer แต่ละรายการในฉาก

เพิ่มฟีเจอร์ AR Background Renderer

หากต้องการเพิ่มฟีเจอร์นี้ ให้ค้นหา "Renderer" ในโปรเจ็กต์ สำหรับออบเจ็กต์ URP Renderer แต่ละรายการ ให้คลิกปุ่ม "Add Renderer Feature" ใน Inspector แล้วเพิ่ม AR Background Renderer

เหตุใด Anchor ที่วางไว้ไกลจากจุดเริ่มต้นจึงดูเหมือนวางไม่ถูกต้อง

การแปลงจากพิกัด WGS84 เป็นพิกัดเกม Unity อาจมีข้อผิดพลาดเนื่องจากความแม่นยำในการคำนวณเลขทศนิยม ซึ่งสามารถลดข้อผิดพลาดได้โดยตรวจสอบว่าจุดเริ่มต้นอยู่ใกล้กับ Anchor AR ระยะทางที่มากกว่า 20 กม. อาจทำให้เกิดความไม่ถูกต้อง เราขอแนะนำให้ใช้หลายฉากโดยมี จุดยึดที่ไม่ซ้ำกันในแต่ละฉาก หากประสบการณ์ AR ครอบคลุมระยะทางไกล