Sceneform Scene รักษากราฟฉากซึ่งเป็นองค์กรแบบลําดับชั้นของฉาก แต่ละฉากอาจมีโหนดย่อย 0 โหนดขึ้นไป และแต่ละโหนดอาจไม่มีโหนดย่อย 0 โหนดขึ้นไป
นอกจากนี้ โหมดนี้ยังเสนอการทดสอบ Hit ซึ่งเป็นวิธีในการตรวจหาโหนดที่แตะโดย MotionEvent หรือ Ray
ชั้นเรียนที่ฝังไว้
ที่ปรับปรุงใหม่ | Scene.OnPeekTouchListener | คําจํากัดความของอินเทอร์เฟซสําหรับการเรียกกลับสําหรับเรียกใช้เมื่อมีการส่งเหตุการณ์การสัมผัสไปยังฉาก | |
ที่ปรับปรุงใหม่ | Scene.OnTouchListener | คําจํากัดความของอินเทอร์เฟซสําหรับการเรียกกลับสําหรับเรียกใช้เมื่อมีการส่งเหตุการณ์การสัมผัสไปยังฉาก | |
ที่ปรับปรุงใหม่ | Scene.OnUpdateListener | ระบบจะเรียกใช้คําจํากัดความของอินเทอร์เฟซสําหรับการเรียกกลับ 1 ครั้งต่อเฟรมทันทีก่อนที่ฉากจะอัปเดต |
ช่อง
Environmental Static สุดท้าย EnvironmentalHdrParameters | DEFAULT_HDR_PARAMETRIC |
ผู้ผลิตก่อสร้าง
วิธีการสาธารณะ
เป็นโมฆะ |
addOnPeekTouchListener(Scene.OnPeekTouchListener onPeekTouchListener)
เพิ่ม Listener ที่จะเรียกก่อน
Scene.OnTouchListener |
เป็นโมฆะ |
addOnUpdateListener(Scene.OnUpdateListener onUpdateListener)
เพิ่ม Listener ที่ระบบจะเรียกใช้ 1 ครั้งต่อเฟรมทันทีก่อนที่ฉากจะอัปเดต
|
กล้อง |
getCamera()
ติดตั้งกล้องที่ใช้แสดงผลฉาก
|
โหนด |
getSunlight()
รับโหนดแสงแดดที่เป็นค่าเริ่มต้น
|
มุมมอง |
getView()
แสดงผล SceneView ที่ใช้สร้างฉาก
|
HitTestResult |
hitTest(MotionEvent MotionEvent)
ทดสอบเพื่อดูว่าเหตุการณ์การเคลื่อนไหวกําลังแตะโหนดใดๆ ภายในฉากหรือไม่ โดยอิงตามการทดสอบ Hit เรย์ซึ่งมีต้นทางเป็นตําแหน่งหน้าจอของเหตุการณ์การเคลื่อนไหว และจะแสดงผล HitTestResult ที่มีโหนดที่อยู่ใกล้กับหน้าจอมากที่สุด
|
HitTestResult | |
ArrayList<HitTestResult> |
hitTestAll(Ray ray)
ทดสอบเพื่อดูว่ามีการแผ่รังสีหรือไม่ที่โหนดใดๆ ภายในฉากและแสดงผลรายการ HitTestResults ที่มีโหนดทั้งหมด Hit ที่จัดเรียงตามระยะทาง
|
ArrayList<HitTestResult> |
hitTestAll(MotionEvent MotionEvent)
ทดสอบเพื่อดูว่าเหตุการณ์การเคลื่อนไหวกําลังแตะโหนดใดๆ ภายในฉากหรือไม่ และส่งกลับรายการ HitTestResults ที่มีโหนดทั้งหมด Hit ที่จัดเรียงตามระยะทาง
|
เป็นโมฆะ |
onAddChild(Node ย่อย)
|
เป็นโมฆะ |
onRemoveChild(Node ย่อย)
|
โหนด |
overlapTest(โหนด โหนด)
ทดสอบเพื่อดูว่ารูปร่างการชนของโหนดที่ระบุซ้อนทับรูปร่างการชนของโหนดอื่นๆ ในฉากโดยใช้
getCollisionShape() หรือไม่ |
ArrayList<Node> |
overlapTestAll(โหนด โหนด)
ทดสอบเพื่อดูว่าโหนดทับซ้อนกับโหนดอื่นๆ ภายในฉากด้วย
getCollisionShape() หรือไม่ |
เป็นโมฆะ |
removeOnPeekTouchListener(Scene.OnPeekTouchListener onPeekTouchListener)
นํา Listener ที่จะเรียกใช้ก่อนที่เรียกใช้
Scene.OnTouchListener ออก |
เป็นโมฆะ |
removeOnUpdateListener(Scene.OnUpdateListener onUpdateListener)
นํา Listener ที่ระบบจะเรียกใช้ 1 ครั้งต่อเฟรมโดยทันทีก่อนที่ฉากจะอัปเดต
|
เป็นโมฆะ |
setLightEstimated(สีการแก้สี, จํานวนพิกเซลสะสมแบบลอย)
ตั้งค่าแสงโดยประมาณเพื่อปรับแต่งแสงและความสว่างของฉาก
|
เป็นโมฆะ |
setOnTouchListener(Scene.OnTouchListener ใน TouchListener)
ลงทะเบียนโค้ดเรียกกลับที่จะเรียกใช้เมื่อแตะฉาก
|
วิธีการที่รับค่ามา
ช่อง
ภาพนิ่ง สุดท้าย EnvironmentalHdrParameters DEFAULT_HDR_PARAMETRIC
ผู้ผลิตก่อสร้าง
วิธีการสาธารณะ
สาธารณะ null addOnPeekTouchListener (Scene.OnPeekTouchListener ใน PeekTouchListener)
เพิ่ม Listener ที่จะเรียกก่อน Scene.OnTouchListener
ระบบจะเรียกใช้
แม้จะมีการใช้ท่าทางสัมผัส ทําให้คุณสังเกตเห็นเหตุการณ์การเคลื่อนไหวทั้งหมด
ที่ส่งไปยังฉากได้ การเรียกเช่นนี้แม้ว่าการสัมผัสจะไม่ได้อยู่เหนือโหนด แต่ getNode()
จะเป็น Null ระบบจะเรียกใช้ Listener ตามลําดับที่เพิ่ม
พารามิเตอร์
onPeekTouchListener | ผู้ฟังแบบดูข้อมูลย่อที่จะเพิ่ม |
---|
สาธารณะ null addOnUpdateListener (Scene.OnUpdateListener onUpdateListener)
เพิ่ม Listener ที่ระบบจะเรียกใช้ 1 ครั้งต่อเฟรมทันทีก่อนที่ฉากจะอัปเดต ระบบจะเรียกใช้ Listener ตามลําดับที่เพิ่ม
พารามิเตอร์
onUpdateListener | Listener การอัปเดตเพื่อเพิ่ม |
---|
สาธารณะ กล้อง getCamera ()
ติดตั้งกล้องที่ใช้แสดงผลฉาก กล้องเป็นประเภทของโหนด
การคืนสินค้า
- กล้องที่ใช้แสดงภาพ
สาธารณะ โหนด getSunlight ()
รับโหนดแสงแดดที่เป็นค่าเริ่มต้น
การคืนสินค้า
- โหนดแสงอาทิตย์ที่ใช้เพื่อส่องแสงให้ฉาก
สาธารณะ HitTestResult hitTest (MotionEvent MotionEvent)
ทดสอบเพื่อดูว่าเหตุการณ์การเคลื่อนไหวกําลังแตะโหนดใดๆ ภายในฉากหรือไม่ โดยอิงตามการทดสอบ Hit เรย์ซึ่งมีต้นทางเป็นตําแหน่งหน้าจอของเหตุการณ์การเคลื่อนไหว และจะแสดงผล HitTestResult ที่มีโหนดที่อยู่ใกล้กับหน้าจอมากที่สุด
พารามิเตอร์
เหตุการณ์การเคลื่อนไหว | เหตุการณ์การเคลื่อนไหวที่จะใช้สําหรับการทดสอบ |
---|
การคืนสินค้า
- ผลลัพธ์จะมีโหนดแรกที่ได้รับผลกระทบจากเหตุการณ์การเคลื่อนไหว (อาจเป็นค่าว่าง) และข้อมูลเกี่ยวกับตําแหน่งที่เหตุการณ์การเคลื่อนไหวเข้าสู่โหนดในช่องว่าง
สาธารณะ HitTestResult hitTest (Ray ray)
ทดสอบเพื่อดูว่ามีการฉายแสงไปยังจุดใดจุดหนึ่งภายในฉากหรือไม่ และจะแสดงผล HitTestResult ที่มีโหนดซึ่งใกล้กับจุดกําเนิดของรัศมีดังกล่าวมากที่สุด
พารามิเตอร์
Ray | ทดสอบเพื่อใช้ทดสอบ |
---|
การคืนสินค้า
- ผลลัพธ์จะมีโหนดแรกที่โดนเรย์ทําให้สําเร็จ (อาจเป็นค่าว่าง) และข้อมูลเกี่ยวกับตําแหน่งที่เรเดียนใช้โหนดในช่องว่างโลก
ดูเพิ่มเติม
สาธารณะ ArrayList<HitTestResult> hitTestAll (Ray ray)
ทดสอบเพื่อดูว่ามีการแผ่รังสีหรือไม่ที่โหนดใดๆ ภายในฉากและแสดงผลรายการ HitTestResults ที่มีโหนดทั้งหมด Hit ที่จัดเรียงตามระยะทาง
พารามิเตอร์
Ray | แสงแดดที่ใช้ทดสอบ |
---|
การคืนสินค้า
- ป้อนข้อมูลด้วย HitTestResult สําหรับแต่ละโหนดที่มีการจัดเรียงตามระยะทาง ไม่มีข้อมูลหากไม่มี Hit
ดูเพิ่มเติม
สาธารณะ ArrayList<HitTestResult> hitTestAll (MotionEvent MotionEvent)
ทดสอบเพื่อดูว่าเหตุการณ์การเคลื่อนไหวกําลังแตะโหนดใดๆ ภายในฉากหรือไม่ และส่งกลับรายการ HitTestResults ที่มีโหนดทั้งหมด Hit ที่จัดเรียงตามระยะทาง
พารามิเตอร์
เหตุการณ์การเคลื่อนไหว | เหตุการณ์การเคลื่อนไหวที่จะใช้สําหรับการทดสอบ |
---|
การคืนสินค้า
- ป้อนข้อมูลด้วย HitTestResult สําหรับแต่ละโหนดที่มีการจัดเรียงตามระยะทาง ไม่มีข้อมูลหากไม่มี Hit
สาธารณะ โหนด overlapTest (โหนดโหนด)
ทดสอบเพื่อดูว่ารูปร่างการชนของโหนดที่ระบุซ้อนทับรูปร่างการชนของโหนดอื่นๆ ในฉากโดยใช้ getCollisionShape()
หรือไม่ โหนดที่ใช้สําหรับการทดสอบไม่จําเป็นต้องทํางานอยู่
พารามิเตอร์
โหนด | โหนดที่จะใช้ในการทดสอบ |
---|
การคืนสินค้า
- โหนดที่ทับซ้อนกัน หากโหนดไม่ซ้อนทับโหนดทดสอบ จะเป็น Null หากมีโหนดหลายรายการซ้อนทับโหนดทดสอบ นี่อาจเป็นโหนดใดก็ได้
ดูเพิ่มเติม
สาธารณะ ArrayList<Node> overlapTestAll (โหนดโหนด)
ทดสอบเพื่อดูว่าโหนดทับซ้อนกับโหนดอื่นๆ ภายในฉากด้วย getCollisionShape()
หรือไม่ โหนดที่ใช้สําหรับการทดสอบไม่จําเป็นต้องมีการใช้งาน
พารามิเตอร์
โหนด | โหนดที่จะใช้ในการทดสอบ |
---|
การคืนสินค้า
- รายการโหนดทั้งหมดที่ซ้อนทับโหนดทดสอบ หากโหนดไม่ซ้อนทับโหนดทดสอบ รายการจะว่างเปล่า
ดูเพิ่มเติม
สาธารณะ null removeOnPeekTouchListener (Scene.OnPeekTouchListener ใน PeekTouchListener)
นํา Listener ที่จะเรียกใช้ก่อนที่เรียกใช้ Scene.OnTouchListener
ออก
เราจะเรียกใช้คอมโพเนนต์นี้แม้จะมีการใช้ท่าทางสัมผัสซึ่งทําให้สังเกตเห็นเหตุการณ์การเคลื่อนไหวทั้งหมดที่ส่งไปยังฉากได้ การเรียกเช่นนี้แม้ว่าการสัมผัสจะไม่ได้อยู่เหนือโหนด แต่ getNode()
จะเป็น Null
พารามิเตอร์
onPeekTouchListener | ผู้ฟังที่มีการสัมผัสไว้ตอนนี้เพื่อลบ |
---|
สาธารณะ null removeOnUpdateListener (Scene.OnUpdateListener onUpdateListener)
นํา Listener ที่ระบบจะเรียกใช้ 1 ครั้งต่อเฟรมโดยทันทีก่อนที่ฉากจะอัปเดต
พารามิเตอร์
onUpdateListener | Listener การอัปเดตเพื่อนําออก |
---|
สาธารณะ null setLightEstimated (Color colorที่ใช้งานได้, Flo pixelIntensity)
ตั้งค่าแสงโดยประมาณเพื่อปรับแต่งแสงและความสว่างของฉาก หลอดไฟที่แสดงผลจะใช้ค่าเหล่านี้ผสมกัน รวมถึงสีและความเข้มของแสง ค่าของการแก้สีสีขาวและความหนาแน่นของพิกเซลเป็น 1 หมายความว่าไม่มีการเปลี่ยนแปลงการตั้งค่าแสง
โหมดนี้จะใช้โหมด AR Sceneform ภายในเพื่อปรับแสงตามค่าจาก ARCore โหมด AR จะเรียกใช้โหมดนี้โดยอัตโนมัติ ซึ่งอาจลบล้างการตั้งค่าอื่นๆ ได้ ในกรณีส่วนใหญ่ คุณไม่ควรเรียกใช้คํานี้อย่างชัดแจ้ง
พารามิเตอร์
การแก้สี | ปรับเปลี่ยนสีการจัดแสงของฉาก |
---|---|
ความเข้มข้นของพิกเซล | ปรับความเข้มของแสงในฉาก |
สาธารณะ null setOnTouchListener (Scene.OnTouchListener ใน ListenerListener)
ลงทะเบียนโค้ดเรียกกลับที่จะเรียกใช้เมื่อแตะฉาก ระบบจะเรียกใช้โค้ดเรียกกลับหลังจากส่งเหตุการณ์การแตะไปยังโหนดในฉากหากไม่มีโหนดที่ใช้เหตุการณ์ การดําเนินการนี้เรียกว่า"แม้จะแตะไม่ได้"เหนือโหนด แต่ getNode()
จะเป็น Null
พารามิเตอร์
ใน onListenerListener | ตัวจับแบบแตะเพื่อแนบ |
---|