Table of Contents

Class ARKitFrameSource

Spazio dei nomi
easyar
Assembly
EasyAR.Sense.dll

Componente MonoBehaviour per controllare il dispositivo fotocamera ARKit (easyar.ARKitCameraDevice) nella scena, fornendo estensioni funzionali in ambiente Unity.

Questa sorgente di frame è un dispositivo di tracciamento del movimento che emette dati di movimento all'interno di ARSession.

public class ARKitFrameSource : FrameSource
Ereditarietà
ARKitFrameSource
Membri ereditati

Campi

DesiredFocusMode

Modalità di messa a fuoco desiderata. Le modifiche sono efficaci solo se effettuate prima dell'evento DeviceOpened o di OnEnable.

Nota: a causa di limitazioni hardware o di sistema, l'attivazione/disattivazione della messa a fuoco potrebbe non funzionare su alcuni dispositivi.

public ARKitCameraDeviceFocusMode DesiredFocusMode

Proprietà

Camera

Fornito solo durante la creazione di una nuova sorgente di frame. Accessibile unicamente durante il processo Assemble().

Su dispositivi desktop o mobili, questa fotocamera rappresenta il Camera corrispondente nel mondo virtuale al dispositivo fotocamera reale, con matrice di proiezione e posizione controllate da EasyAR e corrispondenti alla fotocamera reale. Su un headset, questa fotocamera viene utilizzata solo per visualizzare testo diagnostico davanti agli occhi, non per il rendering; non è controllata da EasyAR.

protected override Camera Camera { get; }

CameraCandidate

Alternativa a Camera, valida solo se non si utilizza Unity XR Origin. Se non impostato, verrà utilizzato Camera.main.

public Camera CameraCandidate { get; set; }

CameraFrameStarted

Fornito solo durante la creazione di una nuova sorgente di frame. Accessibile per l'intero ciclo di vita di ARSession.

Indica se è iniziato l'input del frame fotocamera.

protected override bool CameraFrameStarted { get; }

DesiredFrameRate

Frame rate desiderato per l'immagine della fotocamera. Le modifiche sono efficaci solo se effettuate prima dell'evento DeviceOpened.

Utilizzerà il valore più vicino in SupportedFrameRate. Se non impostato, verrà utilizzato il valore predefinito.

public Optional<double> DesiredFrameRate { get; set; }

DesiredSize

Dimensione desiderata per l'immagine della fotocamera. Le modifiche sono efficaci solo se effettuate prima dell'evento DeviceOpened.

Utilizzerà la dimensione più vicina in SupportedSize. Se non impostato, verrà utilizzato il valore predefinito.

public Optional<Vector2Int> DesiredSize { get; set; }

DeviceCameras

Fornito solo durante la creazione di una nuova sorgente di frame. Accessibile solo quando CameraFrameStarted è true.

Fornisce la fotocamera del dispositivo che emette i dati del frame fotocamera. Se i dati provengono 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 durante la creazione di una nuova sorgente di frame. Accessibile unicamente durante il processo Assemble().

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

protected override IDisplay Display { get; }

FrameRate

Frame rate corrente del dispositivo. Disponibile solo quando Opened è true.

Il setter utilizzerà il valore più vicino in SupportedFrameRate.

public double FrameRate { get; set; }

IsAvailable

Fornito solo durante la creazione di una nuova sorgente di frame. Accessibile unicamente durante il processo Assemble().

Indica se la sorgente di frame corrente è disponibile.

Se il valore è null, verrà chiamato CheckAvailability() e il valore verrà recuperato dopo la fine della Coroutine.

protected override Optional<bool> IsAvailable { get; }

IsCameraUnderControl

Fornito solo durante la creazione di una nuova sorgente di frame. Accessibile unicamente durante il processo Assemble().

Quando true, la sessione aggiorna la trasformazione della fotocamera ed esegue il rendering dell'immagine della fotocamera.

Nella creazione di un'estensione per headset, dovrebbe essere false. Dovresti controllare completamente la fotocamera 3D nella scena e gestire il rendering della fotocamera, specialmente in modalità VST.

protected override bool IsCameraUnderControl { get; }

IsHMD

Fornito solo durante la creazione di una nuova sorgente di frame. Accessibile unicamente durante il processo Assemble().

Indica 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 si comportano diversamente sui dispositivi headset.

protected override bool IsHMD { get; }

Opened

Indica se la fotocamera è aperta.

public bool Opened { get; }

Size

Dimensione immagine corrente. Disponibile solo quando Opened è true.

Il setter utilizzerà la dimensione più vicina in SupportedSize.

Se la dimensione dell'immagine viene modificata durante la registrazione di FrameRecorder, i dati di registrazione smetteranno di aggiornarsi; è necessario chiudere e riavviare la registrazione.

public Vector2Int Size { get; set; }

SupportedFrameRate

Tutti i frame rate supportati dal dispositivo corrente. Disponibile solo quando Opened è true.

public List<double> SupportedFrameRate { get; }

SupportedSize

Tutte le dimensioni immagine supportate dal dispositivo corrente. Disponibile solo quando Opened è true.

public List<Vector2Int> SupportedSize { get; }

enabled

Avvia/interrompe la raccolta del flusso video durante l'esecuzione di ARSession. Dopo l'avvio della sessione, la raccolta inizierà solo se MonoBehaviour.enabled è true.

public bool enabled { get; set; }

Metodi

Close()

Chiude il dispositivo.

public void Close()

OnSessionStart(ARSession)

Fornito solo durante la creazione di una nuova sorgente di frame. Accessibile unicamente durante il processo StartSession().

Gestisce l'avvio della sessione, se questa sorgente di frame è stata assemblata in Assembly. Questo metodo è progettato per l'inizializzazione differita; qui puoi eseguire attività di inizializzazione specifiche per la realtà aumentata.

protected override void OnSessionStart(ARSession session)

Parametri

session

OnSessionStop()

Fornito solo durante la creazione di una nuova sorgente di frame. 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 utilizzare questo metodo per distruggere le risorse create durante StartSession() e il funzionamento della sessione, e per ripristinare lo stato interno. Sarà chiamato 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()

Apre il dispositivo. Se non vengono chiamati manualmente Open() e Close(), l'apertura avverrà automaticamente dopo l'avvio di ARSession.

public void Open()

Eventi

DeviceClosed

Evento di chiusura del dispositivo.

public event Action DeviceClosed

DeviceOpened

Evento di apertura del dispositivo, dove il valore bool indica l'esito positivo o negativo.

public event Action<bool, PermissionStatus, string> DeviceOpened