Class ARCoreFrameSource
- Spazio dei nomi
- easyar
- Assembly
- EasyAR.Sense.dll
Componente MonoBehaviour per controllare il dispositivo fotocamera ARCore (easyar.ARCoreCameraDevice) nella scena, fornendo estensioni funzionali in Unity.
Questa sorgente di frame è un dispositivo di tracciamento del movimento che emette dati di movimento in ARSession.
public class ARCoreFrameSource : FrameSource
- Ereditarietà
-
ARCoreFrameSource
- Membri ereditati
Campi
DesiredFocusMode
Modalità di messa a fuoco desiderata. Le modifiche avranno effetto solo se apportate prima dell'evento DeviceOpened o prima 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 ARCoreCameraDeviceFocusMode DesiredFocusMode
Proprietà
Camera
Fornito solo durante la creazione di una nuova sorgente di frame. Accessibile solo durante il processo di Assemble().
Su dispositivi desktop o mobili, questa fotocamera rappresenta la Camera corrispondente nel mondo virtuale al dispositivo fotocamera reale. La sua matrice di proiezione e posizione corrisponderanno alla fotocamera reale e saranno controllate da EasyAR. Su un visore, questa fotocamera è utilizzata solo per visualizzare testo diagnostico davanti agli occhi, non per il rendering della scena principale, e non è controllata da EasyAR.
protected override Camera Camera { get; }
CameraCandidate
Alternativa a Camera, valida solo quando non si utilizza Unity XR Origin. Se non impostata, verrà utilizzato Camera.main.
public Camera CameraCandidate { get; set; }
CameraFrameStarted
Fornito solo durante la creazione di una nuova sorgente di frame. Accessibile per l'intero ciclo di vita di ARSession.
Se l'input del frame della fotocamera è iniziato.
protected override bool CameraFrameStarted { get; }
DeviceCameras
Fornito solo durante la creazione di una nuova sorgente di frame. Accessibile solo quando CameraFrameStarted è true.
Fornisce la fotocamera del dispositivo che fornisce i dati del frame fotocamera. 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 durante la creazione di una nuova sorgente di frame. Accessibile solo durante il processo di Assemble().
Fornisce le informazioni sul sistema di visualizzazione. Puoi usare 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 durante la creazione di una nuova sorgente di frame. Accessibile solo durante il processo di Assemble().
Se questa sorgente di frame è disponibile.
Se il valore è null, verrà chiamato CheckAvailability() e il valore verrà ottenuto dopo il completamento della Coroutine.
protected override Optional<bool> IsAvailable { get; }
IsCameraUnderControl
Fornito solo durante la creazione di una nuova sorgente di frame. Accessibile solo durante il processo di Assemble().
Quando è true, la sessione aggiornerà il transform della fotocamera e renderizzerà l'immagine della fotocamera.
Quando si crea un'estensione per visore, dovrebbe essere false. Dovresti avere il controllo completo della fotocamera 3D nella scena. Dovresti gestire il rendering della fotocamera, specialmente in modalità VST (Video See-Through).
protected override bool IsCameraUnderControl { get; }
IsHMD
Fornito solo durante la creazione di una nuova sorgente di frame. Accessibile solo durante il processo di Assemble().
Se questa sorgente di frame è per un visore (head-mounted). Se è un visore, le informazioni diagnostiche verranno visualizzate su un pannello 3D davanti alla fotocamera.
Alcuni frame filter possono comportarsi diversamente quando eseguiti su un visore.
protected override bool IsHMD { get; }
Opened
Se la fotocamera è aperta.
public bool Opened { get; }
Size
Dimensione corrente dell'immagine. Disponibile solo quando Opened è true.
public Vector2Int Size { get; }
Metodi
Close()
Chiude il dispositivo.
public void Close()
OnSessionStart(ARSession)
Fornito solo durante la creazione di una nuova sorgente di frame. 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 differita. Qui puoi eseguire lavori di inizializzazione specifici per AR.
protected override void OnSessionStart(ARSession session)
Parametri
session
OnSessionStop()
Fornito solo durante la 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 usare questo metodo per distruggere le risorse create in StartSession() e durante l'esecuzione della sessione, e ripristinare lo stato interno. Questo metodo sarà 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, ARSession aprirà automaticamente all'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