Suasana

public class Scene

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

Scene(tampilan SceneView)
Membuat scene dengan konteks yang diberikan.

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
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.
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

publik Scene (tampilan ViewView)

Membuat scene dengan konteks yang diberikan.

Parameter
view

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 SceneView getView ()

Menampilkan SceneView yang digunakan untuk membuat scene.

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

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.

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 void onAddChild (Node turunan)

Parameter
anak

publik void onRemoveChild (Node turunan)

Parameter
anak

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.

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