Table of Contents

Class ThreeDofCameraDeviceFrameSource

Spazio dei nomi
easyar
Assembly
EasyAR.Sense.dll

Componente MonoBehaviour per controllare un dispositivo fotocamera 3DOF (ThreeDofCameraDeviceFrameSource) nella scena, fornendo estensioni di funzionalità nell'ambiente Unity.

Questa sorgente di frame è un dispositivo di tracciamento della rotazione 3DOF che emette dati di rotazione in un ARSession.

public class ThreeDofCameraDeviceFrameSource : FrameSource
Ereditarietà
ThreeDofCameraDeviceFrameSource
Membri ereditati

Campi

DesiredFocusMode

La modalità di messa a fuoco desiderata. Le modifiche avranno effetto solo 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 avere effetto su alcuni dispositivi.

public ThreeDofCameraDeviceFocusMode DesiredFocusMode

Proprietà

Camera

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

Su dispositivi desktop o mobili, questa fotocamera rappresenta la Camera corrispondente nel mondo virtuale al dispositivo fotocamera nel mondo reale; la sua matrice di proiezione e posizione corrisponderanno alla fotocamera reale e saranno controllate da EasyAR. Su un visore, 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 viene utilizzata un'origine Unity XR. Se non impostato, verrà utilizzato Camera.main.

public Camera CameraCandidate { get; set; }

CameraFrameStarted

Fornito solo durante la creazione di una nuova sorgente di frame. Verrà accessibile durante tutto il ciclo di vita di un ARSession.

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

protected override bool CameraFrameStarted { get; }

DesiredSize

Dimensione desiderata dell'immagine della fotocamera. Le modifiche avranno effetto solo prima dell'evento DeviceOpened.

Utilizzerà la dimensione più vicina tra i valori in SupportedSize. Se non impostato, verrà usato il valore predefinito.

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

DeviceCameras

Fornito solo durante la creazione di una nuova sorgente di frame. Verrà accessibile quando CameraFrameStarted è true.

Fornisce la fotocamera del dispositivo che fornisce i dati del frame fotocamera. Se i dati del frame fotocamera provengono da più fotocamere, l'elenco deve contenerle 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. Verrà accessibile solo durante Assemble().

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

protected override IDisplay Display { get; }

FrameRateRange

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

public Vector2 FrameRateRange { get; }

IsAvailable

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

Indica se la sorgente di frame corrente è disponibile.

Se il valore è null, verrà chiamato CheckAvailability() e il valore sarà ottenuto dopo che la Coroutine sarà terminata.

protected override Optional<bool> IsAvailable { get; }

IsCameraUnderControl

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

Quando è true, la sessione aggiornerà la transform della fotocamera e renderizzerà l'immagine della fotocamera.

Quando si crea un'estensione per visore, 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 durante la creazione di una nuova sorgente di frame. Verrà accessibile solo durante Assemble().

Indica se questa sorgente di frame è un visore. Se è un visore, le informazioni di diagnostica verranno visualizzate su un pannello 3D davanti alla fotocamera.

Alcuni frame filter potrebbero comportarsi diversamente sui visori.

protected override bool IsHMD { get; }

Opened

Indica se la fotocamera è aperta.

public bool Opened { get; }

Size

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

Il set utilizzerà la dimensione più vicina tra i valori in SupportedSize.

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

public Vector2Int Size { get; set; }

SupportedSize

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

public List<Vector2Int> SupportedSize { get; }

enabled

Inizia/Interrompe la cattura del flusso video durante l'esecuzione di un ARSession. Dopo l'avvio della sessione, la cattura inizierà solo quando 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. Verrà accessibile solo durante 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 operazioni 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. 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 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 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 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 bool indica se ha avuto successo.

public event Action<bool, PermissionStatus, string> DeviceOpened