Mewakili kamera virtual, yang menentukan perspektif saat melihat tampilan.
Jika kamera adalah bagian dari ArSceneView
, kamera akan otomatis melacak
pose kamera dari ARCore. Selain itu, metode berikut akan memunculkan UnsupportedOperationException
saat dipanggil:
setParent(NodeParent)
- Orang tua kamera tidak dapat diubah, selalu ada adegan.setLocalPosition(Vector3)
- Posisi kamera tidak dapat diubah, dikontrol oleh pose kamera ARCore.setLocalRotation(Quaternion)
- Rotasi kamera tidak dapat diubah, yang dikontrol oleh pose kamera ARCore.setWorldPosition(Vector3)
- Posisi kamera tidak dapat diubah, dikontrol oleh pose kamera ARCore.setWorldRotation(Quaternion)
- Rotasi kamera tidak dapat diubah, yang dikontrol oleh pose kamera ARCore.
Metode Publik
float | |
float | |
float |
getVerticalFovDegrees()
Mendapatkan ruang pandang vertikal kamera.
|
Ray |
screenPointToRay(float x, float y)
Menghitung sinar di ruang dunia yang berasal dari bidang dekat kamera dan melalui suatu titik dalam ruang layar.
|
void | |
void | |
void | |
void |
setVerticalFovDegrees(float verticalFov)
Menetapkan ruang pandang vertikal untuk kamera non-ar dalam derajat.
|
void | |
void | |
Vektor3 |
Metode Turunan
Metode Publik
float publik getFarClipPlane ()
float publik getNearClipPlane ()
float publik getVerticalFovDegrees ()
Mendapatkan ruang pandang vertikal kamera.
Jika ini adalah kamera AR, penghitungannya berdasarkan informasi kamera dari ARCore dan dapat bervariasi di antara perangkat. Ini tidak dapat dihitung sampai frame pertama setelah sesi ARCore dilanjutkan, dalam hal ini IllegalStateException dilempar.
Jika tidak, nilai yang ditetapkan oleh setVerticalFovDegrees(float)
akan ditampilkan, dengan default 90 derajat.
Menampilkan
IllegalStateException | jika dipanggil sebelum frame pertama setelah ARCore dilanjutkan |
---|
publik Ray screenPointToRay (float x, float y)
Menghitung sinar di ruang dunia yang berasal dari bidang dekat kamera dan melalui suatu titik dalam ruang layar. Ruang layar dalam koordinat layar perangkat Android: Kiri Atas = (0, 0) Kanan Bawah = (Lebar Layar, Tinggi Layar) Ruang koordinat perangkat tidak terpengaruh oleh orientasi perangkat.
Parameter
x | Posisi X dalam koordinat layar perangkat. |
---|---|
y | Posisi Y dalam koordinat layar perangkat. |
publik void setLocalPosition (posisi Vector3)
Tetapkan posisi kamera. Kamera selalu isTopLevel()
, sehingga berperilaku
sama seperti setWorldPosition(Vector3)
.
Jika kamera merupakan bagian dari ArSceneView
, berarti operasi ini tidak didukung.
Posisi kamera tidak dapat diubah, dikontrol oleh pose kamera ARCore.
Parameter
position | Posisi yang akan diterapkan. |
---|
publik void setLocalRotation (Rotasi Quaternion)
Tetapkan rotasi kamera. Kamera selalu isTopLevel()
, sehingga berperilaku
sama seperti setWorldRotation(Quaternion)
.
Jika kamera merupakan bagian dari ArSceneView
, berarti operasi ini tidak didukung.
Rotasi kamera tidak dapat diubah, dikontrol oleh pose kamera ARCore.
Parameter
rotasi | Rotasi yang akan diterapkan. |
---|
publik void setParent (NodeParent parent)
Operasi tidak didukung. Orang tua Kamera tidak dapat diubah, selalu ada adegan.
Parameter
induk | Induk baru tempat node ini akan menjadi turunannya. Jika null, node ini akan dilepaskan dari induknya. |
---|
publik void setVerticalFovDegrees (float verticalFov)
Menetapkan ruang pandang vertikal untuk kamera non-ar dalam derajat. Jika ini adalah kamera AR, fov berasal dari ARCore dan tidak dapat ditetapkan sehingga pengecualian ditampilkan. Nilai defaultnya adalah 90 derajat.
Parameter
Vertikal |
---|
Menampilkan
Tidak DidukungOperationException | jika ini adalah kamera AR |
---|
publik void setWorldPosition (Posisi vektor3)
Tetapkan posisi kamera. Kamera selalu isTopLevel()
, sehingga berperilaku
sama seperti setLocalPosition(Vector3)
.
Jika kamera merupakan bagian dari ArSceneView
, berarti operasi ini tidak didukung.
Posisi kamera tidak dapat diubah, dikontrol oleh pose kamera ARCore.
Parameter
position | Posisi yang akan diterapkan. |
---|
publik void setWorldRotation (rotasi Quaternion)
Tetapkan rotasi kamera. Kamera selalu isTopLevel()
, sehingga berperilaku
sama seperti setLocalRotation(Quaternion)
.
Jika kamera merupakan bagian dari ArSceneView
, berarti operasi ini tidak didukung.
Rotasi kamera tidak dapat diubah, dikontrol oleh pose kamera ARCore.
Parameter
rotasi | Rotasi yang akan diterapkan. |
---|
publik Vector3 worldToScreenPoint (Vector3 titik)
Ubah titik dari ruang dunia menjadi ruang layar.
Nilai X negatif jika titik tersisa dari area pandang, antara 0 dan lebar SceneView
saat titik berada dalam area pandang, dan lebih besar dari lebar saat titik berada di sebelah kanan area pandang.
Nilai Y negatif jika titik berada di bawah area pandang, antara 0 dan tinggi SceneView
saat titik berada dalam area pandang, dan lebih besar dari tinggi saat titik berada di atas area pandang.
Nilai Z selalu 0 karena nilai yang ditampilkan adalah koordinat 2D.
Parameter
poin | titik di ruang dunia untuk berkonversi |
---|
Hasil
- vektor baru yang mewakili titik di ruang layar.