ARKit Espace de noms
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
L’espace de noms ARKit prend en charge les sessions de réalité augmentée, y compris les API de haut et de bas niveau pour projeter des images générées par ordinateur dans un flux vidéo.
Classes
ARAnchor |
Position, orientation et échelle qui se trouvent dans le monde réel auquel les objets de réalité augmentée peuvent être attachés. |
ARBlendShapeLocationOptions |
DictionaryContainer qui définit les fonctionnalités disponibles dans T:ARKit.ARBlendShapeLocation . |
ARCamera |
Informations sur l’emplacement et l’orientation de la caméra qui a capturé un cadre de réalité augmentée. |
ARConfiguration |
Informations de configuration pour les sessions de réalité augmentée. |
ARDirectionalLightEstimate |
Estime l’éclairage du monde réel qui tombe sur un visage. |
AREnvironmentProbeAnchor |
Source d’éclairage écologique. |
ARErrorCodeExtensions |
Méthodes d’extension pour l’énumération ARKit.ARErrorCode. |
ARFaceAnchor |
ARAnchor qui localise un visage détecté dans les coordonnées mondiales de la session AR. |
ARFaceGeometry |
Maillage qui représente un visage reconnu, y compris la forme et l’expression. |
ARFaceTrackingConfiguration |
pour ARConfiguration la reconnaissance et le suivi des visages. |
ARFrame |
Image dans une session de réalité augmentée. |
ARHitTestResult |
Résultat généré par la HitTest(CGPoint, ARHitTestResultType) méthode . |
ARImageAnchor |
ARAnchor qui suit une image détectée dans le monde réel. |
ARImageTrackingConfiguration |
ARConfiguration sous-classe qui utilise une image reconnue comme base pour le suivi du monde. |
ARLightEstimate |
Estimation de l’environnement d’éclairage réel. |
ARObjectAnchor |
ARAnchor sous-classe qui effectue le suivi d’un objet 3D réel reconnu. |
ARObjectScanningConfiguration |
Une ressource intensive ARConfiguration utilisée pendant le développement pour créer ARReferenceObject des données. |
AROrientationTrackingConfiguration |
ARConfiguration qui suit uniquement l’orientation de l’appareil et utilise les caméras arrière de l’appareil. |
ARPlaneAnchor |
Sous-classe de ARAnchor utilisée pour représenter des surfaces planes réelles. |
ARPlaneGeometry |
Géométrie représentant un plan détecté dans le monde réel. |
ARPointCloud |
Ensemble de points à 3 dimensions, indiquant la croyance du traitement d’image en un point du monde réel fixe sur une surface physique. |
ARReferenceImage |
Ressource d’image qui contient des images prétraitées à reconnaître dans le monde réel. |
ARReferenceObject |
Représentation numérique d’un objet 3D à détecter dans le monde réel. |
ARSCNDebugOptions |
Options de visualisation à utiliser avec la DebugOptions propriété de ARSCNView. |
ARSCNFaceGeometry |
Géométrie SceneKit qui représente un visage. |
ARSCNPlaneGeometry |
L’espace de noms ARKit prend en charge les sessions de réalité augmentée, y compris les API de haut et de bas niveau pour projeter des images générées par ordinateur dans un flux vidéo. |
ARSCNView |
Sous-classe de qui prend en charge le contenu de SCNView réalité augmentée. |
ARSCNView.ARSCNViewAppearance |
Classe d’apparence pour les objets de type ARSCNView. |
ARSCNViewDelegate |
Objet délégué pour les ARSCNView objets. |
ARSCNViewDelegate_Extensions |
Méthodes d’extension à l’interface IARSCNViewDelegate pour prendre en charge toutes les méthodes du ARSCNViewDelegate protocole. |
ARSession |
Gère la capture de caméra, le traitement des mouvements et l’analyse des images nécessaires pour créer une expérience de réalité mixte. |
ARSessionDelegate |
Déléguer l’objet pour l’objet ARSession , ce qui permet au développeur de répondre aux événements liés à la session de réalité augmentée. |
ARSessionDelegate_Extensions |
Méthodes d’extension à l’interface IARSessionDelegate pour prendre en charge toutes les méthodes du ARSessionDelegate protocole. |
ARSessionObserver_Extensions |
Méthodes facultatives de l’interface IARSessionObserver . |
ARSKView |
Sous-classe de qui place les SKView objets Sprite Kit dans une session de réalité augmentée. |
ARSKView.ARSKViewAppearance |
Classe d’apparence pour les objets de type ARSKView. |
ARSKViewDelegate |
Objet Délégué permettant au développeur de répondre aux événements relatifs à un ARSKView. |
ARSKViewDelegate_Extensions |
Méthodes d’extension à l’interface IARSKViewDelegate pour prendre en charge toutes les méthodes du ARSKViewDelegate protocole. |
ARVideoFormat |
Informations récapitulatives sur le flux vidéo utilisé dans la simulation AR. |
ARWorldMap |
Combinaison sérialisable et partageable de points de données spatiales réels et d’ancres de réalité mixte. |
ARWorldTrackingConfiguration |
Configuration d’une session qui suit la position et l’orientation de l’appareil et détecte éventuellement les surfaces horizontales. |
Interfaces
IARAnchorCopying |
L’espace de noms ARKit prend en charge les sessions de réalité augmentée, y compris les API de haut et de bas niveau pour projeter des images générées par ordinateur dans un flux vidéo. |
IARSCNViewDelegate |
Interface représentant les méthodes requises (le cas échéant) du protocole ARSCNViewDelegate. |
IARSessionDelegate |
Interface représentant les méthodes requises (le cas échéant) du protocole ARSessionDelegate. |
IARSessionObserver |
Interface définissant des méthodes qui répondent aux événements dans un ARSession. |
IARSKViewDelegate |
Interface représentant les méthodes requises (le cas échéant) du protocole ARSKViewDelegate. |
IARTrackable |
Interface pour les objets réels qui peuvent être suivis par ARKit. |
Énumérations
AREnvironmentTexturing |
Énumère les stratégies de texturation environnementale utilisées avec les objets T:ARKit.ARWorldTrackingProbeAnchor . |
ARErrorCode |
Énumérer les causes d’une ARSession défaillance. |
ARHitTestResultType |
Énumère les types d’objets détectés par la HitTest(CGPoint, ARHitTestResultType) méthode . |
ARPlaneAnchorAlignment |
Orientation d’un ARPlaneAnchor (Actuellement limité à horizontal). |
ARPlaneClassification |
L’espace de noms ARKit prend en charge les sessions de réalité augmentée, y compris les API de haut et de bas niveau pour projeter des images générées par ordinateur dans un flux vidéo. |
ARPlaneClassificationStatus |
L’espace de noms ARKit prend en charge les sessions de réalité augmentée, y compris les API de haut et de bas niveau pour projeter des images générées par ordinateur dans un flux vidéo. |
ARPlaneDetection |
Énumère les orientations valides pour les plans détectés (actuellement, uniquement horizontales). |
ARSessionRunOptions |
Énumère les options dans les appels à Run(ARConfiguration, ARSessionRunOptions). |
ARTrackingState |
Énumère la qualité du suivi réel dans une réalité ARSessionaugmentée . |
ARTrackingStateReason |
Énumère les causes de Limited. |
ARWorldAlignment |
Énumère les options pour la façon dont le système de coordonnées du monde est créé. |
ARWorldMappingStatus |
Énumère les états d’une session de mappage de monde. |
Remarques
ARKit a été ajouté dans iOS 11 et fournit des sessions de réalité mixte qui combinent l’entrée de caméra avec des images générées par ordinateur qui semblent « attachées » au monde réel.
ARKit n’est disponible que sur les appareils exécutant des processeurs A9 et plus puissants : essentiellement iPhone 6S et versions ultérieures, iPad Pros et iPad sortis pas avant 2017.
Les applications ARKit ne s’exécutent pas dans le simulateur.
Les développeurs disposent de trois choix pour le rendu des scènes AR :
Classe | Cas d’utilisation |
---|---|
ARSCNView | Combiner la géométrie 3D SceneKit avec la vidéo |
Combiner des images SpriteKit 2D avec la vidéo | |
Exportez « renderer:updateAtTime: » à partir de leur IARSCNViewDelegate. | Permet un rendu personnalisé complet. |
Systèmes de coordonnées ARKit et transformations
ARKit utilise le mouvement de l’appareil et l'« odométrie visuelle » pour créer un modèle de la caméra de l’appareil et des « points de caractéristique » réels par rapport à un système de coordonnées virtuel. Le système de coordonnées utilise des compteurs comme unités. Le système de coordonnées virtuel a une origine calculée pour être l’emplacement de la caméra au moment où le ARSession a été démarré. L’emplacement et l’orientation dans ARKit sont principalement représentés à l’aide NMatrix4 de « matrices natives ». Dans le cas d’ARKit, il s’agit de transformations de colonnes majeures :
La position ou la traduction se trouve dans M14, M24et M34. La matrice 3x3 définie par M11 est M33 la matrice de rotation.
SCNVector3 Position(NMatrix4 m) => new SCNVector3(m.M14, m.M24, m.M34);
Initialisation
L’objet ARSession gère le processus global de réalité augmentée. La Run méthode prend un ARConfiguration objet et un ARSessionRunOptions , comme indiqué ci-dessous :
ARSCNView SceneView = ... // initialized in Storyboard, `ViewDidLoad`, etc.
// Create a session configuration
var configuration = new ARWorldTrackingConfiguration {
PlaneDetection = ARPlaneDetection.Horizontal,
LightEstimationEnabled = true
};
// Run the view's session
SceneView.Session.Run(configuration, ARSessionRunOptions.ResetTracking);
Une fois qu’un ARSession est en cours d’exécution CurrentFrame , sa propriété contient le actif ARFrame. Étant donné que le système tente d’exécuter ARKit à 60 images par seconde, les développeurs qui référencent le CurrentFrame doivent être sûrs de l’image Dispose
après l’avoir perdue.
Le système effectue le suivi des « points de caractéristique » à contraste élevé dans la vue de la caméra. Ils sont disponibles pour le développeur en tant qu’objet ARPointCloud qui peut être lu à l’adresse RawFeaturePoints. En règle générale, cependant, les développeurs s’appuient sur le système pour identifier des fonctionnalités de niveau supérieur, telles que des plans ou des visages humains. Lorsque le système identifie ces fonctionnalités de niveau supérieur, il ajoute ARAnchor des objets dont les propriétés P:ARKit.ARAnchor.Position se trouvent dans le système de coordonnées mondiales. Les développeurs peuvent utiliser les DidAddNodeméthodes , DidUpdateNodeet DidRemoveNode pour réagir à de tels événements et attacher leur géométrie personnalisée à des fonctionnalités réelles.
Les coordonnées de réalité augmentée sont conservées à l’aide de l’odométrie visuelle et du gestionnaire de mouvement de l’appareil. Expérimentalement, le suivi semble très solide sur des distances d’au moins des dizaines de mètres dans une session continue.