Class ThreeDofCameraDeviceFrameSource
- Spazio dei nomi
- easyar
- Assembly
- EasyAR.Sense.dll
Componente MonoBehaviour per controllare un dispositivo fotocamera 3DOF (ThreeDofCameraDeviceFrameSource) nella scena, fornendo estensioni funzionali nell'ambiente Unity.
Questa sorgente di frame è un dispositivo di tracciamento rotazionale 3DOF che emette dati di rotazione all'interno di una ARSession.
public class ThreeDofCameraDeviceFrameSource : FrameSource
- Ereditarietà
-
ThreeDofCameraDeviceFrameSource
- 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 ThreeDofCameraDeviceFocusMode DesiredFocusMode
Proprietà
Camera
Fornito solo alla creazione di una nuova sorgente di frame. Accessibile unicamente durante la procedura Assemble().
Su dispositivi desktop o cellulari, questa fotocamera rappresenta la Camera corrispondente nel mondo virtuale al dispositivo fotocamera reale; la sua matrice di proiezione e la posizione corrisponderanno alla fotocamera reale e sono controllate da EasyAR. Su un visore VR, questa fotocamera viene utilizzata solo per visualizzare del testo diagnostico davanti agli occhi, non per il rendering della scena; la fotocamera non è controllata da EasyAR.
protected override Camera Camera { get; }
CameraCandidate
Alternativa alla Camera, valida solo se non viene utilizzata Unity XR Origin. Se non impostata, viene utilizzato Camera.main.
public Camera CameraCandidate { get; set; }
CameraFrameStarted
Fornito solo alla creazione di una nuova sorgente di frame. Accessibile durante l'intero ciclo di vita della ARSession.
Indica se l'input del frame della fotocamera è iniziato.
protected override bool CameraFrameStarted { get; }
DesiredSize
Dimensione desiderata per l'immagine della fotocamera. Le modifiche sono efficaci solo se effettuate prima dell'evento DeviceOpened.
Utilizza la dimensione più vicina tra i valori in SupportedSize. Se non impostata, viene utilizzato il valore predefinito.
public Optional<Vector2Int> DesiredSize { get; set; }
DeviceCameras
Fornito solo alla creazione di una nuova sorgente di frame. Accessibile solo quando CameraFrameStarted è true.
Fornisce la fotocamera del dispositivo che fornisce i dati del frame. 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 alla creazione di una nuova sorgente di frame. Accessibile unicamente durante la procedura Assemble().
Fornisce le informazioni sul sistema di visualizzazione. È possibile utilizzare DefaultSystemDisplay o DefaultHMDDisplay per ottenere le informazioni di visualizzazione predefinite.
protected override IDisplay Display { get; }
FrameRateRange
Intervallo di frame rate. Disponibile solo quando Opened è true.
public Vector2 FrameRateRange { get; }
IsAvailable
Fornito solo alla creazione di una nuova sorgente di frame. Accessibile unicamente durante la procedura Assemble().
Indica se la sorgente di frame corrente è disponibile.
Se il valore è null, verrà chiamato CheckAvailability() e il valore verrà ottenuto al termine della Coroutine.
protected override Optional<bool> IsAvailable { get; }
IsCameraUnderControl
Fornito solo alla creazione di una nuova sorgente di frame. Accessibile unicamente durante la procedura Assemble().
Quando è true, la sessione aggiorna il transform della fotocamera ed esegue il rendering dell'immagine della fotocamera.
Quando si crea un'estensione per visore VR, 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 alla creazione di una nuova sorgente di frame. Accessibile unicamente durante la procedura Assemble().
Indica se la sorgente di frame corrente è un visore VR. Se è un visore VR, 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
Indica se la fotocamera è aperta.
public bool Opened { get; }
Size
Dimensione corrente dell'immagine. Disponibile solo quando Opened è true.
Impostandola, si utilizza la dimensione più vicina tra i valori in SupportedSize.
Se la dimensione dell'immagine viene modificata durante una registrazione FrameRecorder, i dati di registrazione smetteranno di aggiornarsi; è necessario chiuderla e riavviare la registrazione.
public Vector2Int Size { get; set; }
SupportedSize
Tutte le dimensioni immagine supportate dal dispositivo corrente. Disponibile solo quando Opened è true.
public List<Vector2Int> SupportedSize { get; }
Metodi
Close()
Chiude il dispositivo.
public void Close()
OnSessionStart(ARSession)
Fornito solo alla creazione di una nuova sorgente di frame. Accessibile unicamente durante la procedura 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 AR.
protected override void OnSessionStart(ARSession session)
Parametri
session
OnSessionStop()
Fornito solo alla 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 ripristinare lo stato interno. Questo metodo è garantito essere 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, l'avvio di ARSession aprirà automaticamente (Open()) il dispositivo.
public void Open()
Eventi
DeviceClosed
Evento di chiusura del dispositivo.
public event Action DeviceClosed
DeviceOpened
Evento di apertura del dispositivo. Il valore bool indica l'esito positivo o negativo.
public event Action<bool, PermissionStatus, string> DeviceOpened