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

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

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

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

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

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

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

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

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

API ชิ้นส่วนแผนที่ Google

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

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

API ภูมิสารสนเทศของ ARCore

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

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

ขยายแอป Geospatial Sample

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

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

ก่อนอื่น ให้ทำความคุ้นเคยกับแอป ARCore Geospatial Sample ในโปรเจ็กต์ Unity ใหม่ ให้เปิดเครื่องมือจัดการแพ็กเกจ Unity แล้วเลือกแพ็กเกจส่วนขยาย ARCore ในแผงรายละเอียดตัวจัดการแพ็กเกจ ให้ขยายตัวอย่าง และนำเข้าตัวอย่างภูมิสารสนเทศไปยังโปรเจ็กต์ Unity

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

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

และมีการตั้งค่าโปรแกรมเล่นเฉพาะแพลตฟอร์มอื่นๆ อีก 2-3 อย่างที่จำเป็นสำหรับแอป Unity ที่ใช้ ARCore ดูส่วนกำหนดค่าการตั้งค่าโปรแกรมเล่นในเอกสารของเราสำหรับการเปลี่ยนแปลงที่จำเป็น

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

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

เพิ่มการอ้างอิงที่จำเป็น

ผู้สร้างภูมิสารสนเทศเชิงพื้นที่ใช้แพ็กเกจ Unity ของบุคคลที่สามที่เรียกว่า Cesium ในการแสดงผลชิ้นส่วนแผนที่ Google ในหน้าต่างฉากของบรรณาธิการ Unity ก่อนที่จะเปิดใช้ฟีเจอร์ Geospatial Creator เรามาเพิ่มแพ็กเกจ Cesium ในโครงการของคุณกัน

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

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

เพิ่มแพ็กเกจ .tgz ด้วยโปรแกรมจัดการแพ็กเกจ Unity

เปิดใช้ Geospatial Creator

ตอนนี้คุณพร้อมที่จะเปิดใช้ Geospatial Creator:

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

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

เพิ่มต้นทางของผู้สร้างภูมิสารสนเทศทางภูมิศาสตร์ด้วยแผนที่ย่อย

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

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

เพิ่ม GameObject จากผู้สร้างภูมิสารสนเทศเชิงพื้นที่

นอกจากจะเป็นจุดอ้างอิงสำหรับวัตถุ AR แล้ว การอ้างอิงทางภูมิศาสตร์ของ Cesium ยังเพิ่มวัตถุ Cesium 3D Tileset ลงในฉากด้วย วัตถุนี้จะแสดงผลชิ้นส่วนแผนที่ของ Google ในมุมมองฉากของเครื่องมือแก้ไข ช่วยให้คุณเห็นภาพว่าเนื้อหา AR ของคุณจะปรากฏอยู่ที่ใดในโลก มีช่องในเครื่องมือตรวจสอบต้นทางของผู้สร้างภูมิสารสนเทศ (Geospatial Creator) สำหรับเพิ่มคีย์ API การ์ดแผนที่ที่คุณตั้งค่าก่อนหน้านี้ หลังจากตั้งค่าคีย์นี้แล้ว คุณจะเห็นชิ้นส่วนแผนที่โหลดในมุมมองฉาก

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

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

เพิ่มและวาง Anchor ของผู้สร้างภูมิสารสนเทศ

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

เพิ่ม Anchor ของผู้สร้างภูมิสารสนเทศ

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

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

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

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

เพิ่มเรขาคณิตลงในจุดยึด

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

การเชื่อมโยงผู้สร้างภูมิสารสนเทศเชิงพื้นที่ที่มีลูกบาศก์ดั้งเดิม

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

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

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

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

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

ทำความเข้าใจ Anchor สำหรับครีเอเตอร์เกี่ยวกับภูมิสารสนเทศและคลาส ARGeospatialAnchor

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

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

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

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

การแก้ปัญหา

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

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

ทำไมจุดยึดของฉันจึงปรากฏบนระดับความสูงที่ไม่ถูกต้อง

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

ชิ้นส่วนแผนที่ไม่แสดงอย่างถูกต้องในมุมมองฉากของเครื่องมือแก้ไข

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

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

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

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

เพิ่มฟีเจอร์โปรแกรมแสดงผลพื้นหลัง AR

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

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

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