Class FramePlayer
- Spazio dei nomi
- easyar
- Assembly
- EasyAR.Sense.dll
Un MonoBehaviour che controlla easyar.InputFramePlayer e easyar.VideoInputFramePlayer nella scena, fornendo estensioni funzionali nell'ambiente Unity.
Verrà utilizzato quando FrameSource è FramePlayer o quando 'Frame Player' è selezionato nello strumento 'Session Validation Tool' dell'ispettore di DiagnosticsController nell'editor.
public class FramePlayer : FrameSource
- Ereditarietà
-
FramePlayer
- Membri ereditati
Campi
FilePath
Percorso del file. Può essere impostato prima di Play().
public string FilePath
FilePathType
Tipo di percorso. Può essere impostato prima di Play().
public WritablePathType FilePathType
Proprietà
AvailableCenterMode
Fornito solo quando si crea una nuova sorgente di frame. Verrà accessibile solo durante il processo di Assemble().
Tutte le modalità di centro utilizzabili.
protected override IReadOnlyList<ARSession.ARCenterMode> AvailableCenterMode { get; }
Camera
Fornito solo quando si crea una nuova sorgente di frame. Verrà accessibile solo durante il processo di Assemble().
Su dispositivi desktop o mobili, questa telecamera rappresenta il Camera corrispondente nel mondo virtuale al dispositivo fotocamera nell'ambiente reale. La sua matrice di proiezione e la posizione corrisponderanno alla fotocamera reale e saranno controllate da EasyAR. Su un visore, questa telecamera viene utilizzata solo per visualizzare del testo diagnostico davanti agli occhi, non per il rendering della scena, e la telecamera non è controllata da EasyAR.
protected override Camera Camera { get; }
CameraCandidate
Alternativa a Camera, valida solo quando Unity XR Origin non è utilizzato. Se non impostato, verrà utilizzato Camera.main.
public Camera CameraCandidate { get; set; }
CameraFrameStarted
Fornito solo quando si crea una nuova sorgente di frame. Sarà accessibile per l'intero ciclo di vita di ARSession.
Se l'input del frame della telecamera è iniziato.
protected override bool CameraFrameStarted { get; }
DeviceCameras
Fornito solo quando si crea una nuova sorgente di frame. Sarà accessibile quando CameraFrameStarted è true.
Fornisce la fotocamera del dispositivo che fornisce i dati dei frame della telecamera. Se i dati del frame della telecamera sono forniti 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 quando si crea una nuova sorgente di frame. Verrà accessibile 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; }
IsAvailable
Fornito solo quando si crea una nuova sorgente di frame. Verrà accessibile solo durante il processo di Assemble().
Se la sorgente di frame corrente è disponibile.
Se il valore è null, verrà chiamato CheckAvailability() e il valore verrà ottenuto dopo la fine della Coroutine.
protected override Optional<bool> IsAvailable { get; }
IsCameraUnderControl
Fornito solo quando si crea una nuova sorgente di frame. Verrà accessibile solo durante il processo di Assemble().
Quando è true, la sessione aggiornerà il transform della telecamera e renderizzerà l'immagine della telecamera.
Quando si crea un'estensione per visori, dovrebbe essere false. Dovresti avere il controllo completo sulla telecamera 3D nella scena. Dovresti gestire il rendering della telecamera, specialmente in modalità VST.
protected override bool IsCameraUnderControl { get; }
IsCompleted
Se la riproduzione è completata.
public bool IsCompleted { get; }
IsHMD
Fornito solo quando si crea una nuova sorgente di frame. Verrà accessibile solo durante il processo di Assemble().
Se la sorgente di frame corrente è un visore (head-mounted). Se è un visore, le informazioni di diagnostica verranno visualizzate su un pannello 3D davanti alla telecamera.
Alcuni frame filter possono comportarsi diversamente quando eseguiti sul dispositivo.
protected override bool IsHMD { get; }
IsSeekable
Se è possibile cercare il momento corrente di riproduzione. Un'interruzione anomala durante la registrazione può causare la mancanza di dati di indice, rendendo impossibile impostare il tempo di riproduzione corrente.
public bool IsSeekable { get; }
IsSpeedChangeable
Se la velocità di riproduzione è modificabile.
public bool IsSpeedChangeable { get; }
IsStarted
Se la riproduzione è avviata.
public bool IsStarted { get; }
Length
Tempo totale di riproduzione previsto. Unità: secondi.
public Optional<double> Length { get; }
Speed
Velocità di riproduzione corrente.
public double Speed { get; set; }
Time
Tempo già riprodotto.
public double Time { get; }
enabled
Riproduce/Mette in pausa il file eif durante l'esecuzione di ARSession. La riproduzione inizierà solo dopo l'avvio della sessione e quando MonoBehaviour.enabled è true.
public bool enabled { get; set; }
Metodi
OnSessionStart(ARSession)
Fornito solo quando si crea una nuova sorgente di frame. Verrà accessibile solo durante il processo di StartSession().
Gestisce l'avvio della sessione, se questa sorgente di frame è stata assemblata in Assembly. Questo metodo è progettato per l'inizializzazione ritardata; puoi eseguire qui il lavoro di inizializzazione specifico per AR.
protected override void OnSessionStart(ARSession session)
Parametri
session
OnSessionStop()
Fornito solo quando si crea una nuova sorgente di frame. Sarà 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 verrà chiamato con certezza prima della distruzione della sessione. Se la sorgente di frame viene distrutta prima della sessione, non verrà chiamato e la sessione risulterà danneggiata.
protected override void OnSessionStop()
Play()
Riproduce un file eif. Se Play() e Stop() non vengono chiamati manualmente, ARSession avvierà automaticamente Play() dopo l'avvio.
Utilizzabile solo dopo l'avvio della sessione.
public bool Play()
Seek(double)
Imposta il momento corrente di riproduzione. Unità: secondi. Restituisce false se mancano i dati di indice.
public bool Seek(double time)
Parametri
time
Stop()
Interrompe la riproduzione del file eif.
public void Stop()