Partager via


ARKit Espace de noms

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 :

ClasseCas d’utilisation
ARSCNView Combiner la géométrie 3D SceneKit avec la vidéo

T:ARKit.ARSCKView

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.

Voir aussi