Table of Contents

Class CameraDeviceFrameSource

Spazio dei nomi
easyar
Assembly
EasyAR.Sense.dll

Controllaeasyar.CameraDevicein scena, estendendo le funzionalità in ambiente Unity.

Questa sorgente frame non è un dispositivo di tracciamento del movimento e non fornirà dati di movimento inARSession.

[RequireComponent(typeof(CameraDeviceDisplay))]
public class CameraDeviceFrameSource : FrameSource
Ereditarietà
CameraDeviceFrameSource
Derived
Membri ereditati

Campi

CameraOpenIndex

Indice del dispositivo utilizzato all'apertura della fotocamera, utilizzato quandoCameraOpenMethod==DeviceIndex, efficace solo se modificato prima dell'eventoDeviceOpened.

[HideInInspector]
[SerializeField]
public int CameraOpenIndex

CameraOpenMethod

Metodo utilizzato per aprire la fotocamera, efficace solo se modificato prima dell'eventoDeviceOpened.

[HideInInspector]
[SerializeField]
public CameraDeviceFrameSource.CameraDeviceOpenMethod CameraOpenMethod

CameraOpenType

Tipo di fotocamera utilizzato all'apertura, utilizzato quandoCameraOpenMethod==PreferredTypeoppureSpecificType, efficace solo se modificato prima dell'eventoDeviceOpened.

[HideInInspector]
[SerializeField]
public CameraDeviceType CameraOpenType

Proprietà

AndroidCameraApiType

Su Android, utile per identificare l'API fotocamera utilizzata (camera1 o camera2). Disponibile solo quandoOpenedè true.

public AndroidCameraApiType AndroidCameraApiType { get; }

AvailableCenterMode

Fornito solo quando viene creato un nuovo frame source. Verrà accesso solo durante il processo di Assemble().

Tutte le modalità di centro utilizzabili.

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

Camera

Fornito solo durante la creazione di un nuovo frame source. Accessibile solo durante Assemble().

Su dispositivi desktop o mobili, questa camera rappresenta il Camera corrispondente nel mondo virtuale al dispositivo camera dell'ambiente reale; la sua matrice di proiezione e posizione corrisponderanno alla camera reale, controllata da EasyAR. Su un dispositivo head-mounted, questa camera viene utilizzata solo per visualizzare informazioni diagnostiche davanti agli occhi, non per il rendering della scena, e la camera non è controllata da EasyAR.

protected override Camera Camera { get; }

CameraCandidate

Alternativa a Camera; se non impostato, verrà utilizzato Camera.main.

public Camera CameraCandidate { get; set; }

CameraCount

Ottieni il numero di fotocamere rilevate dal sistema operativo.

public static int CameraCount { get; }

CameraFrameStarted

Fornito solo quando viene creato un nuovo frame source. Sarà accessibile durante l'intero ciclo di vita di ARSession.

Se il frame della fotocamera ha iniziato l'input.

protected override bool CameraFrameStarted { get; }

CameraType

Tipo di fotocamera. Disponibile solo quandoOpenedè true.

public CameraDeviceType CameraType { get; }

DesiredAndroidCameraApiType

API Android Camera desiderata, efficace solo se modificata prima dell'evento DeviceOpened.

Se non impostato, verrà selezionato in base a DesiredCameraPreference.

public Optional<AndroidCameraApiType> DesiredAndroidCameraApiType { get; set; }

DesiredCameraPreference

Preferenze utilizzate durante la creazione del dispositivo camera, efficaci solo se modificate prima dell'avvio della sessione.

public Optional<CameraDevicePreference> DesiredCameraPreference { get; set; }

DesiredFocusMode

Modalità di messa a fuoco desiderata, efficace solo se modificata prima dell'evento DeviceOpened.

Nota: a causa di limitazioni hardware o di sistema, l'attivazione/disattivazione della messa a fuoco potrebbe non funzionare su alcuni dispositivi. Se non impostato, verrà selezionato in base a DesiredCameraPreference.

public Optional<CameraDeviceFocusMode> DesiredFocusMode { get; set; }

DesiredSize

Dimensione immagine della camera desiderata, efficace solo se modificata 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 quando viene creato un nuovo frame source. Sarà accessibile 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 includere tutte le fotocamere.

Assicurati che il valore sia corretto quando CameraFrameStarted è true.

protected override List<FrameSourceCamera> DeviceCameras { get; }

Display

Fornito solo quando viene creato un nuovo frame source. Verrà accesso 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; }

FocusMode

Modalità di messa a fuoco. Disponibile solo quando Opened è true.

public CameraDeviceFocusMode FocusMode { set; }

FrameRateRange

Intervallo di frame-rate. Disponibile solo quando Opened è true.

public Vector2 FrameRateRange { get; }

FrameRateRangeIndex

Indice dell'intervallo di frame-rate corrente del dispositivo. Disponibile solo quando Opened è true.

public int FrameRateRangeIndex { get; set; }

Index

Indice della fotocamera. Disponibile solo quandoOpenedè true.

public int Index { get; }

IsAvailable

Fornito solo quando viene creato un nuovo frame source. Verrà accesso solo durante il processo di Assemble().

Se il frame source corrente è disponibile.

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

protected override Optional<bool> IsAvailable { get; }

IsCameraUnderControl

Fornito solo quando viene creato un nuovo frame source. Verrà accesso solo durante il processo di Assemble().

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

Durante la creazione di un'estensione per headset, dovrebbe essere false. Dovresti avere il controllo completo sulla 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 un nuovo frame source. Accessibile solo durante Assemble().

Se il frame source corrente è un dispositivo head-mounted. Se è un dispositivo head-mounted, le informazioni di diagnostica verranno visualizzate su un pannello 3D davanti alla camera.

Alcuni frame filter funzionano diversamente su dispositivo.

protected override bool IsHMD { get; }

Opened

Indica se la fotocamera è aperta.

public bool Opened { get; }

Parameters

Parametri della camera. Disponibile solo quando Opened è true.

public CameraParameters Parameters { get; set; }

Size

Dimensione immagine corrente. Disponibile solo quando Opened è true.

set 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; }

SupportedFrameRateRange

Tutti gli intervalli di frame-rate supportati dal dispositivo corrente. Disponibile solo quando Opened è true.

public List<Vector2> SupportedFrameRateRange { get; }

SupportedSize

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

public List<Vector2Int> SupportedSize { get; }

Metodi

AutoFocus()

Does auto focus once. It is only available when FocusMode is Normal or Macro.

public bool AutoFocus()

Close()

Chiudi il dispositivo.

public void Close()

OnSessionStart(ARSession)

Fornito solo quando viene creato un nuovo frame source. Verrà accesso solo durante il processo di StartSession().

Gestisce l'avvio della sessione, se questo frame source è già stato assemblato 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 quando viene creato un nuovo frame source. Sarà accessibile durante StopSession(bool) o altri processi di arresto/danneggiamento della sessione.

Gestisce l'arresto della sessione, se questo frame source è già stato assemblato in Assembly. Puoi utilizzare questo metodo per distruggere le risorse create durante StartSession() e il funzionamento della sessione e ripristinare lo stato interno. Questo metodo verrà chiamato con certezza prima della distruzione della sessione. Se il frame source viene distrutto prima della sessione, non verrà chiamato e la sessione verrà danneggiata.

protected override void OnSessionStop()

Open()

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

Utilizzabile solo dopo l'avvio della sessione.

public void Open()

SetFlashTorch(bool)

Imposta la modalità torcia flash. Disponibile solo quando Opened è true.

public bool SetFlashTorch(bool on)

Parametri

on

Eventi

DeviceClosed

Evento di chiusura dispositivo.

public event Action DeviceClosed

DeviceOpened

Evento di apertura dispositivo, il valore bool indica l'esito.

public event Action<bool, PermissionStatus, string> DeviceOpened

DeviceStateChanged

Evento di indisponibilità (es. disconnessione o prelazione, solo Windows).

public event Action<CameraState> DeviceStateChanged