Class VisionOSARKitFrameSource
- Ruang Nama
- easyar
- Rakitan
- EasyAR.Sense.dll
Sebuah MonoBehaviour yang mengontrol perangkat kamera VisionOS ARKit (easyar.VisionOSARKitCameraDevice) dalam adegan, menyediakan ekstensi fungsionalitas di lingkungan Unity.
Sumber bingkai ini adalah perangkat pelacakan gerak yang akan mengeluarkan data gerak dalam ARSession.
Saat menggunakan produk percobaan (lisensi pribadi, lisensi XR percobaan, atau layanan Mega percobaan, dll.) pada kamera atau headset kustom, EasyAR Sense akan berhenti merespons setelah waktu terbatas tetap setelah setiap peluncuran.
public class VisionOSARKitFrameSource : FrameSource
- Pewarisan
-
VisionOSARKitFrameSource
- Anggota Pewarisan
Properti
AvailableCenterMode
Hanya disediakan saat membuat sumber bingkai baru. Ini hanya akan diakses selama proses Assemble().
Semua mode pusat yang dapat digunakan.
protected override IReadOnlyList<ARSession.ARCenterMode> AvailableCenterMode { get; }
Camera
Hanya disediakan saat membuat sumber bingkai 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, matriks proyeksi dan posisinya akan sesuai dengan kamera nyata, dikendalikan oleh EasyAR. Pada headset, kamera ini hanya digunakan untuk menampilkan beberapa teks diagnostik di depan mata, tidak untuk rendering gambar, dan kameranya tidak dikendalikan oleh EasyAR.
protected override Camera Camera { get; }
CameraFrameStarted
Hanya disediakan saat membuat sumber bingkai baru. Ini akan diakses sepanjang siklus hidup ARSession.
Apakah bingkai kamera telah mulai dimasukkan.
protected override bool CameraFrameStarted { get; }
DeviceCameras
Hanya disediakan saat membuat sumber bingkai baru. Ini akan diakses saat CameraFrameStarted adalah true.
Menyediakan kamera perangkat yang menyediakan data bingkai kamera. Jika data bingkai kamera disediakan oleh beberapa kamera, daftar harus mencakup semua kamera.
Pastikan nilainya benar saat CameraFrameStarted adalah true.
protected override List<FrameSourceCamera> DeviceCameras { get; }
Display
Hanya disediakan saat membuat sumber bingkai baru. Ini hanya akan diakses selama proses Assemble().
Menyediakan 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 adalah true.
public Vector2 FrameRateRange { get; }
IsAvailable
Hanya disediakan saat membuat sumber bingkai baru. Ini hanya akan diakses selama proses Assemble().
Apakah sumber bingkai saat ini tersedia.
Jika nilainya sama dengan null, CheckAvailability() akan dipanggil, nilainya akan diperoleh setelah Coroutine berakhir.
protected override Optional<bool> IsAvailable { get; }
IsCameraUnderControl
Hanya disediakan saat membuat sumber bingkai baru. Ini hanya akan diakses selama proses Assemble().
Saat nilainya true, sesi 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 bingkai baru. Ini hanya akan diakses selama proses Assemble().
Apakah sumber bingkai saat ini adalah headset. Jika headset, informasi diagnostik akan ditampilkan di papan 3D di depan kamera.
Beberapa filter bingkai berjalan berbeda pada perangkat.
protected override bool IsHMD { get; }
Opened
Apakah kamera terbuka.
public bool Opened { get; }
Size
Ukuran gambar saat ini. Hanya tersedia saat Opened adalah true.
public Vector2Int Size { get; }
Metode
Close()
Tutup perangkat.
public void Close()
OnSessionStart(ARSession)
Hanya disediakan saat membuat sumber bingkai baru. Ini hanya akan diakses selama proses StartSession().
Menangani peluncuran sesi, jika sumber bingkai ini telah dirakit ke dalam Assembly. Metode ini dirancang untuk inisialisasi 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 bingkai baru. Ini akan diakses selama StopSession(bool) atau proses penghentian/kerusakan sesi lainnya.
Menangani penghentian sesi, jika sumber bingkai 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 bingkai dihancurkan sebelum sesi, ini tidak akan dipanggil, dan sesi akan rusak.
protected override void OnSessionStop()
Open()
Buka perangkat. Jika Open() dan Close() tidak dipanggil secara manual, ARSession akan secara otomatis Open() setelah diluncurkan.
public void Open()
Peristiwa
DeviceClosed
Peristiwa penutupan perangkat.
public event Action DeviceClosed
DeviceOpened
Peristiwa pembukaan perangkat, nilai bool menunjukkan apakah berhasil.
public event Action<bool, PermissionStatus, string> DeviceOpened