SceneKit Espace de noms

L’espace de noms SceneKit fournit des graphiques 3D basés sur des graphiques 3D de haut niveau.

Classes

Nom Description
_SCNShaderModifiers

Dictionnaire d’extraits de code de nuanceur.

SCNAccelerationConstraint

L’espace de noms SceneKit fournit des graphiques 3D basés sur des graphiques 3D de haut niveau.

SCNAction

Effectue des actions sur un SCNNode, y compris les modifications apportées à l’apparence, à la géométrie, aux animations ou aux fonctions arbitraires.

SCNActionable

Autorise l’application d’actions.

SCNAnimatable

Autorise l’application d’animations.

SCNAnimation

L’espace de noms SceneKit fournit des graphiques 3D basés sur des graphiques 3D de haut niveau.

SCNAnimationEvent

Exécute une fonction à un moment spécifique pendant une animation.

SCNAnimationPlayer

L’espace de noms SceneKit fournit des graphiques 3D basés sur des graphiques 3D de haut niveau.

SCNAudioPlayer

Contient une SCNAudioSource ou AVAudioNode une utilisation avec l’audio positionnel.

SCNAudioSource

Source audio réutilisable pour l’audio positionnel dans les scènes SceneKit.

SCNAvoidOccluderConstraint

L’espace de noms SceneKit fournit des graphiques 3D basés sur des graphiques 3D de haut niveau.

SCNAvoidOccluderConstraintDelegate

Il s’agit d’une classe qui implémente l’interface ISCNAvoidOccluderConstraintDelegate (pour le protocole SCNAvoidOccluderConstraintDelegate).

Sous-classe cette classe pour créer facilement un type qui implémente le protocole.

Une alternative consiste à créer une sous-classe de NSObject l’interface, puis à implémenter l’interface ISCNAvoidOccluderConstraintDelegate.

SCNAvoidOccluderConstraintDelegate_Extensions

Méthodes d’extension à l’interface ISCNAvoidOccluderConstraintDelegate pour prendre en charge toutes les méthodes du protocole SCNAvoidOccluderConstraintDelegate.

SCNBillboardConstraint

Limite automatiquement un SCNNode point de façon à ce qu’il pointe toujours vers le nœud de rendu actuel.

SCNBoundingVolume

Fonctions qui définissent un volume dans l’espace 3D.

SCNBox

Dont SCNGeometry les visages sont tous les rectangles.

SCNCamera

Spécifie une caméra, avec des attributs tels que le champ de vue et la profondeur de vue.

SCNCameraController

L’espace de noms SceneKit fournit des graphiques 3D basés sur des graphiques 3D de haut niveau.

SCNCameraControllerDelegate

Il s’agit d’une classe qui implémente l’interface ISCNCameraControllerDelegate (pour le protocole SCNCameraControllerDelegate).

Sous-classe cette classe pour créer facilement un type qui implémente le protocole.

Une alternative consiste à créer une sous-classe de NSObject l’interface, puis à implémenter l’interface ISCNCameraControllerDelegate.

SCNCameraControllerDelegate_Extensions

Méthodes d’extension à l’interface ISCNCameraControllerDelegate pour prendre en charge toutes les méthodes du protocole SCNCameraControllerDelegate.

SCNCapsule

C’est SCNGeometry un cylindre avec des extrémités limitées.

SCNCone

C’est SCNGeometry un frustum circulaire. Ou, un chapeau de fête.

SCNConstraint

Ajuste automatiquement la transformation d’un nœud.

SCNCylinder

C’est SCNGeometry un cylindre circulaire droit.

SCNDistanceConstraint

L’espace de noms SceneKit fournit des graphiques 3D basés sur des graphiques 3D de haut niveau.

SCNErrorCodeExtensions

Méthodes d’extension pour l’énumération SCNErrorCode .

SCNFloor

Un SCNGeometry plan infini.

SCNGeometry

Classe de base pour les objets geometry SceneKit

SCNGeometryElement

Combine des informations sur les sommets et une primitive de dessin. Mappe à une seule commande de dessin envoyée au GPU.

SCNGeometrySource

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

SCNGeometrySourceSemantic

Énumère les attributs en mode vertex.

SCNGeometryTessellator

L’espace de noms SceneKit fournit des graphiques 3D basés sur des graphiques 3D de haut niveau.

SCNHitTest

Constantes à utiliser avec l’argument options dans HitTest(SCNVector3, SCNVector3, SCNHitTestOptions).

SCNHitTestOptions

Options de configuration pour le test de positionnement dans SCNNode et SCNSceneRenderer

SCNHitTestResult

Informations sur le SCNNode (le cas échéant) situé à un point spécifique ou le long d’un rayon.

SCNIKConstraint

Qui SCNConstraint applique les kinematiques inverses.

SCNJavaScript

Classe statique qui contient une méthode pour exporter des modules JavaScript.

SCNLayer

L’espace de noms SceneKit fournit des graphiques 3D basés sur des graphiques 3D de haut niveau.

SCNLevelOfDetail

Contrôle d’autres géométries rendues à des seuils dans l’espace mondial ou l’espace écran.

SCNLight

Source de lumière, utilisée pour tous les SCNLightTypes.

SCNLightAttribute

L’espace de noms SceneKit fournit des graphiques 3D basés sur des graphiques 3D de haut niveau.

SCNLightingModel

Constantes à utiliser avec la LightingModelName propriété, qui définit la façon dont les lumières et les matériaux se combinent pour produire une couleur rendue particulière.

SCNLightType

Énumère les types de SCNLight.

SCNLookAtConstraint

Un SCNConstraint nœud qui oriente un nœud vers un autre nœud.

SCNMaterial

Spécifie les caractéristiques d’éclairage et d’ombrage de la surface d’une SCNGeometry.

SCNMaterialProperty

Configure les différentes propriétés (telles que la couleur et la texture) d’un SCNMaterial.

SCNMorpher

Transformation animée d’un SCNGeometry en un ou plusieurs objets SCNGeometry cibles.

SCNNode

Nœud dans le graphique de scène.

SCNNodeRendererDelegate

Interface définissant des fonctions d’objet délégué pour ajouter du code de dessin OpenGL personnalisé.

SCNNodeRendererDelegate_Extensions

Méthodes d’extension à l’interface ISCNNodeRendererDelegate pour prendre en charge toutes les méthodes du protocole SCNNodeRendererDelegate.

SCNParticleProperty

L’espace de noms SceneKit fournit des graphiques 3D basés sur des graphiques 3D de haut niveau.

SCNParticlePropertyController

Anime une propriété des particules émises par un SCNParticleSystem.

SCNParticleSystem

Émet de petits sprites dont les comportements sont spécifiés par le développeur.

SCNPhysicsBallSocketJoint

Un SCNPhysicsBehavior qui permet à deux objets SCNPhysicsBody de pivoter entre eux.

SCNPhysicsBehavior

Contrôle le comportement d’un ou plusieurs objets SCNPhysicsBody.

SCNPhysicsBody

Ajoute la simulation physique à un SCNNode.

SCNPhysicsConeTwistJoint

L’espace de noms SceneKit fournit des graphiques 3D basés sur des graphiques 3D de haut niveau.

SCNPhysicsContact

Comment deux objets SCNPhysicsBody sont en contact les uns avec les autres.

SCNPhysicsContactDelegate

Déléguer des fonctions d’objet répondant aux touches entre SCNPhysicsBody les objets..

SCNPhysicsContactDelegate_Extensions

Méthodes d’extension à l’interface ISCNPhysicsContactDelegate pour prendre en charge toutes les méthodes du protocole SCNPhysicsContactDelegate.

SCNPhysicsContactEventArgs

Fournit des données pour un événement basé sur une méthode de protocole Objective-C.

SCNPhysicsField

Applique les forces à tous les objets SCNPhysicsBody dans un volume donné.

SCNPhysicsHingeJoint

SCNPhysicsBehavior qui attache deux objets SCNPhysicsBody le long d’un axe unique.

SCNPhysicsShape

Un volume solide pour un SCNPhysicsBody. Utilisé dans la détection de collision.

SCNPhysicsShapeOptions

Clés valides pour la options création de nouvelles SCNPhysicsShape instances.

SCNPhysicsShapeOptionsKeys

Définit les clés valides à utiliser avec le options dictionnaire passé à Create(SCNGeometry, SCNPhysicsShapeOptions) et Create(SCNNode, SCNPhysicsShapeOptions) .

SCNPhysicsShapeOptionsTypes

Type géométrique associé à SCNPhysicsShapes.

SCNPhysicsSliderJoint

SCNPhysicsBehavior qui connecte deux objets SCNPhysicsBody, leur permettant de glisser et de faire pivoter leurs points de connexion.

SCNPhysicsTest

Options valides à utiliser avec ContactTest(SCNPhysicsBody, SCNPhysicsBody, NSDictionary).

SCNPhysicsTestKeys

Contient des valeurs qui contrôlent la recherche, le culage backface et les tests de collision.

SCNPhysicsTestSearchModeKeys

Énumère les valeurs qui contrôlent les résultats de la recherche de collision retournées.

SCNPhysicsVehicle

SCNPhysicsBehavior qui simule la physique d’un véhicule volant.

SCNPhysicsVehicleWheel

Apparence et caractéristiques physiques d’une roue sur une SCNPhysicsVehicle.

SCNPhysicsWorld

Simulation physique qui modélise les collisions et d’autres propriétés liées à la physique dans un SCNScene.

SCNPlane

Il SCNGeometry s’agit d’un plan fini rectangulaire à face unique.

SCNProgram

Effectue un rendu personnalisé à l’aide de nuanceurs écrits dans openGL Shading Language.

SCNProgramDelegate

Objet délégué pour les objets SCNProgram.

SCNProgramDelegate_Extensions

Méthodes d’extension à l’interface ISCNProgramDelegate pour prendre en charge toutes les méthodes du protocole SCNProgramDelegate.

SCNProgramSemanticOptions

Définit l’utilisation MappingChannel avec SetSemantic(NSString, String, SCNProgramSemanticOptions).

SCNPropertyControllers

L’espace de noms SceneKit fournit des graphiques 3D basés sur des graphiques 3D de haut niveau.

SCNPyramid

C’est SCNGeometry une pyramide rectangulaire droite.

SCNReferenceNode

Qui SCNNode charge son contenu à partir d’un fichier de scène.

SCNRenderer

Restitue un SCNScene dans un contexte OpenGL.

SCNRenderingArguments

Définit les clés à utiliser avec Render(SCNNode, SCNRenderer, NSDictionary) et SetSemantic(NSString, String, SCNProgramSemanticOptions).

SCNRenderingOptions

Qui DictionaryContainer définit options lors de l’instanciation d’un SCNView.

SCNReplicatorConstraint

L’espace de noms SceneKit fournit des graphiques 3D basés sur des graphiques 3D de haut niveau.

SCNScene

Description de niveau supérieur d’une scène 3D.

SCNSceneExportDelegate

Protocole qui définit les méthodes permettant de gérer l’exportation d’une scène vers un fichier.

SCNSceneExportDelegate_Extensions

Méthodes d’extension à l’interface ISCNSceneExportDelegate pour prendre en charge toutes les méthodes du protocole SCNSceneExportDelegate.

SCNSceneLoadingOptions

Options de chargement de scène.

SCNSceneRenderer

Classe d’implémentation de l’interface ISCNSceneRenderer .

SCNSceneRenderer_Extensions

Méthodes d’extension à l’interface ISCNSceneRenderer pour prendre en charge toutes les méthodes du protocole SCNSceneRenderer.

SCNSceneRendererDelegate

L’objet Délégué pour la classe SCNRenderer définit les méthodes reflète les événements de rendu.

SCNSceneRendererDelegate_Extensions

Méthodes d’extension à l’interface ISCNSceneRendererDelegate pour prendre en charge toutes les méthodes du protocole SCNSceneRendererDelegate.

SCNSceneSource

Lit les données de définition de scène à partir d’un fichier ou d’un objet NSData.

SCNSceneSourceLoadErrors

Énumère les types d’erreurs qui peuvent se produire lors du chargement SCNSceneSourcede s.

SCNSceneSourceLoading

Options de création et de chargement d’objets SCNScene.

SCNSceneSourceProperties

Clés de métadonnées associées à un fichier de scène. Utilisé avec GetProperty(NSString).

SCNShadable

Implémentation de ISCNShadable.

SCNShadable_Extensions

Méthodes d’extension à l’interface ISCNShadable pour prendre en charge toutes les méthodes du protocole SCNShadable.

SCNShaderModifiers

Options DictionaryContainer de conteneur pour les nuanceurs.

SCNShape

Créé SCNGeometry à partir d’un chemin 2D, éventuellement extrudé en trois dimensions.

SCNSkinner

Accède au graphique de scène en prise en charge de l’animation squelette.

SCNSliderConstraint

L’espace de noms SceneKit fournit des graphiques 3D basés sur des graphiques 3D de haut niveau.

SCNSphere

C’est SCNGeometry une sphère.

SCNTechnique

Fournit des passes de dessin supplémentaires, chacune d’elles appliquant un nuanceur.

SCNTechniqueSupport

L’implémentation de ISCNTechniqueSupport cela contient simplement une référence au SCNTechnique.

SCNText

Basé SCNGeometry sur une chaîne, éventuellement extrudé en trois dimensions.

SCNTimingFunction

L’espace de noms SceneKit fournit des graphiques 3D basés sur des graphiques 3D de haut niveau.

SCNTorus

C’est SCNGeometry un solide en forme d’anneau.

SCNTransaction

Autorise l’application atomique d’un ensemble de modifications.

SCNTransformConstraint

Qui SCNConstraint exécute une fonction spécifiant une modification de transformation (position, rotation et mise à l’échelle) sur un nœud ou des nœuds.

SCNTube

Un SCNGeometry cylindre avec un trou circulaire le long de son axe central.

SCNView

Un UIView rendu s SCNScene.

SCNView.SCNViewAppearance

Classe d’apparence pour les objets de type SCNView.

Structures

Nom Description
SCNMatrix4

Représente une matrice 4x4 à l’aide d’une disposition de mémoire principale de colonne.

SCNQuaternion

Représente un Quaternion.

SCNVector3

Représente un vecteur 3D utilisant trois nombres à virgule flottante simple précision.

SCNVector4

Représente un vecteur 4D utilisant quatre nombres à virgule flottante simple précision.

Interfaces

Nom Description
ISCNActionable

Autorise l’application d’actions.

ISCNAnimatable

Autorise l’application d’animations.

ISCNAnimationProtocol

Cette interface représente le protocole SCNAnimationObjective-C .

ISCNAvoidOccluderConstraintDelegate

Cette interface représente le protocole SCNAvoidOccluderConstraintDelegateObjective-C .

ISCNBoundingVolume

Fonctions qui définissent un volume dans l’espace 3D.

ISCNBufferStream

Interface permettant de gérer la mémoire tampon Metal d’un nuanceur personnalisé.

ISCNCameraControlConfiguration

Cette interface représente le protocole SCNCameraControlConfigurationObjective-C .

ISCNCameraControllerDelegate

Cette interface représente le protocole SCNCameraControllerDelegateObjective-C .

ISCNNodeRendererDelegate

Interface définissant des fonctions d’objet délégué pour ajouter du code de dessin OpenGL personnalisé.

ISCNPhysicsContactDelegate

Déléguer des fonctions d’objet répondant aux touches entre SCNPhysicsBody les objets..

ISCNProgramDelegate

Objet délégué pour les objets SCNProgram.

ISCNSceneExportDelegate

Protocole qui définit les méthodes permettant de gérer l’exportation d’une scène vers un fichier.

ISCNSceneRenderer

Classe d’implémentation de l’interface ISCNSceneRenderer .

ISCNSceneRendererDelegate

L’objet Délégué pour la classe SCNRenderer définit les méthodes reflète les événements de rendu.

ISCNShadable

Implémentation de ISCNShadable.

ISCNTechniqueSupport

L’implémentation de ISCNTechniqueSupport cela contient simplement une référence au SCNTechnique.

Énumérations

Nom Description
SCNActionTimingMode

Énumère les courbes de débit à utiliser avec SCNAction des objets.

SCNAnimationImportPolicy

Énumère les stratégies d’importation d’animation.

SCNAntialiasingMode

Énumère les valeurs qui contrôlent le comportement d’anticrénelage.

SCNBillboardAxis

Énumération des verrous des axes disponibles pour les nœuds limités par SCNBillboardConstraint.

SCNBlendMode

Énumération des façons dont SceneKit peut fusionner des couleurs à partir d’un matériau avec des couleurs qui existent déjà dans la cible de rendu.

SCNBufferFrequency

Énumère les valeurs qui contrôlent si les gestionnaires sont appelés par trame, par nœud par image ou par nœud par image par image par rendu ombré.

SCNCameraProjectionDirection

L’espace de noms SceneKit fournit des graphiques 3D basés sur des graphiques 3D de haut niveau.

SCNChamferMode

Énumère les façons dont un SCNShape peut être camonné ; sur son front, son dos ou les deux côtés.

SCNColorMask

L’espace de noms SceneKit fournit des graphiques 3D basés sur des graphiques 3D de haut niveau.

SCNCullMode

Énumération déterminant quels visages d’une surface SCNMaterial sont restitués.

SCNDebugOptions

Énumère les options de superposition de débogage.

SCNErrorCode

Identifie les erreurs signalées par SceneKit.

SCNFillMode

L’espace de noms SceneKit fournit des graphiques 3D basés sur des graphiques 3D de haut niveau.

SCNFilterMode

Énumération des modes de filtrage de texture.

SCNGeometryPrimitiveType

Énumération des primitives géométriques 2D.

SCNGeometrySourceSemantics

Énumère la sémantique des données géométriques.

SCNHitTestSearchMode

L’espace de noms SceneKit fournit des graphiques 3D basés sur des graphiques 3D de haut niveau.

SCNInteractionMode

L’espace de noms SceneKit fournit des graphiques 3D basés sur des graphiques 3D de haut niveau.

SCNLightAreaType

L’espace de noms SceneKit fournit des graphiques 3D basés sur des graphiques 3D de haut niveau.

SCNLightProbeType

L’espace de noms SceneKit fournit des graphiques 3D basés sur des graphiques 3D de haut niveau.

SCNLightProbeUpdateType

L’espace de noms SceneKit fournit des graphiques 3D basés sur des graphiques 3D de haut niveau.

SCNMorpherCalculationMode

Énumération de formule d’interpolation valide pour CalculationMode.

SCNMovabilityHint

Énumère les valeurs qui indiquent à SceneKit si les nœuds sont censés se déplacer au fil du temps.

SCNNodeFocusBehavior

Énumère les états focusables d’un SCNNode.

SCNParticleBirthDirection

Énumère la direction initiale des particules émises par un SCNParticleSystem.

SCNParticleBirthLocation

Énumération de l’emplacement initial des particules émises par un SCNParticleSystem.

SCNParticleBlendMode

Énumération des façons dont les particules qui se chevauchent émises par un SCNParticleSystem sera rendue.

SCNParticleEvent

Énumération des événements de cycle de vie pour les particules émises par un SCNParticleSystem. Utilisé avec HandleEvent(SCNParticleEvent, NSString[], SCNParticleEventHandler).

SCNParticleImageSequenceAnimationMode

Énumération des modes de lecture pour SCNParticleSystemles particules dont les particules sont rendues sous la forme d’une séquence d’images.

SCNParticleInputMode

Énumère la façon dont une propriété de particule est animée (au fil de la durée de vie de la particule, à mesure que la particule se déplace sur une distance ou en fonction d’une autre propriété). Utilisé avec InputMode.

SCNParticleModifierStage

Énumère les moments où le modificateur spécifié doit AddModifier(NSString[], SCNParticleModifierStage, SCNParticleModifierHandler) être appliqué.

SCNParticleOrientationMode

Énumère l’alignement des particules émises par un SCNParticleSystem. Utilisé avec OrientationMode.

SCNParticleSortingMode

Énumération spécifiant l’ordre dans lequel les particules émises par un SCNParticleSystem sont rendues.

SCNPhysicsBodyType

Énumération spécifiant si l’élément SCNPhysicsBody est dynamique, kinematique ou statique. Utilisé avec CreateBody(SCNPhysicsBodyType, SCNPhysicsShape).

SCNPhysicsCollisionCategory

Valeurs par défaut pour les propriétés de collision d’un SCNPhysicsBody.

SCNPhysicsFieldScope

Énumère les valeurs spécifiant si un SCNPhysicsField objet affecte à l’intérieur ou à l’extérieur de sa bordure.

SCNPhysicsSearchMode

Énumère les valeurs qui contrôlent les résultats de recherche physique retournés.

SCNPhysicsShapeType

Énumération des catégories pour SCNPhysicsShapes.

SCNReferenceLoadingPolicy

Énumère les stratégies de chargement possibles pour SCNReferenceNode les objets.

SCNRenderingApi

Énumère les valeurs qui indiquent les API Metal ou OpenGLES2.

SCNSceneSourceStatus

Énumère les états d’un SCNSceneSource.

SCNShadowMode

Contrôle de l’énumération lorsque les ombres sont calculées.

SCNTessellationSmoothingMode

L’espace de noms SceneKit fournit des graphiques 3D basés sur des graphiques 3D de haut niveau.

SCNTransparencyMode

Énumère les techniques de calcul de la transparence.

SCNWrapMode

Énumère les techniques d’habillage de texture.

Délégués

Nom Description
SCNActionNodeWithElapsedTimeHandler

Gestionnaire d’achèvement utilisé avec CustomAction(Double, SCNActionNodeWithElapsedTimeHandler).

SCNAnimationDidStartHandler

L’espace de noms SceneKit fournit des graphiques 3D basés sur des graphiques 3D de haut niveau.

SCNAnimationDidStopHandler

L’espace de noms SceneKit fournit des graphiques 3D basés sur des graphiques 3D de haut niveau.

SCNAnimationEventHandler

Gestionnaire d’achèvement à utiliser avec Create(NFloat, SCNAnimationEventHandler).

SCNBindingHandler

Gestionnaire d’achèvement utilisé avec HandleBinding(String, SCNBindingHandler).

SCNBufferBindingHandler

L’espace de noms SceneKit fournit des graphiques 3D basés sur des graphiques 3D de haut niveau.

SCNFieldForceEvaluator

Délégué de la CustomField(SCNFieldForceEvaluator) méthode.

SCNNodeHandler

L’espace de noms SceneKit fournit des graphiques 3D basés sur des graphiques 3D de haut niveau.

SCNNodePredicate

Délégué à utiliser avec FindNodes(SCNNodePredicate).

SCNParticleEventHandler

Gestionnaire d’achèvement à utiliser avec HandleEvent(SCNParticleEvent, NSString[], SCNParticleEventHandler).

SCNParticleModifierHandler

Délégué utilisé comme handler in AddModifier(NSString[], SCNParticleModifierStage, SCNParticleModifierHandler).

SCNSceneExportProgressHandler

Gestionnaire de continuation que SceneKit appelle à plusieurs reprises lors de l’exportation d’une scène.

SCNSceneSourceFilter

Déléguer qui teste les objets dans la scène pour l’inclusion.

SCNSceneSourceStatusHandler

Rappel utilisé pour refléter la progression pendant l’exécution de SceneFromOptions(SCNSceneLoadingOptions, SCNSceneSourceStatusHandler).

SCNTransformConstraintHandler

Délégué utilisé dans les appels à Create(Boolean, SCNTransformConstraintHandler).

Remarques

Scene Kit est une infrastructure pour les graphiques 3D, basées sur des graphiques de scène hiérarchiques.

Les classes fondamentales dans Scene Kit sont SCNScene, qui contiennent tout le contenu, et SCNView, un UIView qui affiche un SCNScene.

A SCNScene une RootNode propriété de type SCNNode. SCNNodeont ChildNodes et implémentent System.Collections.Generic.IEnumerable`1<class SceneKit.SCNNode>. Propriétés d’include SCNNodeCamera, de type SCNCamera, Geometryde type , de type SCNGeometryet Light, de type SCNLight.

En outre, chaque SCNNode propriété a une Position propriété qui définit un emplacement dans l’espace par rapport aux SCNNode's ParentNode. Pour définir l’apparence d’un nœud, attachez un SCNGeometry au nœud (à l’aide de la Geometry propriété), puis ajoutez SCNMaterial des objets à la géométrie.

L’exemple suivant montre un affichage minimal du Kit de scène :

public MySceneView (CGRect frame) : base(frame)
{
	BackgroundColor = UIColor.Blue;
	this.Scene = new SCNScene ();

	var material = new SCNMaterial ();
	material.Diffuse.Contents = UIImage.FromFile("textureX.png");
	material.Specular.Contents = UIColor.Gray;
	material.LocksAmbientWithDiffuse = true;

	Scene.RootNode.Geometry = new SCNBox {
		Width = 1,
		Height = 1,
		Length = 1,
		ChamferRadius = 0.2f,
		FirstMaterial = material
	};

	Scene.RootNode.Light = new SCNLight {
		LightType = SCNLightType.Ambient,
		Color = UIColor.Gray,
	};

	var camera = new SCNCamera ();
	var cameraNode = new SCNNode () {
		Camera = camera,
		Position = new SCNVector3 (3, 3, 3),
		Constraints = new SCNConstraint[] { SCNLookAtConstraint.Create(Scene.RootNode) }
	};
	Scene.RootNode.AddChildNode (cameraNode);
}

Geometry

Toutes les géométries dans SceneKit sont décrites par les sous-classes de SCNGeometry:

SCNCapsule Une capsule en forme de pilule avec des majuscules d’extrémité réglables
SCNCone Cône dont le haut peut être tronqué.
SCNBox Une boîte rectangulaire.
SCNCylinder Cylindre.
SCNFloor Plan infini avec la possibilité de refléter la géométrie au-dessus de celle-ci.
SCNPlane Rectangle unidirecteur.
SCNPyramid Un tetrahedron.
SCNShape Forme 2D qui a été extrudée dans la 3ème dimension.
SCNSphere Une balle.
SCNText Texte extrudé.
SCNTorus Forme d’anneau.
SCNTube Un cylindre non garni.

En outre, SceneKit peut charger des scènes entières à partir de . Fichiers DAE avec la FromFile méthode.

Enfin, les développeurs peuvent créer une géométrie personnalisée à l’aide de la Create méthode avec des tableaux d’objets et SCNGeometrySource appropriésSCNGeometryElement. L’exemple suivant montre la création d’une pyramide personnalisée :

//Lower-left
var a = new SCNVector3(-1, -1, 0);
//Upper-right
var b = new SCNVector3(1, 1, 0);

var halfX = (c.X + a.X) / 2;
var halfY = (c.Y + a.Y) / 2;
var halfZ = (c.Z + a.Z) / 2;

var b = new SCNVector3(a.X, c.Y, halfZ);
var d = new SCNVector3(c.X, a.Y, halfZ);
//Elevate the midpoint so that it's clearly a pyramid
var midPoint = new SCNVector3(halfX, halfY, halfZ + 1.0);

//The vertices of the geometry
var locs = new [] {
	a, b, c, d, midPoint
};
var locSource = SCNGeometrySource.FromVertices(locs);

//Note that this relies on the ordering of locs above
//and it defines triangles (could be triangle strips, etc.)
var indices = new [] {
	//Triangles are defined counter-clockwise!
	4, 1, 0,
	1, 4, 2,
	2, 4, 3,
	3, 4, 0
};


var idxArray = new byte[indices.Length][];
for(int i = 0; i < idxArray.Length; i++)
{
	idxArray[i] = BitConverter.GetBytes(indices[i]);
}
var idxData = NSData.FromArray(idxArray.SelectMany(id => id).ToArray());

//Note that this relies on indices defining triangles
var element = SCNGeometryElement.FromData(idxData, SCNGeometryPrimitiveType.Triangles, indices.Length / 3, sizeof(int));

//Normals are relative to geometry
var normals = new [] {
	new SCNVector3(0, 0, 1),
	new SCNVector3(0, 0, 1),
	new SCNVector3(0, 0, 1),
	new SCNVector3(0, 0, 1),
	new SCNVector3(0, 0, 1),
};
var normSource = SCNGeometrySource.FromNormals(normals);

//These texture coords will cause the texture to wrap 
var txCoords = new [] {
	new CGPoint(-1, -1),
	new CGPoint(-1, 1),
	new CGPoint(1, 1),
	new CGPoint(1, -1)
};

var txCoordsSource = SCNGeometrySource.FromTextureCoordinates(txCoords);

var geometry = SCNGeometry.Create(new [] { locSource, normSource, txCoordsSource }, new [] { element });