กล้อง

คลาสสาธารณะ กล้อง

แสดงถึงกล้องเสมือน ซึ่งจะกําหนดมุมมองของฉากนั้นๆ

หากกล้องเป็นส่วนหนึ่งของ ArSceneView กล้องจะติดตามท่าทางของกล้องจาก ARCore โดยอัตโนมัติ นอกจากนี้เมธอดต่อไปนี้จะใช้ UnsupportedOperationException เมื่อเรียกใช้

  • setParent(NodeParent) - เปลี่ยนระดับบนสุดของกล้องถ่ายรูปไม่ได้เพราะโหมดนี้เปลี่ยนได้เสมอ
  • setLocalPosition(Vector3) - เปลี่ยนตําแหน่งของกล้องไม่ได้
  • setLocalRotation(Quaternion) - การหมุนของกล้องจะเปลี่ยนแปลงไม่ได้ เพราะการควบคุมโดยกล้อง ARCore
  • setWorldPosition(Vector3) - เปลี่ยนตําแหน่งของกล้องไม่ได้
  • setWorldRotation(Quaternion) - การหมุนของกล้องจะเปลี่ยนแปลงไม่ได้ เพราะการควบคุมโดยกล้อง ARCore
รองรับฟังก์ชันอื่นๆ ทั้งหมดในโหนด คุณจะเข้าถึงตําแหน่งและการหมุนของกล้อง กําหนดรูปร่างการชนให้กล้อง หรือเพิ่มเด็กไปยังกล้องได้ การปิดใช้กล้องจะปิดการแสดงผล

วิธีการสาธารณะ

จำนวนลอยตัว
จำนวนลอยตัว
จำนวนลอยตัว
getVerticalFovDegrees()
รับช่องมุมมองแนวตั้งสําหรับกล้อง
พื้นที่เก็บข้อมูล
screenPointToRay (ทศนิยม x, ทศนิยม y)
คํานวณพื้นที่ในรังสีที่เดินทางจากระนาบใกล้กล้อง และจะผ่านจุดในพื้นที่ของหน้าจอ
เป็นโมฆะ
setLocalPosition(ตําแหน่ง Vector3)
กําหนดตําแหน่งของกล้อง
เป็นโมฆะ
setLocalRotation(ควอร์เตอร์การหมุน)
ตั้งค่าการหมุนของกล้อง
เป็นโมฆะ
setPARENT(ผู้ปกครองของ NodeParent)
ไม่รองรับการทํางาน
เป็นโมฆะ
setVerticalFovDegrees(ทศนิยมแนวตั้งFov)
ตั้งค่าช่องมุมมองในแนวตั้งสําหรับกล้องที่ไม่ใช่ภาพองศาในหน่วยองศา
เป็นโมฆะ
setWorldPosition(ตําแหน่ง Vector3)
กําหนดตําแหน่งของกล้อง
เป็นโมฆะ
setWorldRotation(การหมุนการหมุน)
ตั้งค่าการหมุนของกล้อง
เวกเตอร์ 3
worldToScreenPoint(Vector3 จุด)
แปลงจุดจากโลกไปเป็นพื้นที่หน้าจอ

วิธีการที่รับค่ามา

วิธีการสาธารณะ

แบบลอย สาธารณะ getFarClipPlane ()

แบบลอย สาธารณะ getNearClipPlane ()

แบบลอย สาธารณะ getVerticalFovDegrees ()

รับช่องมุมมองแนวตั้งสําหรับกล้อง

หากเป็นกล้อง AR ระบบจะคํานวณตามข้อมูลกล้องจาก ARCore และอาจแตกต่างกันไปตามอุปกรณ์ คํานวณไม่ได้จนกว่าเฟรมแรกหลังจากเซสชัน ARCore กลับมาทํางานอีกครั้ง ซึ่งในกรณีนี้จะมีการละเว้น LegalStateException

มิเช่นนั้น ระบบจะแสดงค่าที่ setVerticalFovDegrees(float) กําหนดไว้ ซึ่งค่าเริ่มต้นคือ 90 องศา

ผ้าคลุม
LegalStateException หากเรียกใช้ก่อนเฟรมแรกหลังจากเปิด ARCore ต่อ

สาธารณะ Ray screenPointToRay (ทศนิยม x, ทศนิยม y)

คํานวณพื้นที่ในรังสีที่เดินทางจากระนาบใกล้กล้อง และจะผ่านจุดในพื้นที่ของหน้าจอ พื้นที่หน้าจออยู่ในพิกัดหน้าจอของอุปกรณ์ Android: ด้านบนซ้าย = (0, 0) ด้านล่างขวา = (ความกว้างของหน้าจอ, ความสูงของหน้าจอ) พื้นที่พิกัดของอุปกรณ์ไม่ได้รับผลกระทบจากการวางแนวของอุปกรณ์

พารามิเตอร์
เท่า ตําแหน่ง X ในพิกัดหน้าจอของอุปกรณ์
y ตําแหน่ง Y ในพิกัดหน้าจอของอุปกรณ์

สาธารณะ null setLocalPosition (Vector3ตําแหน่ง)

กําหนดตําแหน่งของกล้อง กล้อง isTopLevel() จะทํางานตลอดเวลาเหมือนกับ setWorldPosition(Vector3)

หากกล้องเป็นส่วนหนึ่งของ ArSceneView แสดงว่ากล้องไม่รองรับการดําเนินการนี้ เปลี่ยนตําแหน่งของกล้องไม่ได้ โดยกล้องนี้จะควบคุมด้วยท่าทางของกล้อง ARCore

พารามิเตอร์
position อันดับที่ต้องการสมัคร

สาธารณะ null setLocalRotation (Quaternionการหมุนเวียน)

ตั้งค่าการหมุนของกล้อง กล้อง isTopLevel() จะทํางานตลอดเวลาเหมือนกับ setWorldRotation(Quaternion)

หากกล้องเป็นส่วนหนึ่งของ ArSceneView แสดงว่ากล้องไม่รองรับการดําเนินการนี้ การหมุนของกล้องจะเปลี่ยนแปลงไม่ได้ ควบคุมโดยท่าทางของกล้อง ARCore

พารามิเตอร์
การหมุน การหมุนที่จะใช้

สาธารณะ null setPARENT (NodeParental)

ไม่รองรับการทํางาน เปลี่ยนระดับบนสุดของกล้องถ่ายรูปไม่ได้ เพราะโหมดนี้เป็นแบบเสมอ

พารามิเตอร์
ระดับบนสุด โหนดหลักที่โหนดนี้จะเป็นรายการย่อย หากเป็น Null ระบบจะปลดโหนดนี้ออกจากโหนดหลัก

สาธารณะ null setVerticalFovDegrees (FloverticalFov)

ตั้งค่าช่องมุมมองในแนวตั้งสําหรับกล้องที่ไม่ใช่ภาพองศาในหน่วยองศา หากเป็นกล้อง AR ค่าเริ่มต้นคือ 90 องศา

พารามิเตอร์
แนวตั้งแนวตั้ง
ผ้าคลุม
ExceptionsOperationException หากเป็นกล้อง AR

สาธารณะ null setWorldPosition (Vector3ตําแหน่ง)

กําหนดตําแหน่งของกล้อง กล้อง isTopLevel() จะทํางานตลอดเวลาเหมือนกับ setLocalPosition(Vector3)

หากกล้องเป็นส่วนหนึ่งของ ArSceneView แสดงว่ากล้องไม่รองรับการดําเนินการนี้ เปลี่ยนตําแหน่งของกล้องไม่ได้ โดยกล้องนี้จะควบคุมด้วยท่าทางของกล้อง ARCore

พารามิเตอร์
position อันดับที่ต้องการสมัคร

สาธารณะ null setWorldRotation (Quaternionการหมุนเวียน)

ตั้งค่าการหมุนของกล้อง กล้อง isTopLevel() จะทํางานตลอดเวลาเหมือนกับ setLocalRotation(Quaternion)

หากกล้องเป็นส่วนหนึ่งของ ArSceneView แสดงว่ากล้องไม่รองรับการดําเนินการนี้ การหมุนของกล้องจะเปลี่ยนแปลงไม่ได้ ควบคุมโดยท่าทางของกล้อง ARCore

พารามิเตอร์
การหมุน การหมุนที่จะใช้

สาธารณะ Vector3 worldToScreenPoint (Vector3 จุด)

แปลงจุดจากโลกไปเป็นพื้นที่หน้าจอ

ค่า X เป็นค่าลบเมื่อจุดซ้ายของวิวพอร์ตระหว่าง 0 ถึงความกว้างของ SceneView เมื่อจุดอยู่ในวิวพอร์ต และมากกว่าความกว้างเมื่อจุดอยู่ทางด้านขวาของวิวพอร์ต

ค่า Y เป็นค่าลบเมื่อจุดต่ํากว่าวิวพอร์ต ระหว่าง 0 ถึงความสูงของ SceneView เมื่อจุดอยู่ในวิวพอร์ต และมากกว่าความสูงเมื่อจุดเหนือวิวพอร์ต

ค่า Z จะเป็น 0 เสมอเนื่องจากค่าส่งคืนจะเป็นพิกัด 2D

พารามิเตอร์
คะแนน จุดบนโลกที่มี Conversion
การคืนสินค้า
  • เวกเตอร์ใหม่ที่แสดงถึงจุดในพื้นที่หน้าจอ