SceneKit Namespace
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
O namespace SceneKit fornece elementos gráficos 3D baseados em grafo de cena de alto nível.
Classes
| Nome | Description |
|---|---|
| _SCNShaderModifiers |
Um dicionário de snippets de sombreador. |
| SCNAccelerationConstraint |
O namespace SceneKit fornece elementos gráficos 3D baseados em grafo de cena de alto nível. |
| SCNAction |
Executa ações em um SCNNode, incluindo alterações na aparência, geometria, animações ou funções arbitrárias. |
| SCNActionable |
Permite que ações sejam aplicadas. |
| SCNAnimatable |
Permite que as animações sejam aplicadas. |
| SCNAnimation |
O namespace SceneKit fornece elementos gráficos 3D baseados em grafo de cena de alto nível. |
| SCNAnimationEvent |
Executa uma função em um momento específico durante uma animação. |
| SCNAnimationPlayer |
O namespace SceneKit fornece elementos gráficos 3D baseados em grafo de cena de alto nível. |
| SCNAudioPlayer |
Mantém um SCNAudioSource ou AVAudioNode para uso com áudio posicional. |
| SCNAudioSource |
Uma fonte de áudio reutilizável para áudio posicional em cenas do SceneKit. |
| SCNAvoidOccluderConstraint |
O namespace SceneKit fornece elementos gráficos 3D baseados em grafo de cena de alto nível. |
| SCNAvoidOccluderConstraintDelegate |
Essa é uma classe que implementa a interface ISCNAvoidOccluderConstraintDelegate (para o protocolo Subclasse essa classe para criar facilmente um tipo que implementa o protocolo. Uma alternativa é criar uma subclasse NSObject e implementar a interface ISCNAvoidOccluderConstraintDelegate. |
| SCNAvoidOccluderConstraintDelegate_Extensions |
Métodos de extensão para a ISCNAvoidOccluderConstraintDelegate interface para dar suporte a todos os métodos do protocolo SCNAvoidOccluderConstraintDelegate. |
| SCNBillboardConstraint |
Restringe automaticamente um SCNNode para que ele sempre aponte para o nó de renderização atual. |
| SCNBoundingVolume |
Funções que definem um volume no espaço 3D. |
| SCNBox |
Um SCNGeometry cujos rostos são todos retângulos. |
| SCNCamera |
Especifica uma câmera, com atributos como campo de exibição e profundidade de exibição. |
| SCNCameraController |
O namespace SceneKit fornece elementos gráficos 3D baseados em grafo de cena de alto nível. |
| SCNCameraControllerDelegate |
Essa é uma classe que implementa a interface ISCNCameraControllerDelegate (para o protocolo Subclasse essa classe para criar facilmente um tipo que implementa o protocolo. Uma alternativa é criar uma subclasse NSObject e implementar a interface ISCNCameraControllerDelegate. |
| SCNCameraControllerDelegate_Extensions |
Métodos de extensão para a ISCNCameraControllerDelegate interface para dar suporte a todos os métodos do protocolo SCNCameraControllerDelegate. |
| SCNCapsule |
Um SCNGeometry cilindro com extremidades tampadas. |
| SCNCone |
Um SCNGeometry frusto circular. Ou um chapéu de festa. |
| SCNConstraint |
Ajusta automaticamente a transformação de um nó. |
| SCNCylinder |
Um SCNGeometry cilindro circular direito. |
| SCNDistanceConstraint |
O namespace SceneKit fornece elementos gráficos 3D baseados em grafo de cena de alto nível. |
| SCNErrorCodeExtensions |
Métodos de extensão para a SCNErrorCode enumeração. |
| SCNFloor |
Um SCNGeometry plano infinito. |
| SCNGeometry |
Classe base para objetos de geometria do SceneKit |
| SCNGeometryElement |
Combina informações sobre vértices e um primitivo de desenho. Mapeia para um único comando de desenho enviado para a GPU. |
| SCNGeometrySource |
Fornece dados de vértice que, em conjunto com SCNGeometryElements, definem um objeto 3D. |
| SCNGeometrySourceSemantic |
Enumera atributos de modo de vértice. |
| SCNGeometryTessellator |
O namespace SceneKit fornece elementos gráficos 3D baseados em grafo de cena de alto nível. |
| SCNHitTest |
Constantes para uso com o |
| SCNHitTestOptions |
Opções de configuração para teste de ocorrência em SCNNode e SCNSceneRenderer |
| SCNHitTestResult |
Informações sobre o SCNNode (se houver) localizado em um ponto específico ou ao longo de um raio. |
| SCNIKConstraint |
Um SCNConstraint que aplica cinemática inversa. |
| SCNJavaScript |
Classe estática que contém um método para exportar módulos JavaScript. |
| SCNLayer |
O namespace SceneKit fornece elementos gráficos 3D baseados em grafo de cena de alto nível. |
| SCNLevelOfDetail |
Controla geometrias alternativas renderizadas em limites no espaço do mundo ou espaço na tela. |
| SCNLight |
Uma fonte de luz, usada para todos os SCNLightTypes. |
| SCNLightAttribute |
O namespace SceneKit fornece elementos gráficos 3D baseados em grafo de cena de alto nível. |
| SCNLightingModel |
Constantes para uso com a LightingModelName propriedade, que define a maneira como luzes e materiais se combinam para produzir uma cor renderizada específica. |
| SCNLightType |
Enumera os tipos de SCNLight. |
| SCNLookAtConstraint |
Um SCNConstraint que orienta um nó a apontar para outro nó. |
| SCNMaterial |
Especifica as características de iluminação e sombreamento da superfície de um SCNGeometry. |
| SCNMaterialProperty |
Configura as várias propriedades (como cor e textura) de um SCNMaterial. |
| SCNMorpher |
Uma transformação animada de um SCNGeometry em um ou mais objetos SCNGeometry de destino. |
| SCNNode |
Um nó no grafo de cena. |
| SCNNodeRendererDelegate |
Interface que define funções de objeto delegado para adicionar código de desenho OpenGL personalizado. |
| SCNNodeRendererDelegate_Extensions |
Métodos de extensão para a ISCNNodeRendererDelegate interface para dar suporte a todos os métodos do protocolo SCNNodeRendererDelegate. |
| SCNParticleProperty |
O namespace SceneKit fornece elementos gráficos 3D baseados em grafo de cena de alto nível. |
| SCNParticlePropertyController |
Anima uma propriedade das partículas emitidas por um SCNParticleSystem. |
| SCNParticleSystem |
Emite pequenos sprites cujos comportamentos são especificados pelo desenvolvedor. |
| SCNPhysicsBallSocketJoint |
Um SCNPhysicsBehavior que permite que dois objetos SCNPhysicsBody giram entre si. |
| SCNPhysicsBehavior |
Controla o comportamento de um ou mais objetos SCNPhysicsBody. |
| SCNPhysicsBody |
Adiciona simulação física a um SCNNode. |
| SCNPhysicsConeTwistJoint |
O namespace SceneKit fornece elementos gráficos 3D baseados em grafo de cena de alto nível. |
| SCNPhysicsContact |
Como dois objetos SCNPhysicsBody estão em contato entre si. |
| SCNPhysicsContactDelegate |
Delegar funções de objeto respondendo a toques entre SCNPhysicsBody objetos.. |
| SCNPhysicsContactDelegate_Extensions |
Métodos de extensão para a ISCNPhysicsContactDelegate interface para dar suporte a todos os métodos do protocolo SCNPhysicsContactDelegate. |
| SCNPhysicsContactEventArgs |
Fornece dados para um evento com base em um método de protocolo Objective-C. |
| SCNPhysicsField |
Aplica forças a todos os objetos SCNPhysicsBody em um determinado volume. |
| SCNPhysicsHingeJoint |
Um SCNPhysicsBehavior que anexa dois objetos SCNPhysicsBody ao longo de um único eixo. |
| SCNPhysicsShape |
Um volume sólido para um SCNPhysicsBody. Usado na detecção de colisão. |
| SCNPhysicsShapeOptions |
Chaves válidas para a |
| SCNPhysicsShapeOptionsKeys |
Define chaves válidas para uso com o |
| SCNPhysicsShapeOptionsTypes |
Tipo geométrico associado a SCNPhysicsShapes. |
| SCNPhysicsSliderJoint |
Um SCNPhysicsBehavior que conecta dois objetos SCNPhysicsBody, permitindo que eles deslizem e girem em torno de seus pontos de conexão. |
| SCNPhysicsTest |
Opções válidas para uso com ContactTest(SCNPhysicsBody, SCNPhysicsBody, NSDictionary). |
| SCNPhysicsTestKeys |
Contém valores que controlam a pesquisa, o abate de backface e o teste de colisão. |
| SCNPhysicsTestSearchModeKeys |
Enumera valores que controlam quais resultados da pesquisa de colisão são retornados. |
| SCNPhysicsVehicle |
Um SCNPhysicsBehavior que simula a física de um veículo rodado. |
| SCNPhysicsVehicleWheel |
A aparência e as características físicas de uma roda em um SCNPhysicsVehicle. |
| SCNPhysicsWorld |
Uma simulação física que modela colisões e outras propriedades relacionadas à física em um SCNScene. |
| SCNPlane |
Um SCNGeometry plano finito retangular de lado único. |
| SCNProgram |
Executa a renderização personalizada usando sombreadores escritos em Linguagem de Sombreamento OpenGL. |
| SCNProgramDelegate |
Objeto delegate para objetos SCNProgram. |
| SCNProgramDelegate_Extensions |
Métodos de extensão para a ISCNProgramDelegate interface para dar suporte a todos os métodos do protocolo SCNProgramDelegate. |
| SCNProgramSemanticOptions |
Define o MappingChannel para uso com SetSemantic(NSString, String, SCNProgramSemanticOptions). |
| SCNPropertyControllers |
O namespace SceneKit fornece elementos gráficos 3D baseados em grafo de cena de alto nível. |
| SCNPyramid |
Uma SCNGeometry pirâmide retangular direita. |
| SCNReferenceNode |
Um SCNNode que carrega seu conteúdo de um arquivo de cena. |
| SCNRenderer |
Renderiza um SCNScene em um contexto OpenGL. |
| SCNRenderingArguments |
Define chaves para uso com Render(SCNNode, SCNRenderer, NSDictionary) e SetSemantic(NSString, String, SCNProgramSemanticOptions). |
| SCNRenderingOptions |
Um DictionaryContainer que define |
| SCNReplicatorConstraint |
O namespace SceneKit fornece elementos gráficos 3D baseados em grafo de cena de alto nível. |
| SCNScene |
A descrição de nível mais alto de uma cena 3D. |
| SCNSceneExportDelegate |
Protocolo que define métodos para lidar com a exportação de uma cena para um arquivo. |
| SCNSceneExportDelegate_Extensions |
Métodos de extensão para a ISCNSceneExportDelegate interface para dar suporte a todos os métodos do protocolo SCNSceneExportDelegate. |
| SCNSceneLoadingOptions |
Opções para carregamento de cena. |
| SCNSceneRenderer |
Classe de implementação da ISCNSceneRenderer interface. |
| SCNSceneRenderer_Extensions |
Métodos de extensão para a ISCNSceneRenderer interface para dar suporte a todos os métodos do protocolo SCNSceneRenderer. |
| SCNSceneRendererDelegate |
Objeto delegate para a classe SCNRenderer, define métodos que refletem eventos de renderização. |
| SCNSceneRendererDelegate_Extensions |
Métodos de extensão para a ISCNSceneRendererDelegate interface para dar suporte a todos os métodos do protocolo SCNSceneRendererDelegate. |
| SCNSceneSource |
Lê dados de definição de cena de um arquivo ou objeto NSData. |
| SCNSceneSourceLoadErrors |
Enumera tipos de erro que podem ocorrer ao carregar SCNSceneSources. |
| SCNSceneSourceLoading |
Opções para criar e carregar objetos SCNScene. |
| SCNSceneSourceProperties |
Chaves de metadados associadas a um arquivo de cena. Usado com GetProperty(NSString). |
| SCNShadable |
Implementação de ISCNShadable. |
| SCNShadable_Extensions |
Métodos de extensão para a ISCNShadable interface para dar suporte a todos os métodos do protocolo SCNShadable. |
| SCNShaderModifiers |
Uma DictionaryContainer opção que contém sombreadores. |
| SCNShape |
Um SCNGeometry criado a partir de um caminho 2D, opcionalmente extrudado em três dimensões. |
| SCNSkinner |
Acessa o grafo de cena em suporte à animação esquelética. |
| SCNSliderConstraint |
O namespace SceneKit fornece elementos gráficos 3D baseados em grafo de cena de alto nível. |
| SCNSphere |
Um SCNGeometry que é uma esfera. |
| SCNTechnique |
Fornece passagens de desenho adicionais, cada uma delas aplica um sombreador. |
| SCNTechniqueSupport |
A implementação disso ISCNTechniqueSupport simplesmente contém uma referência ao SCNTechnique. |
| SCNText |
Um SCNGeometry baseado em uma cadeia de caracteres, opcionalmente extrudado em três dimensões. |
| SCNTimingFunction |
O namespace SceneKit fornece elementos gráficos 3D baseados em grafo de cena de alto nível. |
| SCNTorus |
Um SCNGeometry que é um sólido em forma de anel. |
| SCNTransaction |
Permite que um conjunto de modificações seja aplicado atomicamente. |
| SCNTransformConstraint |
Um SCNConstraint que executa uma função que especifica uma alteração na transformação (posição, rotação e escala) em um nó ou nós. |
| SCNTube |
Um SCNGeometry cilindro com um buraco circular ao longo do eixo central. |
| SCNView | |
| SCNView.SCNViewAppearance |
Classe de aparência para objetos do tipo SCNView. |
Estruturas
| Nome | Description |
|---|---|
| SCNMatrix4 |
Representa uma matriz 4x4 usando um layout de memória principal de coluna. |
| SCNQuaternion |
Representa um Quatérnio. |
| SCNVector3 |
Representa um vetor 3D usando três números de ponto flutuante de precisão única. |
| SCNVector4 |
Representa um vetor 4D usando quatro números de ponto flutuante de precisão única. |
Interfaces
| Nome | Description |
|---|---|
| ISCNActionable |
Permite que ações sejam aplicadas. |
| ISCNAnimatable |
Permite que as animações sejam aplicadas. |
| ISCNAnimationProtocol |
Essa interface representa o protocolo |
| ISCNAvoidOccluderConstraintDelegate |
Essa interface representa o protocolo |
| ISCNBoundingVolume |
Funções que definem um volume no espaço 3D. |
| ISCNBufferStream |
Interface para gerenciar o buffer metal de um sombreador personalizado. |
| ISCNCameraControlConfiguration |
Essa interface representa o protocolo |
| ISCNCameraControllerDelegate |
Essa interface representa o protocolo |
| ISCNNodeRendererDelegate |
Interface que define funções de objeto delegado para adicionar código de desenho OpenGL personalizado. |
| ISCNPhysicsContactDelegate |
Delegar funções de objeto respondendo a toques entre SCNPhysicsBody objetos.. |
| ISCNProgramDelegate |
Objeto delegate para objetos SCNProgram. |
| ISCNSceneExportDelegate |
Protocolo que define métodos para lidar com a exportação de uma cena para um arquivo. |
| ISCNSceneRenderer |
Classe de implementação da ISCNSceneRenderer interface. |
| ISCNSceneRendererDelegate |
Objeto delegate para a classe SCNRenderer, define métodos que refletem eventos de renderização. |
| ISCNShadable |
Implementação de ISCNShadable. |
| ISCNTechniqueSupport |
A implementação disso ISCNTechniqueSupport simplesmente contém uma referência ao SCNTechnique. |
Enumerações
| Nome | Description |
|---|---|
| SCNActionTimingMode |
Enumera as curvas de taxa para uso com SCNAction objetos. |
| SCNAnimationImportPolicy |
Enumera políticas de importação de animação. |
| SCNAntialiasingMode |
Enumera valores que controlam o comportamento de suavização. |
| SCNBillboardAxis |
Enumeração de bloqueios de eixos disponíveis para nós restritos por SCNBillboardConstraint. |
| SCNBlendMode |
Enumeração das maneiras pelas quais o SceneKit pode mesclar cores de um material com cores que já existem no destino de renderização. |
| SCNBufferFrequency |
Enumera valores que controlam se os manipuladores são invocados por quadro, por nó por quadro ou por nó por quadro por renderizável sombreado. |
| SCNCameraProjectionDirection |
O namespace SceneKit fornece elementos gráficos 3D baseados em grafo de cena de alto nível. |
| SCNChamferMode |
Enumera as maneiras como um SCNShape pode ser chamfered; em sua frente, costas ou ambos os lados. |
| SCNColorMask |
O namespace SceneKit fornece elementos gráficos 3D baseados em grafo de cena de alto nível. |
| SCNCullMode |
Enumeração determinando quais faces de uma superfície SCNMaterial são renderizadas. |
| SCNDebugOptions |
Enumera opções de sobreposição de depuração. |
| SCNErrorCode |
Identifica erros relatados pelo SceneKit. |
| SCNFillMode |
O namespace SceneKit fornece elementos gráficos 3D baseados em grafo de cena de alto nível. |
| SCNFilterMode |
Enumeração de modos de filtragem de textura. |
| SCNGeometryPrimitiveType |
Enumeração de primitivos de geometria 2D. |
| SCNGeometrySourceSemantics |
Enumera semântica para dados de geometria. |
| SCNHitTestSearchMode |
O namespace SceneKit fornece elementos gráficos 3D baseados em grafo de cena de alto nível. |
| SCNInteractionMode |
O namespace SceneKit fornece elementos gráficos 3D baseados em grafo de cena de alto nível. |
| SCNLightAreaType |
O namespace SceneKit fornece elementos gráficos 3D baseados em grafo de cena de alto nível. |
| SCNLightProbeType |
O namespace SceneKit fornece elementos gráficos 3D baseados em grafo de cena de alto nível. |
| SCNLightProbeUpdateType |
O namespace SceneKit fornece elementos gráficos 3D baseados em grafo de cena de alto nível. |
| SCNMorpherCalculationMode |
Enumeração da fórmula de interpolação válida para CalculationMode. |
| SCNMovabilityHint |
Enumera valores que informam ao SceneKit se os nós devem ser movidos ao longo do tempo. |
| SCNNodeFocusBehavior |
Enumera os estados focalizáveis de um SCNNode. |
| SCNParticleBirthDirection |
Enumera a direção inicial das partículas emitidas por um SCNParticleSystem. |
| SCNParticleBirthLocation |
Enumeração do local inicial das partículas emitidas por um SCNParticleSystem. |
| SCNParticleBlendMode |
A enumeração das maneiras pelas quais partículas sobrepostas emitidas por um SCNParticleSystem serão renderizadas. |
| SCNParticleEvent |
Enumeração de eventos de ciclo de vida para partículas emitidas por um SCNParticleSystem. Usado com HandleEvent(SCNParticleEvent, NSString[], SCNParticleEventHandler). |
| SCNParticleImageSequenceAnimationMode |
Enumeração de modos de reprodução para SCNParticleSystem's cujas partículas são renderizadas como uma sequência de imagens. |
| SCNParticleInputMode |
Enumera como uma propriedade de partícula é animada (ao longo do tempo de vida da partícula, à medida que a partícula viaja à distância ou com base em outra propriedade). Usado com InputMode. |
| SCNParticleModifierStage |
Enumera momentos em AddModifier(NSString[], SCNParticleModifierStage, SCNParticleModifierHandler) que o modificador especificado deve ser aplicado. |
| SCNParticleOrientationMode |
Enumera o alinhamento de partículas emitidas por um SCNParticleSystem. Usado com OrientationMode. |
| SCNParticleSortingMode |
Enumeração especificando a ordem na qual as partículas emitidas por um SCNParticleSystem são renderizadas. |
| SCNPhysicsBodyType |
Uma enumeração que especifica se a SCNPhysicsBody origem é dinâmica, cineática ou estática. Usado com CreateBody(SCNPhysicsBodyType, SCNPhysicsShape). |
| SCNPhysicsCollisionCategory |
Padrões para as propriedades de colisão de um SCNPhysicsBody. |
| SCNPhysicsFieldScope |
Enumera valores que especificam se um SCNPhysicsField afeta objetos dentro ou fora de sua borda. |
| SCNPhysicsSearchMode |
Enumera valores que controlam quais resultados da pesquisa física são retornados. |
| SCNPhysicsShapeType |
Enumeração de categorias para SCNPhysicsShapes. |
| SCNReferenceLoadingPolicy |
Enumera possíveis políticas de carregamento para SCNReferenceNode objetos. |
| SCNRenderingApi |
Enumera valores que significam as APIs Metal ou OpenGLES2. |
| SCNSceneSourceStatus |
Enumera os estados de um SCNSceneSource. |
| SCNShadowMode |
Controle de enumeração quando sombras são calculadas. |
| SCNTessellationSmoothingMode |
O namespace SceneKit fornece elementos gráficos 3D baseados em grafo de cena de alto nível. |
| SCNTransparencyMode |
Enumera técnicas para calcular a transparência. |
| SCNWrapMode |
Enumera técnicas de disposição de textura. |
Delegados
| Nome | Description |
|---|---|
| SCNActionNodeWithElapsedTimeHandler |
Manipulador de conclusão usado com CustomAction(Double, SCNActionNodeWithElapsedTimeHandler). |
| SCNAnimationDidStartHandler |
O namespace SceneKit fornece elementos gráficos 3D baseados em grafo de cena de alto nível. |
| SCNAnimationDidStopHandler |
O namespace SceneKit fornece elementos gráficos 3D baseados em grafo de cena de alto nível. |
| SCNAnimationEventHandler |
Manipulador de conclusão para uso com Create(NFloat, SCNAnimationEventHandler). |
| SCNBindingHandler |
Manipulador de conclusão usado com HandleBinding(String, SCNBindingHandler). |
| SCNBufferBindingHandler |
O namespace SceneKit fornece elementos gráficos 3D baseados em grafo de cena de alto nível. |
| SCNFieldForceEvaluator |
Delegar para o CustomField(SCNFieldForceEvaluator) método. |
| SCNNodeHandler |
O namespace SceneKit fornece elementos gráficos 3D baseados em grafo de cena de alto nível. |
| SCNNodePredicate |
Delegar para uso com FindNodes(SCNNodePredicate). |
| SCNParticleEventHandler |
Manipulador de conclusão para uso com HandleEvent(SCNParticleEvent, NSString[], SCNParticleEventHandler). |
| SCNParticleModifierHandler |
Delegado usado como o |
| SCNSceneExportProgressHandler |
Manipulador de continuação que o SceneKit chama repetidamente ao exportar uma cena. |
| SCNSceneSourceFilter |
Delegar que testa objetos na cena para inclusão. |
| SCNSceneSourceStatusHandler |
Retorno de chamada usado para refletir o progresso durante a execução de SceneFromOptions(SCNSceneLoadingOptions, SCNSceneSourceStatusHandler). |
| SCNTransformConstraintHandler |
Delegado usado em chamadas para Create(Boolean, SCNTransformConstraintHandler). |
Comentários
O Kit de Cena é uma estrutura para gráficos 3D, com base em gráficos de cena hierárquicos.
As classes fundamentais no Kit de Cena são SCNScene, que contém todo o conteúdo e SCNView, uma UIView que renderiza um SCNScene.
Um SCNScene tem uma RootNode propriedade do tipo SCNNode.
SCNNode's têm ChildNodes e implementam System.Collections.Generic.IEnumerable`1<class SceneKit.SCNNode>. Propriedades de SCNNode inclusão Camera, do tipo SCNCamera, Geometrydo tipo SCNGeometrye Lightdo tipo SCNLight.
Além disso, cada SCNNode um tem uma Position propriedade que define um local no espaço em relação aos SCNNode' s ParentNode. Para definir a aparência de um nó, anexe um SCNGeometry ao nó (usando a Geometry propriedade) e adicione SCNMaterial objetos à geometria.
O exemplo a seguir mostra uma exibição mínima do Kit de Cena:
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
Toda a geometria no SceneKit é descrita por subclasses de SCNGeometry:
| SCNCapsule | Uma cápsula em forma de pílula com tampas finais ajustáveis | |
| SCNCone | Um cone cuja parte superior pode ser truncada. | |
| SCNBox | Uma caixa retangular. | |
| SCNCylinder | Um cilindro. | |
| SCNFloor | Um plano infinito com a capacidade de refletir a geometria acima dele. | |
| SCNPlane | Um retângulo unilateral. | |
| SCNPyramid | Um tetraedro. | |
| SCNShape | Uma forma 2D que foi extrudada na 3ª dimensão. | |
| SCNSphere | Uma bola. | |
| SCNText | Texto extrudado. | |
| SCNTorus | Uma forma de rosca. | |
| SCNTube | Um cilindro sem tampa. | |
Além disso, o SceneKit pode carregar cenas inteiras de . Arquivos DAE com o FromFile método.
Por fim, os desenvolvedores podem criar geometria personalizada usando o Create método com matrizes de objetos e SCNGeometrySource apropriadosSCNGeometryElement. O seguinte mostra a criação de uma 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 });
