Class VisionOSARKitFrameSource
- Spazio dei nomi
- easyar
- Assembly
- EasyAR.Sense.dll
Componente MonoBehaviour per controllare il dispositivo fotocamera VisionOS ARKit (easyar.VisionOSARKitCameraDevice) nella scena, fornendo estensioni funzionali nell'ambiente Unity.
Questa sorgente di frame è un dispositivo di tracciamento del movimento che emette dati di movimento in una ARSession.
Quando si utilizzano prodotti di prova (licenza Personal, licenza XR di prova o servizio Mega di prova, ecc.) su fotocamere personalizzate o headset, EasyAR Sense smetterà di rispondere dopo un periodo di tempo fisso e limitato da ogni avvio.
public class VisionOSARKitFrameSource : FrameSource
- Ereditarietà
-
VisionOSARKitFrameSource
- Membri ereditati
Proprietà
AvailableCenterMode
Fornito solo alla creazione di una nuova sorgente di frame. Verrà accessibile solo durante il processo di Assemble().
Tutte le modalità di centraggio disponibili.
protected override IReadOnlyList<ARSession.ARCenterMode> AvailableCenterMode { get; }
Camera
Fornito solo alla creazione di una nuova sorgente di frame. Verrà accessibile solo durante il processo di Assemble().
Su dispositivi desktop o telefoni, questa fotocamera rappresenta la controparte Camera nel mondo virtuale del dispositivo fotocamera fisica nell'ambiente reale; la sua matrice di proiezione e posizione corrisponderanno alla fotocamera reale e sono controllate da EasyAR. Su un headset, questa fotocamera viene utilizzata solo per visualizzare alcune informazioni diagnostiche davanti agli occhi, non per il rendering della scena, e la fotocamera non è controllata da EasyAR.
protected override Camera Camera { get; }
CameraFrameStarted
Fornito solo alla creazione di una nuova sorgente di frame. Verrà accessibile durante l'intero ciclo di vita di ARSession.
Se l'input dei frame della fotocamera è iniziato.
protected override bool CameraFrameStarted { get; }
DeviceCameras
Fornito solo alla creazione di una nuova sorgente di frame. Verrà accessibile quando CameraFrameStarted è true.
Fornisce la fotocamera del dispositivo che fornisce i dati del frame della fotocamera. Se i dati del frame della fotocamera sono forniti da più fotocamere, l'elenco deve includerle tutte.
Assicurarsi che il valore sia corretto quando CameraFrameStarted è true.
protected override List<FrameSourceCamera> DeviceCameras { get; }
Display
Fornito solo alla creazione di una nuova sorgente di frame. Verrà accessibile solo durante il processo di Assemble().
Fornisce le informazioni sul display di sistema. Puoi usare DefaultSystemDisplay o DefaultHMDDisplay per ottenere le informazioni predefinite sul display.
protected override IDisplay Display { get; }
FrameRateRange
Intervallo della frequenza dei fotogrammi. Disponibile solo quando Opened è true.
public Vector2 FrameRateRange { get; }
IsAvailable
Fornito solo alla creazione di una nuova sorgente di frame. Verrà accessibile solo durante il processo di Assemble().
Se la sorgente di frame corrente è disponibile.
Se il valore è null, verrà chiamato CheckAvailability() e il valore verrà ottenuto dopo che la Coroutine è terminata.
protected override Optional<bool> IsAvailable { get; }
IsCameraUnderControl
Fornito solo alla creazione di una nuova sorgente di frame. Verrà accessibile solo durante il processo di Assemble().
Quando è true, la sessione aggiornerà il transform della fotocamera e renderizzerà l'immagine della fotocamera.
Quando si crea un'estensione per headset, dovrebbe essere false. Dovresti avere il controllo completo della fotocamera 3D nella scena. Dovresti gestire il rendering della fotocamera, specialmente in modalità VST.
protected override bool IsCameraUnderControl { get; }
IsHMD
Fornito solo alla creazione di una nuova sorgente di frame. Verrà accessibile solo durante il processo di Assemble().
Se la sorgente di frame corrente è un headset. Se è un headset, le informazioni diagnostiche verranno visualizzate su un pannello 3D davanti alla fotocamera.
Alcuni frame filter funzionano diversamente su dispositivi headset.
protected override bool IsHMD { get; }
Opened
Se la fotocamera è aperta.
public bool Opened { get; }
Size
Dimensione corrente dell'immagine. Disponibile solo quando Opened è true.
public Vector2Int Size { get; }
Metodi
Close()
Chiudi il dispositivo.
public void Close()
OnSessionStart(ARSession)
Fornito solo alla creazione di una nuova sorgente di frame. Verrà accessibile solo durante il processo di StartSession().
Gestisce l'avvio della sessione, se questa sorgente di frame è stata assemblata in Assembly. Questo metodo è progettato per l'inizializzazione differita; puoi eseguire qui il lavoro di inizializzazione specifico per AR.
protected override void OnSessionStart(ARSession session)
Parametri
session
OnSessionStop()
Fornito solo alla creazione di una nuova sorgente di frame. Verrà accessibile durante StopSession(bool) o altri processi di arresto/danneggiamento della sessione.
Gestisce l'arresto della sessione, se questa sorgente di frame è stata assemblata in Assembly. Puoi usare questo metodo per distruggere le risorse create durante StartSession() e il funzionamento della sessione, e ripristinare lo stato interno. Questo metodo verrà chiamato con certezza prima della distruzione della sessione. Se la sorgente di frame viene distrutta prima della sessione, questo metodo non verrà chiamato e la sessione risulterà danneggiata.
protected override void OnSessionStop()
Open()
Apri il dispositivo. Se Open() e Close() non vengono chiamati manualmente, ARSession aprirà automaticamente (Open()) all'avvio.
public void Open()
Eventi
DeviceClosed
Evento di chiusura del dispositivo.
public event Action DeviceClosed
DeviceOpened
Evento di apertura del dispositivo, il valore bool indica se ha avuto successo.
public event Action<bool, PermissionStatus, string> DeviceOpened