มุมมอง ArScene

คลาสสาธารณะ ArSceneView

SurfaceView ที่ผสานรวมกับ ARCore และแสดงผลฉาก

ค่าคงที่ที่รับมา

ช่องที่รับค่าเดิม

ผู้ผลิตก่อสร้าง

ArSceneView(บริบท บริบท)
สร้างออบเจ็กต์ ArSceneView และเชื่อมโยงกับออบเจ็กต์บริบทของ Android
ArSceneView (บริบท Context, แอตทริบิวต์แอตทริบิวต์)
สร้างออบเจ็กต์ ArSceneView และเชื่อมโยงกับออบเจ็กต์บริบทของ Android

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

กรอบ
getArFrame()
แสดงผลเฟรม ARCore ล่าสุดหากมี
int
get CameraStreamRenderPriority()
รับลําดับความสําคัญในการแสดงผลที่ควบคุมลําดับการแสดงผลสตรีมของกล้อง
PlaneRenderer
getPlaneRenderer()
แสดง PlaneRenderer ซึ่งใช้ควบคุมการแสดงภาพเครื่องบิน
เซสชัน
getSession()
แสดงผลเซสชัน ARCore ที่มุมมองนี้ใช้
บูลีน
isEnvironmentalHdrLightingAvailable()
แสดงค่า "จริง" หากกําหนดค่ากล้อง ARCore ด้วย Config.LightEstimationMode.ENVIRONMENTAL_HDR
บูลีน
isLightDirectionUpdateEnabled()
ตรวจสอบว่ามีการอัปเดตแสงแดดทุกๆ เฟรมหรือไม่ โดยอิงจากการประมาณแสง HDR ด้านสิ่งแวดล้อม
บูลีน
เป็นโมฆะ
หยุดชั่วคราว()
หยุดชุดข้อความการแสดงผลและเซสชัน ARCore ชั่วคราว
CompletableFuture<Void>
pauseAsync(ไฟล์ปฏิบัติการ Executor)
ไม่ได้บล็อกการโทรเพื่อหยุดชุดข้อความการแสดงภาพและเซสชัน ARCore ชั่วคราว
เป็นโมฆะ
ดําเนินการต่อ()
ทําให้ชุดข้อความการแสดงผลและเซสชัน ARCore กลับมาทํางานอีกครั้ง
CompletableFuture<Void>
resumeAsync (ไฟล์ปฏิบัติการ Executor)
ไม่ได้บล็อกการโทรเพื่อให้ชุดข้อความการแสดงผลและเซสชัน ARCore กลับมาทํางานอีกครั้ง

ส่วนนี้ต้องเรียกจาก on resume()

เป็นโมฆะ
setCameraStreamRenderPriority(ลําดับความสําคัญ)
ตั้งค่าลําดับความสําคัญในการแสดงผลเพื่อควบคุมลําดับการแสดงผลสตรีมของกล้อง
เป็นโมฆะ
setLightDirectionUpdateEnabled(บูลีน isLightDirectionUpdateEnabled)
ระบุว่าควรอัปเดตทิศทางแสงแดดที่สร้างจากแสง HDR ด้านสิ่งแวดล้อมทุกๆ เฟรมหรือไม่
เป็นโมฆะ
setLightEstimationEnabled(เปิดใช้บูลีน)
เปิดใช้การประมาณแสงตามฟีดกล้อง
เป็นโมฆะ
setupSession(เซสชันเซสชัน)
ตั้งค่ามุมมองด้วยเซสชัน AR

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

ผู้ผลิตก่อสร้าง

สาธารณะ ArSceneView (บริบท บริบท)

สร้างออบเจ็กต์ ArSceneView และเชื่อมโยงกับออบเจ็กต์บริบทของ Android

ต้องเรียกใช้ setupSession(Session) เพื่อให้การแสดงผลได้อย่างถูกต้อง

พารามิเตอร์
บริบท บริบทของ Android ที่จะใช้
ดูเพิ่มเติม

สาธารณะ ArSceneView (บริบท, แอตทริบิวต์ชุด)

สร้างออบเจ็กต์ ArSceneView และเชื่อมโยงกับออบเจ็กต์บริบทของ Android

ต้องเรียกใช้ setupSession(Session) เพื่อให้การแสดงผลได้อย่างถูกต้อง

พารามิเตอร์
บริบท บริบทของ Android ที่จะใช้
แอตทริบิวต์ Android AttributeSet เพื่อเชื่อมโยงกับ
ดูเพิ่มเติม

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

เฟรม สาธารณะ getArFrame ()

แสดงผลเฟรม ARCore ล่าสุดหากมี ระบบจะอัปเดตเฟรมที่ตอนต้นของเฟรมภาพวาดแต่ละเฟรม ผู้โทรของเมธอดนี้ไม่ควรอ้างอิงถึงการอ้างอิงค่าที่แสดงผล เนื่องจากจะทําให้เฟรม ARCore เริ่มต้นที่เฟรมถัดไปไม่ถูกต้อง

public int getCameraStreamRenderPriority ()

รับลําดับความสําคัญในการแสดงผลที่ควบคุมลําดับการแสดงผลสตรีมของกล้อง ลําดับความสําคัญจะอยู่ระหว่างช่วง 0 (แสดงผลก่อน) ถึง 7 (แสดงผลล่าสุด)

ค่าเริ่มต้นคือ 7 ซึ่งจะบังคับให้สตรีมกล้องแสดงผลครั้งล่าสุด วิธีนี้เหมาะสําหรับ ประสิทธิภาพสูงสุดเนื่องจากจะช่วยไม่ให้เกิดการวาดทับ อย่างไรก็ตาม กรณีที่ใช้สื่อการเรียนการสอนเป็นองค์ประกอบหลัก (เช่น ในตัวอย่าง Augmented Face) คุณควรเปลี่ยนแปลงค่านี้ มิเช่นนั้น ไอคอนนี้จะยึดสตรีมของกล้องและจะแสดงผลสีดํา

สาธารณะ PlaneRenderer getPlaneRenderer ()

แสดง PlaneRenderer ซึ่งใช้ควบคุมการแสดงภาพเครื่องบิน

สาธารณะ เซสชัน getSession ()

แสดงผลเซสชัน ARCore ที่มุมมองนี้ใช้

บูลีน สาธารณะ isEnvironmentalHdrLightingAvailable ()

แสดงค่า "จริง" หากกําหนดค่ากล้อง ARCore ด้วย Config.LightEstimationMode.ENVIRONMENTAL_HDR เมื่อเปิดใช้โหมดแสงสว่าง HDR สภาพแวดล้อม ระบบจะใช้การประมาณแสงที่ได้กับโหมด Sceneform

การคืนสินค้า
  • เป็นจริงหากเปิดใช้โหมด HDR ในฉาก เนื่องจากเปิดใช้การประมาณแสง ARCore HDR

บูลีน สาธารณะ isLightDirectionUpdateEnabled ()

ตรวจสอบว่ามีการอัปเดตแสงแดดทุกๆ เฟรมหรือไม่ โดยอิงจากการประมาณแสง HDR ด้านสิ่งแวดล้อม

การคืนสินค้า
  • เป็น "จริง" หากทิศทางแสงอาทิตย์อัปเดตทุกเฟรม จะเป็นเท็จ

บูลีน สาธารณะ isLightEstimationEnabled ()

การคืนสินค้า
  • แสดงค่า "จริง" หากเปิดใช้การประมาณแสง

สาธารณะ null หยุดชั่วคราว ()

หยุดชุดข้อความการแสดงผลและเซสชัน ARCore ชั่วคราว

ส่วนนี้ต้องเรียกจาก onpause()

สาธารณะ CompletableFuture<Void> pauseAsync (ไฟล์ปฏิบัติการ)

ไม่ได้บล็อกการโทรเพื่อหยุดชุดข้อความการแสดงภาพและเซสชัน ARCore ชั่วคราว

ซึ่งควรเรียกจาก onpause()

หากมีการเรียกใช้หยุดชั่วคราวAsync ขณะที่การหยุดชั่วคราวรายการอื่นหรือกลับมาทํางานอีกครั้งอยู่ระหว่างดําเนินการ ระบบจะหยุดการหยุดชั่วคราวและเกิดขึ้นหลังจากที่การดําเนินการปัจจุบันเสร็จสิ้น

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

สาธารณะ null เล่นต่อ ()

ทําให้ชุดข้อความการแสดงผลและเซสชัน ARCore กลับมาทํางานอีกครั้ง

ส่วนนี้ต้องเรียกจาก on resume()

ผ้าคลุม
กล้องไม่พร้อมใช้งาน หากเปิดกล้องไม่ได้

สาธารณะ CompletableFuture<Void> resumeAsync (Executor executor)

ไม่ได้บล็อกการโทรเพื่อให้ชุดข้อความการแสดงผลและเซสชัน ARCore กลับมาทํางานอีกครั้ง

ส่วนนี้ต้องเรียกจาก on resume()

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

พารามิเตอร์
ผู้ดําเนินการ
การคืนสินค้า
  • CompletableFuture เสร็จสมบูรณ์ในเทรดหลักเมื่อเรซูเม่เสร็จสมบูรณ์ อนาคตจะดําเนินการให้เสร็จสมบูรณ์ได้ต่อเมื่อดําเนินการประวัติย่อไม่ได้

สาธารณะ null setCameraStreamRenderPriority (ลําดับความสําคัญ))

ตั้งค่าลําดับความสําคัญในการแสดงผลเพื่อควบคุมลําดับการแสดงผลสตรีมของกล้อง ลําดับความสําคัญจะอยู่ระหว่างช่วง 0 (แสดงผลก่อน) ถึง 7 (แสดงผลล่าสุด)

ค่าเริ่มต้นคือ 7 ซึ่งจะบังคับให้สตรีมกล้องแสดงผลครั้งล่าสุด วิธีนี้เหมาะสําหรับ ประสิทธิภาพสูงสุดเนื่องจากจะช่วยไม่ให้เกิดการวาดทับ อย่างไรก็ตาม กรณีที่ใช้สื่อการเรียนการสอนเป็นองค์ประกอบหลัก (เช่น ในตัวอย่าง Augmented Face) คุณควรเปลี่ยนแปลงค่านี้ มิเช่นนั้น ไอคอนนี้จะยึดสตรีมของกล้องและจะแสดงผลสีดํา

พารามิเตอร์
Priority

โฟลเดอร์สาธารณะ setLightDirectionUpdateEnabled (บูลีน isLightDirectionUpdateEnabled)

ระบุว่าควรอัปเดตทิศทางแสงแดดที่สร้างจากแสง HDR ด้านสิ่งแวดล้อมทุกๆ เฟรมหรือไม่ หากเป็น "เท็จ" ทิศทางของไฟจะอัปเดตเพียงครั้งเดียว แล้วจะไม่เปลี่ยนอีก

ข้อมูลนี้อาจใช้เพื่อปิดการอัปเดตทิศทางเงาเมื่อรบกวนสมาธิหรือไม่พึงประสงค์

สถานะเริ่มต้นจะเป็นจริง โดยอัปเดตทิศทางที่แสงแดดส่องทุกเฟรม

พารามิเตอร์
isLightDirectionUpdateEnabled

สาธารณะ นัล setLightEstimationEnabled (เปิดใช้บูลีน)

เปิดใช้การประมาณแสงตามฟีดกล้อง สีและความเข้มของแสงโดยอ้อมของดวงอาทิตย์จะได้รับการปรับตามค่าที่ได้จากการประมาณแสงของ ARCore ออบเจ็กต์การรับแสงในฉากจะได้รับผลกระทบ

พารามิเตอร์
เปิดใช้ ตั้งค่าเป็น "จริง" เพื่อเปิดใช้การประมาณค่าด้วยแสง หรือค่า "เท็จ" เพื่อใช้ค่าประมาณเริ่มต้น ซึ่งเป็นความเข้มของพิกเซลที่ 1.0 และค่าของการแก้สีเป็นสีขาว (1.0, 1.0, 1.0)

สาธารณะ null setupSession (เซสชันเซสชัน)

ตั้งค่ามุมมองด้วยเซสชัน AR ต้องเรียกใช้เมธอดนี้เพียงครั้งเดียวเพื่อให้เซสชัน ARCore เซสชันจําเป็นต้องมีเพื่อการแสดงผลที่เกิดขึ้น

คาดว่าเซสชันจะกําหนดค่าด้วยโหมดอัปเดตของ LATEST_CAMERA_IMAGE หากไม่กําหนดค่านี้ การอัปเดตเซสชัน ARCore อาจบล็อกเทรด UI ที่ทําให้เกิดประสบการณ์ UI ที่ไม่ดี

พารามิเตอร์
เซสชัน เซสชัน ARCore ที่ใช้สําหรับมุมมองนี้
ดูเพิ่มเติม