Table of Contents

Class XREALFrameSource

Spazio dei nomi
easyar
Assembly
EasyAR.Sense.dll

Un componente MonoBehaviour per controllare il dispositivo fotocamera XREAL (easyar.XREALCameraDevice) 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 personale, licenza XR di prova o servizio Mega di prova, ecc.) su fotocamere o HMD personalizzati, EasyAR Sense smetterà di rispondere dopo un periodo di tempo fisso e limitato da ogni avvio.

public class XREALFrameSource : FrameSource
Ereditarietà
XREALFrameSource

Proprietà

AvailableCenterMode

Fornito solo alla creazione di una nuova sorgente di frame. Verrà accesso solo durante il processo di Assemble().

Tutte le modalità di centro utilizzabili.

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

Camera

Fornito solo alla creazione di una nuova sorgente di frame. Verrà accesso solo durante il processo di Assemble().

Su dispositivi desktop o mobili, questa fotocamera rappresenta la Camera corrispondente nel mondo virtuale al dispositivo fotocamera reale nell'ambiente fisico; la sua matrice di proiezione e posizione corrisponderanno alla fotocamera reale e sono controllate da EasyAR. Su un HMD, questa fotocamera è utilizzata solo per visualizzare testo diagnostico 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à accesso durante l'intero ciclo di vita della ARSession.

Se il frame della fotocamera ha iniziato ad essere immesso.

protected override bool CameraFrameStarted { get; }

DeviceCameras

Fornito solo alla creazione di una nuova sorgente di frame. Verrà accesso solo 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à accesso solo durante il processo di Assemble().

Fornisce le informazioni sul sistema di visualizzazione. Puoi usare DefaultSystemDisplay o DefaultHMDDisplay per ottenere le informazioni di visualizzazione predefinite.

protected override IDisplay Display { get; }

FrameRate

Intervallo della frequenza dei fotogrammi. Disponibile solo quando Opened è true.

public double FrameRate { get; }

IsAvailable

Fornito solo alla creazione di una nuova sorgente di frame. Verrà accesso 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 il completamento della Coroutine.

protected override Optional<bool> IsAvailable { get; }

IsCameraUnderControl

Fornito solo alla creazione di una nuova sorgente di frame. Verrà accesso 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 HMD, 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à accesso solo durante il processo di Assemble().

Se questa sorgente di frame è un HMD. Se è un HMD, le informazioni diagnostiche verranno visualizzate su un pannello 3D davanti alla fotocamera.

Alcuni frame filter si comportano diversamente sui dispositivi.

protected override bool IsHMD { get; }

Opened

Se la fotocamera è aperta.

public bool Opened { get; }

ReceivedFrameCount

Conteggio dei frame acquisiti. Solitamente utilizzato per il debug. Se questo numero smette di aumentare, è tipicamente un problema hardware, la riconnessione potrebbe risolverlo.

public int ReceivedFrameCount { get; }

Size

Dimensione corrente dell'immagine. Disponibile solo quando Opened è true.

public Vector2Int Size { get; }

Metodi

CheckAvailability()

Fornito solo alla creazione di una nuova sorgente di frame. Verrà accesso solo durante il processo di Assemble().

Coroutine utilizzata per verificare la disponibilità della sorgente di frame quando IsAvailable è null.

protected override IEnumerator CheckAvailability()

Close()

Chiudi il dispositivo.

public void Close()

OnSessionStart(ARSession)

Fornito solo alla creazione di una nuova sorgente di frame. Verrà accesso 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à accesso 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 l'esecuzione della sessione e ripristinare lo stato interno. La sua chiamata è garantita 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()) dopo l'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