Class AREngineFrameSource
- Ruang Nama
- easyar
- Rakitan
- EasyAR.Sense.dll
Dalam adegan, hubungkan output perangkat kamera AREngine ke sumber frame kustom input EasyAR. Berikan dukungan Huawei AR Engine melalui fitur kamera kustom EasyAR Sense.
Sumber frame ini adalah perangkat pelacakan gerak, akan mengeluarkan data gerak di ARSession.
Sumber frame ini tidak menggunakan ``Huawei AR Engine Unity SDK``, tidak perlu ditambahkan.
public class AREngineFrameSource : FrameSource
- Pewarisan
-
AREngineFrameSource
- Anggota Pewarisan
Bidang
DesiredFocusMode
Mode fokus yang diinginkan, hanya efektif jika diubah sebelum event DeviceOpened atau OnEnable.
Perhatian: Karena batasan perangkat keras atau sistem, sakelar fokus mungkin tidak berfungsi di beberapa perangkat.
public AREngineCameraDeviceFocusMode DesiredFocusMode
Properti
Camera
Hanya disediakan saat membuat sumber frame baru. Hanya akan diakses selama proses Assemble().
Di perangkat desktop atau ponsel, kamera ini mewakili Camera di dunia virtual yang sesuai dengan perangkat kamera di lingkungan nyata. Matriks proyeksi dan posisinya akan sesuai dengan kamera fisik, dikendalikan oleh EasyAR. Di headset, kamera ini hanya digunakan untuk menampilkan beberapa teks diagnostik di depan mata, tidak untuk merender gambar, dan kameranya tidak dikendalikan oleh EasyAR.
protected override Camera Camera { get; }
CameraCandidate
Alternatif untuk Camera, hanya berlaku jika Unity XR Origin tidak digunakan. Jika tidak disetel, akan menggunakan Camera.main.
public Camera CameraCandidate { get; set; }
CameraFrameStarted
Hanya disediakan saat membuat sumber frame baru. Ini akan diakses sepanjang siklus hidup ARSession.
Apakah frame kamera telah mulai dimasukkan.
protected override bool CameraFrameStarted { get; }
DeviceCameras
Hanya disediakan saat membuat sumber frame baru. Ini akan diakses saat CameraFrameStarted true.
Sediakan kamera perangkat yang menyediakan data frame kamera. Jika data frame kamera disediakan oleh beberapa kamera, semua kamera harus dimasukkan dalam daftar.
Pastikan nilainya benar saat CameraFrameStarted true.
protected override List<FrameSourceCamera> DeviceCameras { get; }
Display
Hanya disediakan saat membuat sumber frame baru. Hanya akan diakses selama proses Assemble().
Sediakan informasi tampilan sistem. Anda dapat menggunakan DefaultSystemDisplay atau DefaultHMDDisplay untuk mendapatkan informasi tampilan default.
protected override IDisplay Display { get; }
FrameRateRange
Rentang frame rate. Hanya tersedia saat Opened true.
public Vector2 FrameRateRange { get; }
IsAvailable
Hanya disediakan saat membuat sumber frame baru. Hanya akan diakses selama proses Assemble().
Apakah sumber frame saat ini tersedia.
Jika nilainya null, CheckAvailability() akan dipanggil, dan nilainya akan diperoleh setelah Coroutine selesai.
protected override Optional<bool> IsAvailable { get; }
IsCameraUnderControl
Hanya disediakan saat membuat sumber frame baru. Hanya akan diakses selama proses Assemble().
Saat nilainya true, session akan memperbarui transform kamera dan akan merender gambar kamera.
Saat membuat ekstensi headset, ini harus false. Anda harus sepenuhnya mengontrol kamera 3D di adegan. Anda harus menangani rendering kamera, terutama dalam mode VST.
protected override bool IsCameraUnderControl { get; }
IsHMD
Hanya disediakan saat membuat sumber frame baru. Hanya akan diakses selama proses Assemble().
Apakah sumber frame saat ini adalah headset. Jika headset, informasi diagnostik akan ditampilkan di papan 3D di depan kamera.
Beberapa filter frame akan berjalan berbeda di perangkat.
protected override bool IsHMD { get; }
Opened
Apakah kamera terbuka.
public bool Opened { get; }
Size
Ukuran gambar saat ini. Hanya tersedia saat Opened true.
public Optional<Vector2Int> Size { get; }
Metode
Close()
Tutup perangkat.
public void Close()
OnSessionStart(ARSession)
Hanya disediakan saat membuat sumber frame baru. Hanya akan diakses selama proses StartSession().
Tangani peluncuran session, jika frame source ini telah dirakit ke dalam Assembly. Metode ini dirancang untuk inisialisasi yang tertunda, Anda dapat melakukan pekerjaan inisialisasi khusus AR dalam metode ini.
protected override void OnSessionStart(ARSession session)
Parameter
session
OnSessionStop()
Hanya disediakan saat membuat sumber frame baru. Ini akan diakses selama StopSession(bool) atau proses penghentian/kerusakan session lainnya.
Tangani penghentian session, jika frame source ini telah dirakit ke dalam Assembly. Anda dapat menggunakan metode ini untuk menghancurkan sumber daya yang dibuat selama StartSession() dan operasi session, serta mengembalikan status internal. Metode ini dijamin akan dipanggil sebelum session dihancurkan. Jika frame source dihancurkan sebelum session, ini tidak akan dipanggil, dan session akan rusak.
protected override void OnSessionStop()
Open()
Buka perangkat. Jika Open() dan Close() tidak dipanggil secara manual, ARSession akan secara otomatis Open() setelah dimulai.
public void Open()
Peristiwa
DeviceClosed
Event saat perangkat ditutup.
public event Action DeviceClosed
DeviceOpened
Event saat perangkat dibuka, nilai bool menunjukkan apakah berhasil.
public event Action<bool, PermissionStatus, string> DeviceOpened