Sceneform Scene mempertahankan grafik scene, pengaturan hierarkis dari konten scene. Scene dapat memiliki nol atau beberapa node turunan, dan setiap node dapat memiliki nol atau beberapa node turunan.
Scene juga menyediakan pengujian hit, yang merupakan cara untuk mendeteksi node mana yang disentuh oleh MotionEvent atau Ray.
Class Bertingkat
antarmuka | Scene.OnPeekTouchListener | Definisi antarmuka untuk callback yang akan dipanggil saat peristiwa sentuh dikirim ke adegan. | |
antarmuka | Scene.OnTouchListener | Definisi antarmuka untuk callback yang akan dipanggil saat peristiwa sentuh dikirim ke adegan. | |
antarmuka | Scene.OnUpdateListener | Definisi antarmuka untuk callback yang akan dipanggil satu kali per frame tepat sebelum scene diperbarui. |
Kolom
publik statis final EnvironmentalHdrParameters | DEFAULT_HDR_PARAMETERS |
Konstruktor Publik
Metode Publik
void |
addOnPeekTouchListener(Scene.OnPeekTouchListener onPeekTouchListener)
Menambahkan pemroses yang akan dipanggil sebelum
Scene.OnTouchListener dipanggil. |
void |
addOnUpdateListener(Scene.OnUpdateListener onUpdateListener)
Menambahkan pemroses yang akan dipanggil satu kali per frame tepat sebelum Scene diupdate.
|
Kamera |
getCamera()
Dapatkan kamera yang digunakan untuk merender tampilan.
|
Node |
getSunlight()
Mendapatkan node sinar matahari default.
|
SceneView |
getView()
Menampilkan SceneView yang digunakan untuk membuat scene.
|
HitTestResult |
hitTest(MotionEvent MotionEvent)
Menguji untuk melihat apakah peristiwa gerakan menyentuh node dalam scene, berdasarkan uji hit ray
yang asalnya adalah posisi layar peristiwa gerakan, dan menghasilkan HitTestResult yang berisi
node terdekat ke layar.
|
HitTestResult | |
ArrayList<HitTestResult> |
hitTestAll(ray ray)
Menguji untuk melihat apakah sinar mengenai node dalam tampilan dan menampilkan daftar
HitTestResults yang berisi semua node yang terkena, diurutkan berdasarkan jarak.
|
ArrayList<HitTestResult> |
hitTestAll(MotionEvent MotionEvent)
Menguji untuk melihat apakah peristiwa gerakan menyentuh node dalam scene dan menampilkan daftar
HitTestResults yang berisi semua node yang terkena, diurutkan berdasarkan jarak.
|
void |
onAddChild(Node turunan)
|
void |
onRemoveChild(turunan Node)
|
Node |
overlapTest(node Node)
Menguji untuk melihat apakah bentuk tabrakan node yang diberikan tumpang-tindih dengan bentuk tabrakan node lain di scene menggunakan
getCollisionShape() . |
ArrayList<Node> |
overlapTestAll(node Node)
Menguji untuk melihat apakah node tumpang-tindih dengan node lain dalam scene menggunakan
getCollisionShape() . |
void |
removeOnPeekTouchListener(Scene.OnPeekTouchListener onPeekTouchListener)
Menghapus pemroses yang akan dipanggil sebelum
Scene.OnTouchListener dipanggil. |
void |
removeOnUpdateListener(Scene.OnUpdateListener onUpdateListener)
Menghapus pemroses yang akan dipanggil satu kali per frame tepat sebelum Scene diupdate.
|
void |
setLightEstimated(Koreksi warnaWarna, pikselIntensitas float)
Menetapkan perkiraan cahaya untuk memodulasi pencahayaan dan intensitas tampilan.
|
void |
setOnTouchListener(Scene.OnTouchListener onTouchListener)
Daftarkan callback yang akan dipanggil saat adegan disentuh.
|
Metode Turunan
Kolom
publik statis final EnvironmentalHdrParameters DEFAULT_HDR_PARAMETERS
Konstruktor Publik
Metode Publik
publik void addOnPeekTouchListener (Scene.OnPeekTouchListener onPeekTouchListener)
Menambahkan pemroses yang akan dipanggil sebelum Scene.OnTouchListener
dipanggil. Hal ini dipanggil meskipun gestur digunakan, sehingga memungkinkan untuk mengamati semua peristiwa gerakan yang dikirim ke scene. Ini dipanggil meskipun sentuhan tidak berada di atas node, sehingga getNode()
akan null. Pemroses ini akan dipanggil sesuai urutan penambahannya.
Parameter
onPeekTouchListener | pemroses sentuh cuplikan untuk menambahkan |
---|
publik void addOnUpdateListener (Scene.OnUpdateListener onUpdateListener)
Menambahkan pemroses yang akan dipanggil satu kali per frame tepat sebelum Scene diupdate. Pemroses akan dipanggil sesuai urutan penambahannya.
Parameter
onUpdateListener | menambahkan pemroses pembaruan |
---|
publik Kamera getCamera ()
Dapatkan kamera yang digunakan untuk merender tampilan. Kamera adalah jenis node.
Hasil
- kamera yang digunakan untuk merender tampilan
publik Node getSunlight ()
Mendapatkan node sinar matahari default.
Hasil
- node sinar matahari yang digunakan untuk menerangi tampilan
publik HitTestResult hitTest (MotionEvent motionEvent)
Menguji untuk melihat apakah peristiwa gerakan menyentuh node dalam scene, berdasarkan uji hit ray yang asalnya adalah posisi layar peristiwa gerakan, dan menghasilkan HitTestResult yang berisi node terdekat ke layar.
Parameter
gerakan | peristiwa gerakan yang akan digunakan untuk pengujian |
---|
Hasil
- hasilnya mencakup node pertama yang terkena peristiwa gerakan (mungkin null), dan informasi tentang tempat peristiwa gerakan mencapai node di ruang dunia
publik HitTestResult hitTest (Ray ray)
Menguji untuk melihat apakah sinar mengenai node dalam scene dan menghasilkan HitTestResult yang berisi node yang paling dekat dengan asal sinar yang berpotongan dengan sinar.
Parameter
Ray | sinar yang akan digunakan untuk pengujian |
---|
Hasil
- hasilnya mencakup node pertama yang terkena sinar (mungkin null), dan informasi tentang tempat sinar mengenai node di ruang dunia
Lihat Juga
publik ArrayList<HitTestResult> hitTestAll (Ray ray)
Menguji untuk melihat apakah sinar mengenai node dalam tampilan dan menampilkan daftar HitTestResults yang berisi semua node yang terkena, diurutkan berdasarkan jarak.
Parameter
Ray | Sinar yang akan digunakan untuk pengujian. |
---|
Hasil
- Diisi dengan HitTestResult untuk setiap node yang diurutkan berdasarkan jarak. Kosong jika tidak ada node yang ditemukan.
Lihat Juga
publik ArrayList<HitTestResult> hitTestAll (MotionEvent MotionEvent)
Menguji untuk melihat apakah peristiwa gerakan menyentuh node dalam scene dan menampilkan daftar HitTestResults yang berisi semua node yang terkena, diurutkan berdasarkan jarak.
Parameter
gerakan | Peristiwa gerakan yang akan digunakan untuk pengujian. |
---|
Hasil
- Diisi dengan HitTestResult untuk setiap node yang diurutkan berdasarkan jarak. Kosong jika tidak ada node yang ditemukan.
publik Node overlapTest (Node)
Menguji untuk melihat apakah bentuk tabrakan node yang diberikan tumpang-tindih dengan bentuk tabrakan node lain di scene menggunakan getCollisionShape()
. Node yang digunakan untuk pengujian tidak perlu aktif.
Parameter
node | Node yang akan digunakan untuk pengujian. |
---|
Hasil
- Node yang tumpang-tindih dengan node pengujian. Jika tidak ada node yang tumpang-tindih dengan node pengujian, ini adalah null. Jika beberapa node tumpang-tindih dengan node pengujian, maka node tersebut mungkin berupa salah satu dari node tersebut.
Lihat Juga
publik ArrayList<Node> overlapTestAll (Node)
Menguji untuk melihat apakah node tumpang-tindih dengan node lain dalam scene menggunakan getCollisionShape()
. Node yang digunakan untuk pengujian tidak perlu aktif.
Parameter
node | Node yang akan digunakan untuk pengujian. |
---|
Hasil
- Daftar semua node yang tumpang-tindih dengan node pengujian. Jika tidak ada node yang tumpang-tindih dengan node pengujian, daftar akan kosong.
Lihat Juga
publik void removeOnPeekTouchListener (Scene.OnPeekTouchListener onPeekTouchListener)
Menghapus pemroses yang akan dipanggil sebelum Scene.OnTouchListener
dipanggil.
Hal ini dipanggil meskipun gestur digunakan, sehingga memungkinkan untuk mengamati semua peristiwa gerakan yang dikirim ke scene. Ini dipanggil meskipun sentuhan tidak berada di atas node, sehingga
getNode()
akan bernilai null.
Parameter
onPeekTouchListener | pemroses sentuh cuplikan yang akan dihapus |
---|
publik void removeOnUpdateListener (Scene.OnUpdateListener onUpdateListener)
Menghapus pemroses yang akan dipanggil satu kali per frame tepat sebelum Scene diupdate.
Parameter
onUpdateListener | pemroses pembaruan akan dihapus |
---|
publik void setLightEstimated (Warna colorKoreksi, pikselIntensitas float)
Menetapkan perkiraan cahaya untuk memodulasi pencahayaan dan intensitas tampilan. Pencahayaan yang dirender akan menggunakan kombinasi nilai ini serta warna dan intensitas lampu. Nilai color Colorcorrection dan pixelIntensity 1 berarti tidak ada perubahan yang dibuat pada setelan cahaya.
Ini digunakan oleh scene Sceneform AR secara internal untuk menyesuaikan pencahayaan berdasarkan nilai dari ARCore. Scene AR akan memanggilnya secara otomatis, mungkin mengganti setelan lainnya. Pada umumnya, Anda tidak perlu memanggil hal ini secara eksplisit.
Parameter
Koreksi warna | memodulasi warna pencahayaan scene. |
---|---|
Intensitas piksel | memodulasi intensitas pencahayaan adegan. |
publik void setOnTouchListener (Scene.OnTouchListener onTouchListener)
Daftarkan callback yang akan dipanggil saat adegan disentuh. Callback akan dipanggil setelah peristiwa sentuh dikirim ke node dalam scene jika tidak ada node yang menggunakan peristiwa tersebut. Ini dipanggil meskipun sentuhan tidak berada di atas node, sehingga getNode()
akan menjadi null.
Parameter
onTouchListener | pemroses sentuh yang akan dilampirkan |
---|