Class ExternalDeviceMotionFrameSource
- Espace de noms
- easyar
- Assembly
- EasyAR.Sense.dll
Représente une source de trames pour un périphérique externe doté de capacités de suivi de mouvement. Fait généralement référence à des casques, où le rendu de la caméra et le suivi de l'appareil sont tous deux gérés par le SDK de l'appareil.
Cette source de trames est un appareil de suivi de mouvement qui produit des données de mouvement dans une ARSession.
Vous pouvez l'étendre pour implémenter des entrées d'appareil comme des casques, mais vous devez implémenter vous-même la fonctionnalité de suivi de mouvement. Le suivi de mouvement d'EasyAR ne peut pas être utilisé directement sur des périphériques externes. Vous devez acquérir vous-même les images et les données de pose depuis le matériel ou d'autres sources, et les fournir à EasyAR. EasyAR ne fournit pas la capacité d'acquisition de ces données, mais offre la possibilité d'exécuter ses fonctionnalités une fois ces données injectées.
Lors de l'utilisation de produits d'essai (licence personnelle, licence XR d'essai, service Mega d'essai, etc.) avec une caméra personnalisée ou un casque, EasyAR Sense cessera de répondre après une durée fixe et limitée à chaque démarrage.
public abstract class ExternalDeviceMotionFrameSource : ExternalDeviceFrameSource
- Héritage
-
ExternalDeviceMotionFrameSource
- Dérivé
- Membres hérités
Méthodes
HandleCameraFrameData(DeviceFrameSourceCamera, double, Image, CameraParameters, Pose, MotionTrackingStatus)
Entrée des données d'image de la caméra.
Il est conseillé de fournir des données à 30 ou 60 ips. Taux de rafraîchissement minimal accepté = 2, mais les temps de réponse de certains algorithmes seront affectés. Il peut être appelé sur n'importe quel thread tant que vos API sont thread-safe. Ces données doivent correspondre à celles du capteur de la caméra lors de son exposition. Lorsque possible, il est recommandé de fournir des données en couleur à EasyAR Sense, ce qui améliore les performances d'EasyAR Mega. Pour une efficacité optimale, vous pouvez concevoir votre chaîne de traitement pour transmettre directement les données YUV brutes via une mémoire partagée et les transmettre à EasyAR Sense via un pointeur de données. Veuillez noter la propriété des données.
protected bool HandleCameraFrameData(DeviceFrameSourceCamera deviceCamera, double timestamp, Image image, CameraParameters cameraParameters, Pose deviceToOriginTransform, MotionTrackingStatus trackingStatus)
Paramètres
deviceCameratimestampimagecameraParametersdeviceToOriginTransformtrackingStatus
HandleRenderFrameData(double, Pose, MotionTrackingStatus)
Entrée des données de trame de rendu.
Assurez-vous d'appeler cette fonction à chaque trame après la préparation des données de l'appareil, sans sauter d'images. Ces données doivent être cohérentes avec celles utilisées pour piloter la caméra Unity actuelle pendant la même trame.
protected bool HandleRenderFrameData(double timestamp, Pose pose, MotionTrackingStatus trackingStatus)
Paramètres
timestampposetrackingStatus