SceneKit Namespace

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 SCNAvoidOccluderConstraintDelegate).

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 SCNCameraControllerDelegate).

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 options argumento em HitTest(SCNVector3, SCNVector3, SCNHitTestOptions).

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 options criação de novas SCNPhysicsShape instâncias.

SCNPhysicsShapeOptionsKeys

Define chaves válidas para uso com o options dicionário passado para Create(SCNGeometry, SCNPhysicsShapeOptions) e Create(SCNNode, SCNPhysicsShapeOptions) .

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 options ao criar uma instância de um SCNView.

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

Um UIView que renderiza SCNScenes.

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 SCNAnimationObjective-C.

ISCNAvoidOccluderConstraintDelegate

Essa interface representa o protocolo SCNAvoidOccluderConstraintDelegateObjective-C.

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 SCNCameraControlConfigurationObjective-C.

ISCNCameraControllerDelegate

Essa interface representa o protocolo SCNCameraControllerDelegateObjective-C.

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 handler em AddModifier(NSString[], SCNParticleModifierStage, SCNParticleModifierHandler).

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 });