Table of Contents

Class VisionOSARKitFrameSource

Spazio dei nomi
easyar
Assembly
EasyAR.Sense.dll

Componente Unity che controlla il dispositivo fotocamera VisionOS ARKit (easyar.VisionOSARKitCameraDevice) nella scena, fornendo estensioni funzionali nell'ambiente Unity.

Questa sorgente frame è un dispositivo di tracciamento del movimento che fornisce dati di movimento nell'ARSession.

Quando si utilizzano prodotti di prova (licenza personale, licenza XR trial o servizio Mega trial, ecc.) su fotocamera personalizzata o auricolare, EasyAR Sense smetterà di rispondere dopo un periodo di tempo fisso e limitato ad ogni avvio.

public class VisionOSARKitFrameSource : FrameSource
Ereditarietà
VisionOSARKitFrameSource
Membri ereditati

Proprietà

AvailableCenterMode

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

Tutte le modalità di centraggio utilizzabili.

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

Camera

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

Su dispositivi desktop o cellulari, questa fotocamera rappresenta il Camera corrispondente nel mondo virtuale al dispositivo fotocamera reale nell'ambiente fisico. La sua matrice di proiezione e la posizione corrisponderanno alla fotocamera reale e saranno controllate da EasyAR. Sull'auricolare, questa fotocamera viene utilizzata solo per mostrare del 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 frame. Sarà accessibile durante l'intero ciclo di vita di ARSession.

Indica se l'input dei frame della fotocamera è iniziato.

protected override bool CameraFrameStarted { get; }

DeviceCameras

Fornito solo alla creazione di una nuova sorgente frame. Sarà accessibile quando CameraFrameStarted è true.

Fornisce la fotocamera del dispositivo che fornisce i dati dei frame. Se i dati del frame della fotocamera sono forniti da più fotocamere, l'elenco deve includerle tutte.

Assicurati che il valore sia corretto quando CameraFrameStarted è true.

protected override List<FrameSourceCamera> DeviceCameras { get; }

Display

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

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

protected override IDisplay Display { get; }

FrameRateRange

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

public Vector2 FrameRateRange { get; }

IsAvailable

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

Indica se la sorgente frame corrente è disponibile.

Se il valore è null, verrà chiamato CheckAvailability(), e il valore verrà ottenuto al termine della Coroutine.

protected override Optional<bool> IsAvailable { get; }

IsCameraUnderControl

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

Quando è true, la sessione aggiorna la trasform della fotocamera e renderizza l'immagine della fotocamera.

Quando si crea un'estensione per auricolare, dovrebbe essere false. Devi 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 frame. Verrà accessibile solo durante il processo di Assemble().

Indica se la sorgente frame corrente è un auricolare. Se è un auricolare, le informazioni diagnostiche verranno visualizzate su un pannello 3D davanti alla fotocamera.

Alcuni frame filter potrebbero funzionare in modo diverso sull'auricolare.

protected override bool IsHMD { get; }

Opened

Indica se la fotocamera è aperta.

public bool Opened { get; }

Size

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

public Vector2Int Size { get; }

enabled

ARSession avvia/interrompe l'acquisizione del flusso video durante l'esecuzione. L'acquisizione inizierà solo dopo l'avvio della sessione e quando MonoBehaviour.enabled è true.

public bool enabled { get; set; }

Metodi

Close()

Chiude il dispositivo.

public void Close()

OnSessionStart(ARSession)

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

Gestisce l'avvio della sessione, se questa sorgente frame è stata assemblata in Assembly. Questo metodo è progettato per l'inizializzazione differita; qui puoi eseguire lavori di inizializzazione specifici per AR.

protected override void OnSessionStart(ARSession session)

Parametri

session

OnSessionStop()

Fornito solo alla creazione di una nuova sorgente frame. Sarà accessibile durante StopSession(bool) o altri processi di arresto/danneggiamento della sessione.

Gestisce l'arresto della sessione, se questa sorgente frame è stata assemblata in Assembly. Puoi utilizzare questo metodo per distruggere le risorse create in StartSession() e durante l'esecuzione della sessione, e per ripristinare lo stato interno. Questo metodo verrà chiamato sicuramente prima della distruzione della sessione. Se la sorgente frame viene distrutta prima della sessione, non verrà chiamato e la sessione risulterà danneggiata.

protected override void OnSessionStop()

Open()

Apre il dispositivo. Se Open() e Close() non vengono chiamati manualmente, ARSession aprirà automaticamente il dispositivo all'avvio.

public void Open()

Eventi

DeviceClosed

Evento di chiusura del dispositivo.

public event Action DeviceClosed

DeviceOpened

Evento di apertura del dispositivo, il valore booleano indica il successo.

public event Action<bool, PermissionStatus, string> DeviceOpened