Table of Contents

Class FrameSource

Ruang Nama
easyar
Rakitan
EasyAR.Sense.dll

Sebuah sumber frame mewakili sumber data untuk input frame, menyediakan data gambar atau data gerak secara bersamaan.

Anda dapat mengimplementasikan kamera khusus dengan mewarisi beberapa subtipe dari FrameSource, tetapi Anda tidak dapat mewarisi FrameSource secara langsung. Kamera khusus biasanya mewakili perangkat baru atau cara input data baru.

Saat menggunakan produk percobaan (lisensi Personal Edition, lisensi XR Trial, atau layanan Mega Trial, dll.) pada kamera khusus atau head-mounted display (HMD), EasyAR Sense akan berhenti merespons setelah waktu tetap yang terbatas setiap kali dijalankan.

[DisallowMultipleComponent]
public abstract class FrameSource : MonoBehaviour
Pewarisan
FrameSource
Derived

Properti

AvailableCenterMode

Hanya disediakan saat membuat sumber frame baru. Ini hanya akan diakses selama proses Assemble().

Semua mode pusat yang dapat digunakan.

protected virtual IReadOnlyList<ARSession.ARCenterMode> AvailableCenterMode { get; }

Camera

Hanya disediakan saat membuat sumber frame baru. Ini hanya akan diakses selama proses Assemble().

Pada perangkat desktop atau ponsel, kamera ini mewakili Camera di dunia virtual yang sesuai dengan perangkat kamera di lingkungan nyata, di mana matriks proyeksi dan posisinya akan sesuai dengan kamera fisik, dikendalikan oleh EasyAR. Pada HMD, kamera ini hanya digunakan untuk menampilkan beberapa teks diagnostik di depan mata, tidak digunakan untuk rendering gambar, dan kameranya tidak dikendalikan oleh EasyAR.

protected abstract Camera Camera { get; }

CameraFrameStarted

Hanya disediakan saat membuat sumber frame baru. Ini akan diakses sepanjang siklus hidup ARSession.

Apakah frame kamera telah mulai diinput.

protected abstract bool CameraFrameStarted { get; }

DeviceCameras

Hanya disediakan saat membuat sumber frame baru. Ini akan diakses ketika CameraFrameStarted bernilai true.

Menyediakan kamera perangkat yang memberikan data frame kamera. Jika data frame kamera disediakan oleh beberapa kamera, semua kamera harus disertakan dalam daftar.

Pastikan nilainya benar ketika CameraFrameStarted bernilai true.

protected abstract List<FrameSourceCamera> DeviceCameras { get; }

Display

Hanya disediakan saat membuat sumber frame baru. Ini hanya akan diakses selama proses Assemble().

Menyediakan informasi tampilan sistem. Anda dapat menggunakan DefaultSystemDisplay atau DefaultHMDDisplay untuk mendapatkan informasi tampilan default.

protected abstract IDisplay Display { get; }

IsAvailable

Hanya disediakan saat membuat sumber frame baru. Ini hanya akan diakses selama proses Assemble().

Apakah sumber frame saat ini tersedia.

Jika nilainya sama dengan null, CheckAvailability() akan dipanggil, dan nilainya akan diperoleh setelah Coroutine selesai.

protected abstract Optional<bool> IsAvailable { get; }

IsCameraUnderControl

Hanya disediakan saat membuat sumber frame baru. Ini hanya akan diakses selama proses Assemble().

Ketika nilainya true, sesi akan memperbarui transform kamera dan akan merender gambar kamera.

Saat membuat ekstensi HMD, ini harus false. Anda harus sepenuhnya mengontrol kamera 3D di scene. Anda harus menangani rendering kamera, terutama dalam mode VST.

protected abstract bool IsCameraUnderControl { get; }

IsHMD

Hanya disediakan saat membuat sumber frame baru. Ini hanya akan diakses selama proses Assemble().

Apakah sumber frame saat ini adalah HMD. Jika HMD, informasi diagnostik akan ditampilkan pada papan 3D di depan kamera.

Beberapa filter frame akan beroperasi secara berbeda pada perangkat.

protected abstract bool IsHMD { get; }

Metode

CheckAvailability()

Hanya disediakan saat membuat sumber frame baru. Ini hanya akan diakses selama proses Assemble().

Coroutine yang digunakan untuk memeriksa ketersediaan sumber frame ketika IsAvailable sama dengan null.

protected virtual IEnumerator CheckAvailability()

OnSessionStart(ARSession)

Hanya disediakan saat membuat sumber frame baru. Ini hanya akan diakses selama proses StartSession().

Menangani peluncuran sesi, jika sumber frame ini telah dirakit ke dalam Assembly. Metode ini dirancang untuk inisialisasi yang tertunda, Anda dapat melakukan pekerjaan inisialisasi khusus AR dalam metode ini.

protected abstract void OnSessionStart(ARSession session)

Parameter

session

OnSessionStop()

Hanya disediakan saat membuat sumber frame baru. Ini akan diakses selama StopSession(bool) atau proses penghentian/kerusakan sesi lainnya.

Menangani penghentian sesi, jika sumber frame ini telah dirakit ke dalam Assembly. Anda dapat menggunakan metode ini untuk menghancurkan sumber daya yang dibuat selama StartSession() dan selama sesi berjalan, serta mengembalikan status internal. Metode ini dijamin akan dipanggil sebelum sesi dihancurkan. Jika sumber frame dihancurkan sebelum sesi, metode ini tidak akan dipanggil, dan sesi akan rusak.

protected abstract void OnSessionStop()