Table of Contents

Class AREngineFrameSource

Spazio dei nomi
easyar
Assembly
EasyAR.Sense.dll

Collega l'output del dispositivo fotocamera AREngine alla sorgente frame personalizzata di input di EasyAR nella scena. Fornisce supporto per Huawei AR Engine tramite la funzionalità fotocamera personalizzata di EasyAR Sense.

Questa sorgente frame è un dispositivo di tracciamento del movimento che emette dati di movimento in ARSession.

Questa sorgente frame non utilizza ``Huawei AR Engine Unity SDK`` e non richiede aggiunte.

public class AREngineFrameSource : FrameSource
Ereditarietà
AREngineFrameSource
Membri ereditati

Campi

DesiredFocusMode

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

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

public AREngineCameraDeviceFocusMode DesiredFocusMode

Proprietà

Camera

Fornito solo quando si crea una nuova sorgente frame. Verrà accessibile solo durante il processo di Assemble().

Su dispositivi desktop o mobili, questa fotocamera rappresenta il Camera corrispondente nel mondo virtuale per il dispositivo fotocamera nell'ambiente reale. La sua matrice di proiezione e posizione corrisponderanno alla fotocamera reale e saranno controllate da EasyAR. Su un HMD, questa fotocamera viene utilizzata solo per visualizzare testo diagnostico davanti agli occhi, non per il rendering della scena, e non è controllata da EasyAR.

protected override Camera Camera { get; }

CameraCandidate

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

public Camera CameraCandidate { get; set; }

CameraFrameStarted

Fornito solo quando si crea una nuova sorgente frame. Sarà accessibile per l'intero ciclo di vita di ARSession.

Se l'input del frame della fotocamera è iniziato.

protected override bool CameraFrameStarted { get; }

DeviceCameras

Fornito solo quando si crea una nuova sorgente frame. Sarà accessibile solo quando CameraFrameStarted è true.

Fornisce la fotocamera del dispositivo che fornisce i dati del frame della fotocamera. Se i dati del frame 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 quando si crea 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 fotogrammi. Disponibile solo quando Opened è true.

public Vector2 FrameRateRange { get; }

IsAvailable

Fornito solo quando si crea una nuova sorgente frame. Verrà accessibile solo durante il processo di Assemble().

Se la sorgente frame corrente è disponibile.

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

protected override Optional<bool> IsAvailable { get; }

IsCameraUnderControl

Fornito solo quando si crea una nuova sorgente frame. Verrà accessibile solo durante il processo di Assemble().

Quando è true, la sessione aggiornerà la trasform 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 quando si crea una nuova sorgente frame. Verrà accessibile solo durante il processo di Assemble().

Se la sorgente frame corrente è un dispositivo montato sulla testa. Se è un HMD, le informazioni diagnostiche verranno visualizzate su un pannello 3D davanti alla fotocamera.

Alcuni frame filter possono comportarsi diversamente sui dispositivi.

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 Optional<Vector2Int> Size { get; }

Metodi

Close()

Chiude il dispositivo.

public void Close()

OnSessionStart(ARSession)

Fornito solo quando si crea 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 quando si crea una nuova sorgente frame. Verrà 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 ripristinare lo stato interno. Questo metodo verrà chiamato con certezza prima della distruzione della sessione. Se la sorgente 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 si chiamano manualmente Open() e Close(), ARSession aprirà automaticamente 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