รับท่า Geospatial ของกล้องของอุปกรณ์

เมื่อกําหนดการตั้งค่าแอปให้ใช้ Geospatial API แล้ว คุณสามารถเรียกใช้ Earth.getCameraGeospatialPose() เพื่อรับ GeospatialPose ที่อธิบายตําแหน่งเชิงพื้นที่ของอุปกรณ์สําหรับกล้องในเฟรมล่าสุด ท่าทางนี้ซึ่งจัดการอยู่ในออบเจ็กต์ Earth มีข้อมูลต่อไปนี้

  • ตำแหน่งที่แสดงเป็นละติจูดและลองจิจูด
  • ระดับความสูง
  • การวางแนวโดยประมาณตามทิศทางที่ผู้ใช้หันหน้าไปในกลุ่มพิกัด EUS โดยที่ X+ ชี้ไปทางตะวันออก Y+ ชี้ขึ้น และ Z+ ชี้ไปทางใต้

ตรวจสอบสถานะการติดตาม

ค่าเชิงพื้นที่จะใช้ได้เฉพาะเมื่อ Earth.TrackingState เป็น TrackingState.TRACKING อย่าลืมรวมการเรียกใช้ Geospatial API ทั้งหมดไว้ในบล็อกควบคุม Earth.TrackingState

Java

if (earth != null && earth.getTrackingState() == TrackingState.TRACKING) {
  GeospatialPose cameraGeospatialPose = earth.getCameraGeospatialPose();
  // cameraGeospatialPose contains geodetic location, rotation, and confidences values.
}

Kotlin

if (earth.trackingState == TrackingState.TRACKING) {
  val cameraGeospatialPose = earth.cameraGeospatialPose
  // cameraGeospatialPose contains geodetic location, rotation, and confidences values.
}

หาก Earth.TrackingState ไม่ได้เปลี่ยนเป็น TrackingState.TRACKING แสดงว่า Earth.TrackingState อาจเปลี่ยนเป็น TrackingState.PAUSED หรือ TrackingState.STOPPED หากเงื่อนไขเหล่านี้ไม่ตรงกัน ให้ตรวจสอบ Earth.Earthstate ซึ่งแสดงสถานะข้อผิดพลาดอื่นๆ ที่อาจทำให้ออบเจ็กต์ Earth ไม่สามารถติดตามได้

ปรับท่าทางเพื่อความแม่นยำ

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

GeospatialPose.getOrientationYawAccuracy() ให้ค่าความแม่นยำโดยประมาณสำหรับมุมหมุนตามแนวราบ (Y+) สำหรับ GeospatialPose บางรายการ ความแม่นยำของการเอียงตามทิศทางคือตัวเลขที่อธิบายรัศมี (หน่วยเป็นองศา) ของระดับความเชื่อมั่น 68 เปอร์เซ็นต์รอบมุมการเอียงที่แสดงผลจาก GeospatialPose.getEastUpSouthQuaternion() กล่าวคือ มีโอกาส 68% ที่มุมหมุนตามแนวราบจริงของ GeospatialPose จะถูกต้อง

ค่าที่ยิ่งมากแสดงถึงความแม่นยำที่ต่ำลง เช่น หากมุมเอียงโดยประมาณคือ 60 องศาและความแม่นยำในการเอียงคือ 10 องศา โอกาสที่มุมเอียงจริงจะอยู่ระหว่าง 50 ถึง 70 องศาคือ 68%

ขั้นตอนถัดไป