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 alla creazione di una nuova sorgente frame. Accessibile solo duranteAssemble().
Tutte le modalità di centro utilizzabili.
protected override IReadOnlyList<ARSession.ARCenterMode> AvailableCenterMode { get; }
Camera
Fornito solo alla creazione di una nuova sorgente frame. Accessibile solo duranteAssemble().
Su dispositivi desktop o mobili, questa fotocamera rappresenta la controparteCamera nel mondo virtuale del dispositivo fotocamera reale nell'ambiente fisico. La sua matrice di proiezione e posizione corrisponderanno alla fotocamera reale, controllata da EasyAR. Su un visore, questa fotocamera serve solo per visualizzare testo diagnostico davanti agli occhi, non per il rendering della scena; la fotocamera 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 alla creazione di una nuova sorgente frame. Accessibile per l'intero ciclo di vita diARSession.
Se i frame della fotocamera hanno iniziato ad essere inseriti.
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 alla creazione di una nuova sorgente frame. Accessibile solo quandoCameraFrameStarted è true.
Fornisce la fotocamera del dispositivo che fornisce i dati del frame fotocamera. Se i dati del frame fotocamera sono forniti da più fotocamere, l'elenco deve includerle tutte.
Assicurarsi che il valore sia corretto quandoCameraFrameStarted è true.
protected override List<FrameSourceCamera> DeviceCameras { get; }
Display
Fornito solo alla creazione di una nuova sorgente frame. Accessibile solo duranteAssemble().
Fornisce le informazioni sul sistema di visualizzazione. Puoi usareDefaultSystemDisplay oDefaultHMDDisplay 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 alla creazione di una nuova sorgente frame. Accessibile solo duranteAssemble().
Se la sorgente frame corrente è disponibile.
Se il valore è null,CheckAvailability() verrà chiamato e il valore verrà ottenuto dopo il completamento diCoroutine.
protected override Optional<bool> IsAvailable { get; }
IsCameraUnderControl
Fornito solo alla creazione di una nuova sorgente frame. Accessibile solo duranteAssemble().
Quando è true, la sessione aggiorna il transform della fotocamera e renderizza l'immagine della fotocamera.
Durante la creazione di un'estensione per visore, dovrebbe essere false. Dovresti controllare completamente la 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. Accessibile solo duranteAssemble().
Se la sorgente frame corrente è un visore. Se è un visore, le informazioni di diagnostica verranno visualizzate su un pannello 3D davanti alla fotocamera.
Alcuni filtri frame funzionano diversamente sui dispositivi.
protected override bool IsHMD { get; }
Opened
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; }
enabled
Inizia/Interrompe la raccolta del flusso video durante l'esecuzione diARSession. Dopo l'avvio della sessione, la raccolta inizia solo quandoMonoBehaviour.enabled è true.
public bool enabled { get; set; }
Metodi
AutoFocus()
Does auto focus once. It is only available when FocusMode is Normal or Macro.
public bool AutoFocus()
Close()
Chiude il dispositivo.
public void Close()
OnSessionStart(ARSession)
Fornito solo alla creazione di una nuova sorgente frame. Accessibile solo duranteStartSession().
Gestisce l'avvio della sessione, se questa sorgente frame è stata assemblata inAssembly. 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 alla creazione di una nuova sorgente frame. Accessibile duranteStopSession(bool) o altri processi di arresto/danneggiamento della sessione.
Gestisce l'arresto della sessione, se questa sorgente frame è stata assemblata inAssembly. Puoi usare questo metodo per distruggere le risorse create duranteStartSession() e il funzionamento della sessione, e ripristinare lo stato interno. Sarà chiamato prima della distruzione della sessione. Se la sorgente frame viene distrutta prima della sessione, non verrà chiamato e la sessione sarà danneggiata.
protected override void OnSessionStop()
Open()
Apri il dispositivo. Se Open() e Close() non vengono chiamati manualmente, ARSession eseguirà automaticamente Open() dopo l'avvio.
Può essere utilizzato solo dopo che la sessione è stata avviata.
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 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
DeviceStateChanged
Evento di indisponibilità (es. disconnessione o prelazione, solo Windows).
public event Action<CameraState> DeviceStateChanged