Class MotionTrackerFrameSource
- Spazio dei nomi
- easyar
- Assembly
- EasyAR.Sense.dll
Controllaeasyar.MotionTrackerCameraDevice nella scena, fornendo estensioni funzionali in ambiente Unity.
Questa frame-source è un dispositivo di tracciamento del movimento che emette dati di movimento inARSession.
public class MotionTrackerFrameSource : FrameSource
- Ereditarietà
-
MotionTrackerFrameSource
- Membri ereditati
Proprietà
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 aCamera, valida solo quando non si utilizza Unity XR Origin. Se non impostata, verrà utilizzato Camera.main.
public Camera CameraCandidate { get; set; }
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; }
DesiredFocusMode
Modalità di messa a fuoco desiderata. Le modifiche sono efficaci solo prima dell'eventoDeviceOpened 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 Optional<MotionTrackerCameraDeviceFocusMode> DesiredFocusMode { get; set; }
DesiredFrameRate
Frame rate del dispositivo desiderato. Le modifiche sono efficaci solo prima dell'eventoDeviceOpened o di OnEnable.
public Optional<MotionTrackerCameraDeviceFPS> DesiredFrameRate { get; set; }
DesiredMinQualityLevel
Livello minimo di qualità consentito desiderato. Le modifiche sono efficaci solo prima diAssemble().
public Optional<MotionTrackerCameraDeviceQualityLevel> DesiredMinQualityLevel { get; set; }
DesiredResolution
Risoluzione desiderata. Le modifiche sono efficaci solo prima dell'eventoDeviceOpened o di OnEnable.
Se le dimensioni dell'immagine vengono modificate durante la registrazione diFrameRecorder, i dati di registrazione smetteranno di aggiornarsi ed è necessario chiuderla e riavviare la registrazione.
public Optional<MotionTrackerCameraDeviceResolution> DesiredResolution { get; set; }
DesiredTrackingMode
Modalità di tracciamento desiderata. Le modifiche sono efficaci solo prima dell'avvio della sessione.
public Optional<MotionTrackerCameraDeviceTrackingMode> DesiredTrackingMode { 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; }
DeviceQualityLevel
Ottieni la qualità del Motion Tracking sul dispositivo. In base allo scenario applicativo, puoi utilizzare questo valore per determinare se avviare il Motion Tracking.
public static MotionTrackerCameraDeviceQualityLevel DeviceQualityLevel { 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; }
FrameRateRange
Intervallo di frame rate. Disponibile solo quandoOpened è true.
public Vector2 FrameRateRange { 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; }
LocalPointCloud
Informazioni sulla posizione dei dati attuali della nuvola di punti. Disponibile solo quandoOpened è true.
public List<Vector3> LocalPointCloud { get; }
Opened
Se la fotocamera è aperta.
public bool Opened { get; }
Size
Dimensioni attuali dell'immagine. Disponibile solo quando siaOpened cheMonoBehaviour.enabled sono true.
public Vector2Int Size { 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
Close()
Chiude il dispositivo.
public void Close()
HitTestAgainstHorizontalPlane(Vector2)
Esegui un Hit Test sui piani orizzontali rilevati in tempo reale nel campo visivo corrente. Dopo aver toccato un piano orizzontale, restituisce le coordinate di posizione del punto 3D più vicino al raggio dell'Hit Test su quel piano.pointInView deve essere normalizzato a [0, 1]^2.
public List<Vector3> HitTestAgainstHorizontalPlane(Vector2 pointInView)
Parametri
pointInView
HitTestAgainstPointCloud(Vector2)
Esegui un Hit Test nella nuvola di punti corrente, ottenendo le coordinate di posizione del punto 3D più vicino su un raggio dalla fotocamera dal più vicino al più lontano.pointInView deve essere normalizzato a [0, 1]^2.
public List<Vector3> HitTestAgainstPointCloud(Vector2 pointInView)
Parametri
pointInView
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. SeOpen() eClose() non vengono chiamati manualmente,ARSession li 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