SceneKit Espacio de nombres
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
El espacio de nombres SceneKit proporciona gráficos 3D basados en gráficos 3D basados en escenas de alto nivel.
Clases
_SCNShaderModifiers |
Diccionario de fragmentos de código de sombreador. |
SCNAccelerationConstraint |
El espacio de nombres SceneKit proporciona gráficos 3D basados en gráficos 3D basados en escenas de alto nivel. |
SCNAction |
Realiza acciones en un SCNNodeobjeto , incluidos los cambios en la apariencia, la geometría, las animaciones o las funciones arbitrarias. |
SCNActionable |
Permite aplicar acciones. |
SCNActionable_Extensions |
Métodos de extensión a la ISCNActionable interfaz para admitir todos los métodos del SCNActionable protocolo. |
SCNAnimatable |
Permite aplicar animaciones. |
SCNAnimatable_Extensions |
Métodos de extensión a la ISCNAnimatable interfaz para admitir todos los métodos del SCNAnimatable protocolo. |
SCNAnimatableExtensions |
Métodos de extensión para ISCNAnimatable. |
SCNAnimation |
El espacio de nombres SceneKit proporciona gráficos 3D basados en gráficos 3D basados en escenas de alto nivel. |
SCNAnimationEvent |
Realiza una función en un momento específico durante una animación. |
SCNAnimationPlayer |
El espacio de nombres SceneKit proporciona gráficos 3D basados en gráficos 3D basados en escenas de alto nivel. |
SCNAudioPlayer |
Contiene o SCNAudioSourceAVAudioNode para su uso con audio posicional. |
SCNAudioSource |
Un origen de audio reutilizable para audio posicional en escenas de SceneKit. |
SCNAvoidOccluderConstraint |
El espacio de nombres SceneKit proporciona gráficos 3D basados en gráficos 3D basados en escenas de alto nivel. |
SCNAvoidOccluderConstraintDelegate |
El espacio de nombres SceneKit proporciona gráficos 3D basados en gráficos 3D basados en escenas de alto nivel. |
SCNAvoidOccluderConstraintDelegate_Extensions |
Métodos de extensión a la ISCNAvoidOccluderConstraintDelegate interfaz para admitir todos los métodos del SCNAvoidOccluderConstraintDelegate protocolo. |
SCNBillboardConstraint |
Restringe automáticamente para SCNNode que apunte siempre al nodo de representación actual. |
SCNBoundingVolume |
Funciones que definen un volumen en espacio 3D. |
SCNBox |
cuyas SCNGeometry caras son todos los rectángulos. |
SCNCamera |
Especifica una cámara, con atributos como el campo de vista y la profundidad de vista. |
SCNCameraController |
El espacio de nombres SceneKit proporciona gráficos 3D basados en gráficos 3D basados en escenas de alto nivel. |
SCNCameraControllerDelegate |
El espacio de nombres SceneKit proporciona gráficos 3D basados en gráficos 3D basados en escenas de alto nivel. |
SCNCameraControllerDelegate_Extensions |
Métodos de extensión a la ISCNCameraControllerDelegate interfaz para admitir todos los métodos del SCNCameraControllerDelegate protocolo. |
SCNCapsule |
Que SCNGeometry es un cilindro con extremos limitados. |
SCNCone |
Que SCNGeometry es un frustum circular. O un sombrero de fiesta. |
SCNConstraint |
Ajusta automáticamente la transformación de un nodo. |
SCNCylinder |
Que SCNGeometry es un cilindro circular derecho. |
SCNDistanceConstraint |
El espacio de nombres SceneKit proporciona gráficos 3D basados en gráficos 3D basados en escenas de alto nivel. |
SCNErrorCodeExtensions |
Métodos de extensión para la enumeración SceneKit.SCNErrorCode. |
SCNFloor |
que SCNGeometry es un plano infinito. |
SCNGeometry |
Clase base para objetos geometry sceneKit |
SCNGeometryElement |
Combina información sobre vértices y un primitivo de dibujo. Se asigna a un único comando de dibujo enviado a la GPU. |
SCNGeometrySource |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. |
SCNGeometrySourceSemantic |
Enumera los atributos del modo de vértice. |
SCNGeometryTessellator |
El espacio de nombres SceneKit proporciona gráficos 3D basados en gráficos 3D basados en escenas de alto nivel. |
SCNHitTest |
Constantes para su uso con el |
SCNHitTestOptions |
Opciones de configuración para pruebas de posicionamiento en SCNNode y SCNSceneRenderer |
SCNHitTestResult |
Información sobre el SCNNode (si existe) ubicado en un punto específico o a lo largo de un rayo. |
SCNIKConstraint |
que SCNConstraint aplica cinemáticos inversos. |
SCNJavaScript |
Clase estática que contiene un método para exportar módulos de JavaScript. |
SCNLayer |
El espacio de nombres SceneKit proporciona gráficos 3D basados en gráficos 3D basados en escenas de alto nivel. |
SCNLevelOfDetail |
Controla geometrías alternativas representadas en umbrales en el espacio mundial o en el espacio de pantalla. |
SCNLight |
Una fuente de luz, usada para todos los SCNLightTypes. |
SCNLightAttribute |
El espacio de nombres SceneKit proporciona gráficos 3D basados en gráficos 3D basados en escenas de alto nivel. |
SCNLightingModel |
Constantes para su uso con la propiedad P:SceneKit.SCNMaterial.LightingModel , que define la forma en que se combinan las luces y los materiales para producir un color representado determinado. |
SCNLightType |
Enumera los tipos de SCNLight. |
SCNLookAtConstraint |
que SCNConstraint orienta un nodo para que apunte a otro nodo. |
SCNMaterial |
Especifica las características de iluminación y sombreado de la superficie de un SCNGeometry. |
SCNMaterialProperty |
Configura las distintas propiedades (como el color y la textura) de .SCNMaterial |
SCNMorpher |
Transformación animada de SCNGeometry en uno o varios objetos SCNGeometry de destino. |
SCNNode |
Un nodo del gráfico de escenas. |
SCNNodeRendererDelegate |
Interfaz que define funciones de objeto delegado para agregar código de dibujo personalizado de OpenGL. |
SCNNodeRendererDelegate_Extensions |
Métodos de extensión a la ISCNNodeRendererDelegate interfaz para admitir todos los métodos del SCNNodeRendererDelegate protocolo. |
SCNParticleProperty |
El espacio de nombres SceneKit proporciona gráficos 3D basados en gráficos 3D basados en escenas de alto nivel. |
SCNParticlePropertyController |
Anima una propiedad de las partículas emitidas por un SCNParticleSystem. |
SCNParticleSystem |
Emite sprites pequeños cuyos comportamientos son especificados por el desarrollador. |
SCNPhysicsBallSocketJoint |
ScNPhysicsBehavior que permite que dos objetos SCNPhysicsBody se desvíe entre sí. |
SCNPhysicsBehavior |
Controla el comportamiento de uno o varios objetos SCNPhysicsBody. |
SCNPhysicsBody |
Agrega simulación física a un SCNNode. |
SCNPhysicsConeTwistJoint |
El espacio de nombres SceneKit proporciona gráficos 3D basados en gráficos 3D basados en escenas de alto nivel. |
SCNPhysicsContact |
Cómo dos objetos SCNPhysicsBody están en contacto entre sí. |
SCNPhysicsContactDelegate |
Delegar funciones de objeto que responden a los toques entre SCNPhysicsBody objetos. |
SCNPhysicsContactDelegate_Extensions |
Métodos de extensión a la ISCNPhysicsContactDelegate interfaz para admitir todos los métodos del SCNPhysicsContactDelegate protocolo. |
SCNPhysicsContactEventArgs |
Proporciona datos para los DidUpdateContacteventos , E:SceneKit.SCNPhysicsContactEventArgs.DidEndContact y E:SceneKit.SCNPhysicsContactEventArgs.DidUpdateContact . |
SCNPhysicsField |
Aplica fuerzas a todos los objetos SCNPhysicsBody de un volumen determinado. |
SCNPhysicsHingeJoint |
Un SCNPhysicsBehavior que adjunta dos objetos SCNPhysicsBody a lo largo de un solo eje. |
SCNPhysicsShape |
Volumen sólido para SCNPhysicsBody. Se usa en la detección de colisiones. |
SCNPhysicsShapeOptions |
Claves válidas para el |
SCNPhysicsShapeOptionsKeys |
Define claves válidas para su uso con el |
SCNPhysicsShapeOptionsTypes |
Tipo geométrico asociado a SCNPhysicsShapes. |
SCNPhysicsSliderJoint |
Un SCNPhysicsBehavior que conecta dos objetos SCNPhysicsBody, lo que les permite deslizar y girar alrededor de sus puntos de conexión. |
SCNPhysicsTest |
Opciones válidas para su uso con M:SceneKit.SCNPhysicsWorld.ContactTest*. |
SCNPhysicsTestKeys |
Contiene valores que controlan la búsqueda, la selección de la parte posterior y las pruebas de colisión. |
SCNPhysicsTestSearchModeKeys |
Enumera los valores que controlan qué resultados de búsqueda de colisión se devuelven. |
SCNPhysicsVehicle |
Un SCNPhysicsBehavior que simula la física de un vehículo en rueda. |
SCNPhysicsVehicleWheel |
Apariencia y características físicas de una rueda en un SCNPhysicsVehicle. |
SCNPhysicsWorld |
Simulación física que modela colisiones y otras propiedades relacionadas con la física en un SCNScene. |
SCNPlane |
que SCNGeometry es un plano finito rectangular de un solo lado. |
SCNProgram |
Realiza la representación personalizada mediante sombreadores escritos en OpenGL Shading Language. |
SCNProgramDelegate |
Objeto delegado para objetos SCNProgram. |
SCNProgramDelegate_Extensions |
Métodos de extensión a la ISCNProgramDelegate interfaz para admitir todos los métodos del SCNProgramDelegate protocolo. |
SCNProgramSemanticOptions |
Define para MappingChannel su uso con SetSemantic(NSString, String, SCNProgramSemanticOptions). |
SCNPropertyControllers |
El espacio de nombres SceneKit proporciona gráficos 3D basados en gráficos 3D basados en escenas de alto nivel. |
SCNPyramid |
Que SCNGeometry es una pirámide rectangular derecha. |
SCNReferenceNode |
que SCNNode carga su contenido desde un archivo de escena. |
SCNRenderer |
Representa un SCNScene en un contexto de OpenGL. |
SCNRenderingArguments |
Define las claves para su uso con Render(SCNNode, SCNRenderer, NSDictionary) y SetSemantic(NSString, String, SCNProgramSemanticOptions). |
SCNRenderingOptions |
que DictionaryContainer define |
SCNReplicatorConstraint |
El espacio de nombres SceneKit proporciona gráficos 3D basados en gráficos 3D basados en escenas de alto nivel. |
SCNScene |
Descripción de nivel superior de una escena 3D. |
SCNSceneExportDelegate |
Protocolo que define métodos para controlar la exportación de una escena a un archivo. |
SCNSceneExportDelegate_Extensions |
Métodos de extensión a la ISCNSceneExportDelegate interfaz para admitir todos los métodos del SCNSceneExportDelegate protocolo. |
SCNSceneLoadingOptions |
Opciones para la carga de escenas. |
SCNSceneRenderer |
Clase de implementación de la ISCNSceneRenderer interfaz. |
SCNSceneRenderer_Extensions |
Métodos de extensión a la ISCNSceneRenderer interfaz para admitir todos los métodos del SCNSceneRenderer protocolo. |
SCNSceneRendererDelegate |
El objeto Delegate para la clase SCNRenderer define los métodos que reflejan los eventos de representación. |
SCNSceneRendererDelegate_Extensions |
Métodos de extensión a la ISCNSceneRendererDelegate interfaz para admitir todos los métodos del SCNSceneRendererDelegate protocolo. |
SCNSceneSource |
Lee los datos que definen la escena de un archivo o un objeto NSData. |
SCNSceneSourceLoadErrors |
Enumera los tipos de error que se pueden producir al cargar SCNSceneSources. |
SCNSceneSourceLoading |
Opciones para crear y cargar objetos SCNScene. |
SCNSceneSourceProperties |
Claves de metadatos asociadas a un archivo de escena. Se usa con GetProperty(NSString). |
SCNShadable |
Implementación de ISCNShadable. |
SCNShadable_Extensions |
Métodos de extensión a la ISCNShadable interfaz para admitir todos los métodos del SCNShadable protocolo. |
SCNShaderModifiers |
Que DictionaryContainer contiene opciones para sombreadores. |
SCNShape |
Un SCNGeometry objeto creado a partir de una ruta de acceso 2D, opcionalmente extruida en tres dimensiones. |
SCNSkinner |
Obtiene acceso al gráfico de escenas en compatibilidad con la animación esquelética. |
SCNSliderConstraint |
El espacio de nombres SceneKit proporciona gráficos 3D basados en gráficos 3D basados en escenas de alto nivel. |
SCNSphere |
que SCNGeometry es una esfera. |
SCNTechnique |
Proporciona pasos de dibujo adicionales, cada uno de los cuales aplica un sombreador. |
SCNTechniqueSupport |
Implementación de ISCNTechniqueSupport que simplemente contiene una referencia a .SCNTechnique |
SCNText |
Basado SCNGeometry en una cadena, opcionalmente extruida en tres dimensiones. |
SCNTimingFunction |
El espacio de nombres SceneKit proporciona gráficos 3D basados en gráficos 3D basados en escenas de alto nivel. |
SCNTorus |
que SCNGeometry es un sólido en forma de anillo. |
SCNTransaction |
Permite aplicar un conjunto de modificaciones atómicamente. |
SCNTransformConstraint |
que SCNConstraint ejecuta una función que especifica un cambio en la transformación (posición, rotación y escala) en un nodo o nodos. |
SCNTube |
Que SCNGeometry es un cilindro con un agujero a lo largo de su eje central. |
SCNView | |
SCNView.SCNViewAppearance |
Clase de apariencia para objetos de tipo SCNView. |
Estructuras
SCNMatrix4 |
Matriz de 4 x 4. |
SCNQuaternion |
Representa un cuaternión y contiene métodos que operan en ellos. |
SCNVector3 |
Vector de 3 componentes. |
SCNVector4 |
Vector de 4 componentes. |
Interfaces
ISCNActionable |
Interfaz que representa los métodos necesarios (si los hay) del protocolo SCNActionable. |
ISCNAnimatable |
Interfaz que representa los métodos necesarios (si los hay) del protocolo SCNAnimatable. |
ISCNAnimationProtocol |
El espacio de nombres SceneKit proporciona gráficos 3D basados en gráficos 3D basados en escenas de alto nivel. |
ISCNAvoidOccluderConstraintDelegate |
Interfaz que representa los métodos necesarios (si los hay) del protocolo SCNAvoidOccluderConstraintDelegate. |
ISCNBoundingVolume |
Interfaz que representa los métodos necesarios (si los hay) del protocolo SCNBoundingVolume. |
ISCNBufferStream |
Interfaz para administrar el búfer metal de un sombreador personalizado. |
ISCNCameraControlConfiguration |
El espacio de nombres SceneKit proporciona gráficos 3D basados en gráficos 3D basados en escenas de alto nivel. |
ISCNCameraControllerDelegate |
Interfaz que representa los métodos necesarios (si los hay) del protocolo SCNCameraControllerDelegate. |
ISCNNodeRendererDelegate |
Interfaz que representa los métodos necesarios (si los hay) del protocolo SCNNodeRendererDelegate. |
ISCNPhysicsContactDelegate |
Interfaz que representa los métodos necesarios (si los hay) del protocolo SCNPhysicsContactDelegate. |
ISCNProgramDelegate |
Interfaz que representa los métodos necesarios (si los hay) del protocolo SCNProgramDelegate. |
ISCNSceneExportDelegate |
Interfaz que representa los métodos necesarios (si los hay) del protocolo SCNSceneExportDelegate. |
ISCNSceneRenderer |
Interfaz que representa los métodos necesarios (si los hay) del protocolo SCNSceneRenderer. |
ISCNSceneRendererDelegate |
Interfaz que representa los métodos necesarios (si los hay) del protocolo SCNSceneRendererDelegate. |
ISCNShadable |
Interfaz que representa los métodos necesarios (si los hay) del protocolo SCNShadable. |
ISCNTechniqueSupport |
Interfaz que representa los métodos necesarios (si los hay) del protocolo SCNTechniqueSupport. |
Enumeraciones
SCNActionTimingMode |
Enumera las curvas de velocidad para su uso con SCNAction objetos . |
SCNAnimationImportPolicy |
Enumera las directivas de importación de animación. |
SCNAntialiasingMode |
Enumera los valores que controlan el comportamiento de suavizado de contorno. |
SCNBillboardAxis |
Enumeración de bloqueos de ejes disponibles para los nodos restringidos por SCNBillboardConstraint. |
SCNBlendMode |
Enumeración de las formas en que SceneKit puede combinar colores de un material con colores que ya existen en el destino de representación. |
SCNBufferFrequency |
Enumera los valores que controlan si los controladores se invocan por fotograma, por nodo por fotograma o por nodo por fotograma por fotograma por fotograma por sombreado. |
SCNCameraProjectionDirection |
El espacio de nombres SceneKit proporciona gráficos 3D basados en gráficos 3D basados en escenas de alto nivel. |
SCNChamferMode |
Enumera las formas SCNShape en que se puede achacar; en su parte delantera, trasera o ambos lados. |
SCNColorMask |
El espacio de nombres SceneKit proporciona gráficos 3D basados en gráficos 3D basados en escenas de alto nivel. |
SCNCullMode |
Enumeración que determina qué caras de una superficie SCNMaterial se representan. |
SCNDebugOptions |
Enumera las opciones de superposición de depuración. |
SCNErrorCode |
El espacio de nombres SceneKit proporciona gráficos 3D basados en gráficos 3D basados en escenas de alto nivel. |
SCNFillMode |
El espacio de nombres SceneKit proporciona gráficos 3D basados en gráficos 3D basados en escenas de alto nivel. |
SCNFilterMode |
Enumeración de modos de filtrado de texturas. |
SCNGeometryPrimitiveType |
Enumeración de primitivos de geometría 2D. |
SCNGeometrySourceSemantics |
Enumera la semántica de los datos geometry. |
SCNHitTestSearchMode |
El espacio de nombres SceneKit proporciona gráficos 3D basados en gráficos 3D basados en escenas de alto nivel. |
SCNInteractionMode |
El espacio de nombres SceneKit proporciona gráficos 3D basados en gráficos 3D basados en escenas de alto nivel. |
SCNMorpherCalculationMode |
Enumeración de fórmulas de interpolación válidas para CalculationMode. |
SCNMovabilityHint |
Enumera los valores que indican a SceneKit si se espera que los nodos se muevan con el tiempo. |
SCNNodeFocusBehavior |
Enumera los estados que se pueden centrar de un SCNNodeobjeto . |
SCNParticleBirthDirection |
Enumera la dirección inicial de las partículas emitidas por .SCNParticleSystem |
SCNParticleBirthLocation |
Enumeración de la ubicación inicial de las partículas emitidas por .SCNParticleSystem |
SCNParticleBlendMode |
Enumeración de las formas en que se representarán las partículas superpuestas emitidas por .SCNParticleSystem |
SCNParticleEvent |
Enumeración de eventos de ciclo de vida para partículas emitidas por .SCNParticleSystem Se usa con HandleEvent(SCNParticleEvent, NSString[], SCNParticleEventHandler). |
SCNParticleImageSequenceAnimationMode |
Enumeración de modos de reproducción para SCNParticleSystemlas partículas cuyas partículas se representan como una secuencia de imágenes. |
SCNParticleInputMode |
Enumera cómo se anima una propiedad de partícula (durante la duración de la partícula, a medida que la partícula viaja a través de una distancia o en función de otra propiedad). Se usa con InputMode. |
SCNParticleModifierStage |
Enumera los momentos en los que se debe aplicar el modificador especificado en AddModifier(NSString[], SCNParticleModifierStage, SCNParticleModifierHandler) . |
SCNParticleOrientationMode |
Enumera la alineación de las partículas emitidas por un SCNParticleSystemobjeto . Se usa con OrientationMode. |
SCNParticleSortingMode |
Enumeración que especifica el orden en que se representan las partículas emitidas por un T:SceneKit.SCNParticleScene . |
SCNPhysicsBodyType |
Enumeración que especifica si SCNPhysicsBody es dinámico, kinemático o estático. Se usa con CreateBody(SCNPhysicsBodyType, SCNPhysicsShape). |
SCNPhysicsCollisionCategory |
El valor predeterminado de las propiedades de colisión de .SCNPhysicsBody |
SCNPhysicsFieldScope |
Enumera los valores que especifican si un SCNPhysicsField objeto afecta a objetos dentro o fuera de su borde. |
SCNPhysicsSearchMode |
Enumera los valores que controlan qué resultados de búsqueda física se devuelven. |
SCNPhysicsShapeType |
Enumeración de categorías para SCNPhysicsShapes. |
SCNReferenceLoadingPolicy |
Enumera las posibles directivas de carga de SCNReferenceNode objetos. |
SCNRenderingApi |
Enumera los valores que indican las API Metal o OpenGLES2. |
SCNSceneSourceStatus |
Enumera los estados de un SCNSceneSource. |
SCNShadowMode |
Control de enumeración cuando se calculan las sombras. |
SCNTessellationSmoothingMode |
El espacio de nombres SceneKit proporciona gráficos 3D basados en gráficos 3D basados en escenas de alto nivel. |
SCNTransparencyMode |
Enumera las técnicas para calcular la transparencia. |
SCNWrapMode |
Enumera las técnicas de ajuste de textura. |
Delegados
SCNActionNodeWithElapsedTimeHandler |
Controlador de finalización usado con CustomAction(Double, SCNActionNodeWithElapsedTimeHandler). |
SCNAnimationDidStartHandler |
El espacio de nombres SceneKit proporciona gráficos 3D basados en gráficos 3D basados en escenas de alto nivel. |
SCNAnimationDidStopHandler |
El espacio de nombres SceneKit proporciona gráficos 3D basados en gráficos 3D basados en escenas de alto nivel. |
SCNAnimationEventHandler |
Controlador de finalización para su uso con Create(nfloat, SCNAnimationEventHandler). |
SCNBindingHandler |
Controlador de finalización usado con HandleBinding(String, SCNBindingHandler). |
SCNBufferBindingHandler |
El espacio de nombres SceneKit proporciona gráficos 3D basados en gráficos 3D basados en escenas de alto nivel. |
SCNFieldForceEvaluator |
Delegado para el CustomField(SCNFieldForceEvaluator) método . |
SCNNodeHandler |
El espacio de nombres SceneKit proporciona gráficos 3D basados en gráficos 3D basados en escenas de alto nivel. |
SCNNodePredicate |
Delegado para su uso con EnumerateChildNodes(SCNNodePredicate). |
SCNParticleEventHandler |
Controlador de finalización para su uso con HandleEvent(SCNParticleEvent, NSString[], SCNParticleEventHandler). |
SCNParticleModifierHandler |
Delegado utilizado como |
SCNSceneExportProgressHandler |
Controlador de continuación al que SceneKit llama repetidamente al exportar una escena. |
SCNSceneSourceFilter |
Delegue que pruebe los objetos de la escena para su inclusión. |
SCNSceneSourceStatusHandler |
Devolución de llamada usada para reflejar el progreso durante la ejecución de SceneFromOptions(SCNSceneLoadingOptions, SCNSceneSourceStatusHandler). |
SCNTransformConstraintHandler |
Delegado usado en llamadas a Create(Boolean, SCNTransformConstraintHandler). |
Comentarios
Scene Kit es un marco para gráficos 3D, basados en gráficos jerárquicos de escenas.
Las clases fundamentales de Scene Kit son SCNScene, que contiene todo el contenido y T:CoreGraphics.SceneKit.SCNView, que UIView representa un SCNScene.
tiene SCNScene una RootNode propiedad de tipo SCNNode. SCNNodetienen P:SceneKit.SCNNode.ChildNodes e implementan System.Collections.Generic.IEnumerable`1<class MonoTouch.SceneKit.SCNNode>
. Las propiedades de SCNNode incluyen , de tipo SCNCamera, Geometry, de tipo SCNGeometryy Light, de tipo SCNLightCamera.
Además, cada SCNNode tiene una Position propiedad que define una ubicación en el espacio relativa a las SCNNodepropiedades ParentNode y P:SceneKit.SCNNode.FirstMaterial y P:SceneKit.SCNNode.Materials que crean la SCNNodeapariencia de .
En el ejemplo siguiente se muestra una vista mínima del Kit de escenas:
public MySceneView (RectangleF 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);
}
Geometría
Todas las geometrías de SceneKit se describen mediante subclases de SCNGeometry:
SCNCapsule | Una cápsula en forma de píldora con capuchas de extremo ajustables | |
SCNCone | Un cono cuya parte superior se puede truncar | |
SCNBox | Caja rectangular. | |
SCNCylinder | Un cilindro. | |
SCNFloor | Un plano infinito con la capacidad de reflejar la geometría por encima de ella. | |
SCNPlane | Rectángulo de un lado. | |
SCNPyramid | Un tetrahedro. | |
SCNShape | Forma 2D que se ha extruido en la tercera dimensión. | |
SCNSphere | Una bola. | |
SCNText | Texto extruido. | |
SCNTorus | Forma de anillo. | |
SCNTube | Un cilindro sin almacenar. |
Además, SceneKit puede cargar escenas completas desde . Archivos DAE con el FromFile método .
Por último, los desarrolladores pueden crear geometría personalizada mediante el (SceneKit.SCNGeometrySource[], SceneKit.SCNGeometryElement[]* con matrices de objetos y SCNGeometryElement adecuadosSCNGeometrySource. A continuación se muestra la creación de una pirámide personalizada:
//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 });