Compartilhar via


SceneKit Namespace

O namespace SceneKit fornece gráficos 3D baseados em grafo de cena de alto nível.

Classes

_SCNShaderModifiers

Um dicionário de snippets de sombreador.

SCNAccelerationConstraint

O namespace SceneKit fornece 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.

SCNActionable_Extensions

Métodos de extensão para a ISCNActionable interface para dar suporte a todos os métodos do SCNActionable protocolo.

SCNAnimatable

Permite que as animações sejam aplicadas.

SCNAnimatable_Extensions

Métodos de extensão para a ISCNAnimatable interface para dar suporte a todos os métodos do SCNAnimatable protocolo.

SCNAnimatableExtensions

Métodos de extensão para ISCNAnimatable.

SCNAnimation

O namespace SceneKit fornece 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 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 gráficos 3D baseados em grafo de cena de alto nível.

SCNAvoidOccluderConstraintDelegate

O namespace SceneKit fornece gráficos 3D baseados em grafo de cena de alto nível.

SCNAvoidOccluderConstraintDelegate_Extensions

Métodos de extensão para a ISCNAvoidOccluderConstraintDelegate interface para dar suporte a todos os métodos do SCNAvoidOccluderConstraintDelegate protocolo.

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 gráficos 3D baseados em grafo de cena de alto nível.

SCNCameraControllerDelegate

O namespace SceneKit fornece gráficos 3D baseados em grafo de cena de alto nível.

SCNCameraControllerDelegate_Extensions

Métodos de extensão para a ISCNCameraControllerDelegate interface para dar suporte a todos os métodos do SCNCameraControllerDelegate protocolo.

SCNCapsule

Um SCNGeometry que é um cilindro com extremidades tampadas.

SCNCone

Um SCNGeometry que é um frusto circular. Ou um chapéu de festa.

SCNConstraint

Ajusta automaticamente a transformação de um nó.

SCNCylinder

Um SCNGeometry que é um cilindro circular direito.

SCNDistanceConstraint

O namespace SceneKit fornece gráficos 3D baseados em grafo de cena de alto nível.

SCNErrorCodeExtensions

Métodos de extensão para a enumeração SceneKit.SCNErrorCode.

SCNFloor

Um SCNGeometry que é um plano infinito.

SCNGeometry

Classe base para objetos 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 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 gráficos 3D baseados em grafo de cena de alto nível.

SCNLevelOfDetail

Controla geometrias alternativas renderizadas em limites no espaço mundial ou no espaço de tela.

SCNLight

Uma fonte de luz, usada para todos os SCNLightTypes.

SCNLightAttribute

O namespace SceneKit fornece gráficos 3D baseados em grafo de cena de alto nível.

SCNLightingModel

Constantes para uso com a propriedade P:SceneKit.SCNMaterial.LightingModel , 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 SCNNodeRendererDelegate protocolo.

SCNParticleProperty

O namespace SceneKit fornece 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 um ao redor do outro.

SCNPhysicsBehavior

Controla o comportamento de um ou mais objetos SCNPhysicsBody.

SCNPhysicsBody

Adiciona a simulação física a um SCNNode.

SCNPhysicsConeTwistJoint

O namespace SceneKit fornece 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 SCNPhysicsContactDelegate protocolo.

SCNPhysicsContactEventArgs

Fornece dados para o DidUpdateContact, E:SceneKit.SCNPhysicsContactEventArgs.DidEndContact e E:SceneKit.SCNPhysicsContactEventArgs.DidUpdateContact eventos.

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 o options dicionário usado com M:SceneKit.SCNPhysicsShape.Create*.

SCNPhysicsShapeOptionsKeys

Define chaves válidas para uso com o options dicionário passado para M:SceneKit.SCNPhysicsShape.Create*.

SCNPhysicsShapeOptionsTypes

Tipo geométrico associado SCNPhysicsShapea s.

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 M:SceneKit.SCNPhysicsWorld.ContactTest*.

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 com rodas.

SCNPhysicsVehicleWheel

A aparência e as características físicas de uma roda em um SCNPhysicsVehicle.

SCNPhysicsWorld

Uma simulação de física que modela colisões e outras propriedades relacionadas à física em um SCNScene.

SCNPlane

Um SCNGeometry que é um plano finito retangular de lado único.

SCNProgram

Executa a renderização personalizada usando sombreadores escritos em OpenGL Shading Language.

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 SCNProgramDelegate protocolo.

SCNProgramSemanticOptions

Define o MappingChannel para uso com SetSemantic(NSString, String, SCNProgramSemanticOptions).

SCNPropertyControllers

O namespace SceneKit fornece gráficos 3D baseados em grafo de cena de alto nível.

SCNPyramid

Um SCNGeometry que é uma 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 as chaves para uso com Render(SCNNode, SCNRenderer, NSDictionary) e SetSemantic(NSString, String, SCNProgramSemanticOptions).

SCNRenderingOptions

Um DictionaryContainer que define options ao instanciar um SCNView.

SCNReplicatorConstraint

O namespace SceneKit fornece 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 manipular 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 SCNSceneExportDelegate protocolo.

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 SCNSceneRenderer protocolo.

SCNSceneRendererDelegate

O 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 SCNSceneRendererDelegate protocolo.

SCNSceneSource

Lê dados de definição de cena de um arquivo ou objeto NSData.

SCNSceneSourceLoadErrors

Enumera tipos de erro que podem ocorrer durante o carregamento SCNSceneSourcede s.

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 SCNShadable protocolo.

SCNShaderModifiers

Um DictionaryContainer que contém opções para 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 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 das quais aplica um sombreador.

SCNTechniqueSupport

A implementação de ISCNTechniqueSupport que 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 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 que é um cilindro com um buraco ao longo de seu eixo central.

SCNView

Um UIView que renderiza SCNScenes.

SCNView.SCNViewAppearance

Classe de aparência para objetos do tipo SCNView.

Estruturas

SCNMatrix4

Uma matriz 4x4.

SCNQuaternion

Representa um quatérnion e contém métodos que operam neles.

SCNVector3

Um vetor de três componentes.

SCNVector4

Um vetor de 4 componentes.

Interfaces

ISCNActionable

Interface que representa os métodos necessários (se houver) do protocolo SCNActionable.

ISCNAnimatable

Interface que representa os métodos necessários (se houver) do protocolo SCNAnimatable.

ISCNAnimationProtocol

O namespace SceneKit fornece gráficos 3D baseados em grafo de cena de alto nível.

ISCNAvoidOccluderConstraintDelegate

Interface que representa os métodos necessários (se houver) do protocolo SCNAvoidOccluderConstraintDelegate.

ISCNBoundingVolume

Interface que representa os métodos necessários (se houver) do protocolo SCNBoundingVolume.

ISCNBufferStream

Interface para gerenciar o buffer de Metal de um sombreador personalizado.

ISCNCameraControlConfiguration

O namespace SceneKit fornece gráficos 3D baseados em grafo de cena de alto nível.

ISCNCameraControllerDelegate

Interface que representa os métodos necessários (se houver) do protocolo SCNCameraControllerDelegate.

ISCNNodeRendererDelegate

Interface que representa os métodos necessários (se houver) do protocolo SCNNodeRendererDelegate.

ISCNPhysicsContactDelegate

Interface que representa os métodos necessários (se houver) do protocolo SCNPhysicsContactDelegate.

ISCNProgramDelegate

Interface que representa os métodos necessários (se houver) do protocolo SCNProgramDelegate.

ISCNSceneExportDelegate

Interface que representa os métodos necessários (se houver) do protocolo SCNSceneExportDelegate.

ISCNSceneRenderer

Interface que representa os métodos necessários (se houver) do protocolo SCNSceneRenderer.

ISCNSceneRendererDelegate

Interface que representa os métodos necessários (se houver) do protocolo SCNSceneRendererDelegate.

ISCNShadable

Interface que representa os métodos necessários (se houver) do protocolo SCNShadable.

ISCNTechniqueSupport

Interface que representa os métodos necessários (se houver) do protocolo SCNTechniqueSupport.

Enumerações

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 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, para trás ou ambos os lados.

SCNColorMask

O namespace SceneKit fornece 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 as opções de sobreposição de depuração.

SCNErrorCode

O namespace SceneKit fornece gráficos 3D baseados em grafo de cena de alto nível.

SCNFillMode

O namespace SceneKit fornece 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 gráficos 3D baseados em grafo de cena de alto nível.

SCNInteractionMode

O namespace SceneKit fornece gráficos 3D baseados em grafo de cena de alto nível.

SCNMorpherCalculationMode

Enumeração de fórmulas de interpolação válidas 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 as 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 SCNParticleSystemcujas partículas são renderizadas como uma sequência de imagens.

SCNParticleInputMode

Enumera como uma propriedade de partícula é animada (ao longo da vida útil da partícula, à medida que a partícula viaja a uma distância ou com base em outra propriedade). Usado com InputMode.

SCNParticleModifierStage

Enumera momentos em que o modificador especificado em AddModifier(NSString[], SCNParticleModifierStage, SCNParticleModifierHandler) deve ser aplicado.

SCNParticleOrientationMode

Enumera o alinhamento de partículas emitidas por um SCNParticleSystem. Usado com OrientationMode.

SCNParticleSortingMode

Enumeração que especifica a ordem na qual as partículas emitidas por um T:SceneKit.SCNParticleScene são renderizadas.

SCNPhysicsBodyType

Uma enumeração que especifica se o SCNPhysicsBody é dinâmico, cinemático ou estático. 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 de 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 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

SCNActionNodeWithElapsedTimeHandler

Manipulador de conclusão usado com CustomAction(Double, SCNActionNodeWithElapsedTimeHandler).

SCNAnimationDidStartHandler

O namespace SceneKit fornece gráficos 3D baseados em grafo de cena de alto nível.

SCNAnimationDidStopHandler

O namespace SceneKit fornece 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 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 gráficos 3D baseados em grafo de cena de alto nível.

SCNNodePredicate

Delegar para uso com EnumerateChildNodes(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 grafos de cena hierárquicos.

As classes fundamentais no Kit de Cena são SCNScene, que contém todo o conteúdo e T:CoreGraphics.SceneKit.SCNView, um UIView que renderiza um SCNScene.

Um SCNScene tem uma RootNode propriedade do tipo SCNNode. SCNNode's têm P:SceneKit.SCNNode.ChildNodes e implementam System.Collections.Generic.IEnumerable`1<class MonoTouch.SceneKit.SCNNode>. As propriedades de SCNNode incluem Camera, do tipo SCNCamera, Geometry, do tipo SCNGeometrye Light, do tipo SCNLight.

Além disso, cada SCNNode tem uma Position propriedade que define um local no espaço em relação a SCNNodes ParentNode e P:SceneKit.SCNNode.FirstMaterial e P:SceneKit.SCNNode.Materials que criam a SCNNodeaparência do .

O exemplo a seguir mostra uma exibição mínima do Kit de Cena:

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

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 M:SceneKit.SCNGeometry.Create(SceneKit.SCNGeometrySource[], SceneKit.SCNGeometryElement[]* com matrizes de objetos e SCNGeometryElement apropriadosSCNGeometrySource. 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 });