SceneKit Spazio dei nomi
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Lo spazio dei nomi SceneKit offre grafica 3D basata su scene di alto livello.
Classi
_SCNShaderModifiers |
Dizionario dei frammenti di shader. |
SCNAccelerationConstraint |
Lo spazio dei nomi SceneKit offre grafica 3D basata su scene di alto livello. |
SCNAction |
Esegue azioni in un SCNNodeoggetto , incluse le modifiche apportate all'aspetto, alla geometria, alle animazioni o alle funzioni arbitrarie. |
SCNActionable |
Consente l'applicazione delle azioni. |
SCNActionable_Extensions |
Metodi di estensione all'interfaccia ISCNActionable per supportare tutti i metodi dal SCNActionable protocollo. |
SCNAnimatable |
Consente l'applicazione di animazioni. |
SCNAnimatable_Extensions |
Metodi di estensione all'interfaccia ISCNAnimatable per supportare tutti i metodi dal SCNAnimatable protocollo. |
SCNAnimatableExtensions |
Metodi di estensione per ISCNAnimatable. |
SCNAnimation |
Lo spazio dei nomi SceneKit offre grafica 3D basata su scene di alto livello. |
SCNAnimationEvent |
Esegue una funzione in un momento specifico durante un'animazione. |
SCNAnimationPlayer |
Lo spazio dei nomi SceneKit offre grafica 3D basata su scene di alto livello. |
SCNAudioPlayer |
Contiene un SCNAudioSource oggetto o AVAudioNode per l'uso con l'audio posizionale. |
SCNAudioSource |
Origine audio riutilizzabile per l'audio posizionale nelle scene SceneKit. |
SCNAvoidOccluderConstraint |
Lo spazio dei nomi SceneKit offre grafica 3D basata su scene di alto livello. |
SCNAvoidOccluderConstraintDelegate |
Lo spazio dei nomi SceneKit offre grafica 3D basata su scene di alto livello. |
SCNAvoidOccluderConstraintDelegate_Extensions |
Metodi di estensione all'interfaccia ISCNAvoidOccluderConstraintDelegate per supportare tutti i metodi dal SCNAvoidOccluderConstraintDelegate protocollo. |
SCNBillboardConstraint |
Limita automaticamente un oggetto SCNNode in modo che punti sempre al nodo di rendering corrente. |
SCNBoundingVolume |
Funzioni che definiscono un volume nello spazio 3D. |
SCNBox |
Oggetto SCNGeometry i cui visi sono tutti rettangoli. |
SCNCamera |
Specifica una fotocamera, con attributi come field-of-view e profondità di visualizzazione. |
SCNCameraController |
Lo spazio dei nomi SceneKit offre grafica 3D basata su scene di alto livello. |
SCNCameraControllerDelegate |
Lo spazio dei nomi SceneKit offre grafica 3D basata su scene di alto livello. |
SCNCameraControllerDelegate_Extensions |
Metodi di estensione all'interfaccia ISCNCameraControllerDelegate per supportare tutti i metodi dal SCNCameraControllerDelegate protocollo. |
SCNCapsule |
Oggetto SCNGeometry che è un cilindro con estremità limitate. |
SCNCone |
Oggetto SCNGeometry che è un frustum circolare. O, un cappello di festa. |
SCNConstraint |
Regola automaticamente la trasformazione di un nodo. |
SCNCylinder |
Un SCNGeometry cilindro circolare destro. |
SCNDistanceConstraint |
Lo spazio dei nomi SceneKit offre grafica 3D basata su scene di alto livello. |
SCNErrorCodeExtensions |
Metodi di estensione per l'enumerazione SceneKit.SCNErrorCode. |
SCNFloor |
Un SCNGeometry piano infinito. |
SCNGeometry |
Classe di base per oggetti geometry SceneKit |
SCNGeometryElement |
Combina informazioni sui vertici e una primitiva di disegno. Esegue il mapping a un singolo comando di disegno inviato alla GPU. |
SCNGeometrySource |
Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D. |
SCNGeometrySourceSemantic |
Enumera gli attributi della modalità vertice. |
SCNGeometryTessellator |
Lo spazio dei nomi SceneKit offre grafica 3D basata su scene di alto livello. |
SCNHitTest |
Costanti da usare con l'argomento |
SCNHitTestOptions |
Opzioni di configurazione per il hit test in SCNNode e SCNSceneRenderer |
SCNHitTestResult |
Informazioni su SCNNode (se presente) che si trovano in un punto specifico o lungo un raggio. |
SCNIKConstraint |
Oggetto SCNConstraint che applica la kinematica inversa. |
SCNJavaScript |
Classe statica contenente un metodo per esportare moduli JavaScript. |
SCNLayer |
Lo spazio dei nomi SceneKit offre grafica 3D basata su scene di alto livello. |
SCNLevelOfDetail |
Controlla geometrie alternative sottoposte a rendering a soglie nello spazio globale o nello spazio dello schermo. |
SCNLight |
Una fonte di luce usata per tutti i tipi SCNLightType. |
SCNLightAttribute |
Lo spazio dei nomi SceneKit offre grafica 3D basata su scene di alto livello. |
SCNLightingModel |
Costanti da usare con la proprietà , che definisce il modo in cui le luci e i materiali si combinano per produrre un particolare colore di rendering. |
SCNLightType |
Enumera i tipi di SCNLight. |
SCNLookAtConstraint |
Oggetto SCNConstraint che orienta un nodo verso un altro nodo. |
SCNMaterial |
Specifica le caratteristiche di illuminazione e ombreggiatura della superficie di un SCNGeometry. |
SCNMaterialProperty |
Configura le varie proprietà ,ad esempio colore e trama, di un SCNMaterialoggetto . |
SCNMorpher |
Trasformazione animata di un oggetto SCNGeometry in uno o più oggetti SCNGeometry di destinazione. |
SCNNode |
Nodo nel grafico della scena. |
SCNNodeRendererDelegate |
Interfaccia che definisce le funzioni dell'oggetto delegato per l'aggiunta di codice di disegno OpenGL personalizzato. |
SCNNodeRendererDelegate_Extensions |
Metodi di estensione all'interfaccia ISCNNodeRendererDelegate per supportare tutti i metodi dal SCNNodeRendererDelegate protocollo. |
SCNParticleProperty |
Lo spazio dei nomi SceneKit offre grafica 3D basata su scene di alto livello. |
SCNParticlePropertyController |
Anima una proprietà delle particelle generate da un SCNParticleSystem. |
SCNParticleSystem |
Genera piccole sprite i cui comportamenti sono specificati dallo sviluppatore. |
SCNPhysicsBallSocketJoint |
SCNPhysicsBehavior che consente a due oggetti SCNPhysicsBody di pivotrsi tra loro. |
SCNPhysicsBehavior |
Controlla il comportamento di uno o più oggetti SCNPhysicsBody. |
SCNPhysicsBody |
Aggiunge la simulazione fisica a un SCNNode. |
SCNPhysicsConeTwistJoint |
Lo spazio dei nomi SceneKit offre grafica 3D basata su scene di alto livello. |
SCNPhysicsContact |
In che modo due oggetti SCNPhysicsBody sono in contatto tra loro. |
SCNPhysicsContactDelegate |
Delegare le funzioni oggetto che rispondono ai tocchi tra SCNPhysicsBody oggetti. |
SCNPhysicsContactDelegate_Extensions |
Metodi di estensione per l'interfaccia ISCNPhysicsContactDelegate per supportare tutti i metodi del SCNPhysicsContactDelegate protocollo. |
SCNPhysicsContactEventArgs |
Fornisce dati per gli DidUpdateContacteventi , E:SceneKit.SCNPhysicsContactEventArgs.DidEndContact e E:SceneKit.SCNPhysicsContactEventArgs.DidUpdateContact . |
SCNPhysicsField |
Applica le forze a tutti gli oggetti SCNPhysicsBody in un determinato volume. |
SCNPhysicsHingeJoint |
ScNPhysicsBehavior che collega due oggetti SCNPhysicsBody lungo un singolo asse. |
SCNPhysicsShape |
Volume solido per scNPhysicsBody. Usato nel rilevamento delle collisioni. |
SCNPhysicsShapeOptions |
Chiavi valide per il |
SCNPhysicsShapeOptionsKeys |
Definisce le chiavi valide da usare con il |
SCNPhysicsShapeOptionsTypes |
Tipo geometrico associato SCNPhysicsShapea s. |
SCNPhysicsSliderJoint |
SCNPhysicsBehavior che connette due oggetti SCNPhysicsBody, consentendo loro di scorrere e ruotare intorno ai punti di connessione. |
SCNPhysicsTest |
Opzioni valide da usare con M:SceneKit.SCNPhysicsWorld.ContactTest*. |
SCNPhysicsTestKeys |
Contiene valori che controllano la ricerca, l'analisi backface e i test di collisione. |
SCNPhysicsTestSearchModeKeys |
Enumera i valori che controllano i risultati della ricerca di collisione restituiti. |
SCNPhysicsVehicle |
SCNPhysicsBehavior che simula la fisica di un veicolo a rotelle. |
SCNPhysicsVehicleWheel |
L'aspetto e le caratteristiche fisiche di una ruota su un SCNPhysicsVehicle. |
SCNPhysicsWorld |
Simulazione fisica che modella collisioni e altre proprietà correlate alla fisica in un SCNScene. |
SCNPlane |
Oggetto SCNGeometry che è un piano finito a lato singolo rettangolare. |
SCNProgram |
Esegue il rendering personalizzato usando gli shader scritti in OpenGL Shading Language. |
SCNProgramDelegate |
Oggetto delegato per gli oggetti SCNProgram. |
SCNProgramDelegate_Extensions |
Metodi di estensione per l'interfaccia ISCNProgramDelegate per supportare tutti i metodi del SCNProgramDelegate protocollo. |
SCNProgramSemanticOptions |
Definisce l'oggetto MappingChannel per l'uso con SetSemantic(NSString, String, SCNProgramSemanticOptions). |
SCNPropertyControllers |
Lo spazio dei nomi SceneKit offre grafica 3D basata su scene di alto livello. |
SCNPyramid |
Oggetto SCNGeometry che è una piramide rettangolare destra. |
SCNReferenceNode |
Oggetto SCNNode che carica il contenuto da un file della scena. |
SCNRenderer |
Esegue il rendering di un oggetto SCNScene in un contesto OpenGL. |
SCNRenderingArguments |
Definisce le chiavi da usare con Render(SCNNode, SCNRenderer, NSDictionary) e SetSemantic(NSString, String, SCNProgramSemanticOptions). |
SCNRenderingOptions |
Oggetto DictionaryContainer che definisce |
SCNReplicatorConstraint |
Lo spazio dei nomi SceneKit offre grafica 3D basata su scene di alto livello. |
SCNScene |
Descrizione di livello più alto di una scena 3D. |
SCNSceneExportDelegate |
Protocollo che definisce i metodi per gestire l'esportazione di una scena in un file. |
SCNSceneExportDelegate_Extensions |
Metodi di estensione per l'interfaccia ISCNSceneExportDelegate per supportare tutti i metodi del SCNSceneExportDelegate protocollo. |
SCNSceneLoadingOptions |
Opzioni per il caricamento della scena. |
SCNSceneRenderer |
Classe di implementazione dell'interfaccia ISCNSceneRenderer . |
SCNSceneRenderer_Extensions |
Metodi di estensione per l'interfaccia ISCNSceneRenderer per supportare tutti i metodi del SCNSceneRenderer protocollo. |
SCNSceneRendererDelegate |
L'oggetto delegato per la classe SCNRenderer definisce i metodi riflette gli eventi di rendering. |
SCNSceneRendererDelegate_Extensions |
Metodi di estensione per l'interfaccia ISCNSceneRendererDelegate per supportare tutti i metodi del SCNSceneRendererDelegate protocollo. |
SCNSceneSource |
Legge i dati che definiscono la scena da un file o da un oggetto NSData. |
SCNSceneSourceLoadErrors |
Enumera i tipi di errore che possono verificarsi durante il caricamento SCNSceneSourcedi . |
SCNSceneSourceLoading |
Opzioni per la creazione e il caricamento di oggetti SCNScene. |
SCNSceneSourceProperties |
Chiavi di metadati associate a un file della scena. Utilizzato insieme a GetProperty(NSString), |
SCNShadable |
Implementazione di ISCNShadable. |
SCNShadable_Extensions |
Metodi di estensione per l'interfaccia ISCNShadable per supportare tutti i metodi del SCNShadable protocollo. |
SCNShaderModifiers |
Oggetto DictionaryContainer contenente le opzioni per gli shader. |
SCNShape |
Oggetto SCNGeometry creato da un percorso 2D, facoltativamente estruso in tre dimensioni. |
SCNSkinner |
Accede al grafico della scena a supporto dell'animazione scheletrica. |
SCNSliderConstraint |
Lo spazio dei nomi SceneKit offre grafica 3D basata su scene di alto livello. |
SCNSphere |
Oggetto SCNGeometry che è una sfera. |
SCNTechnique |
Fornisce passaggi di disegno aggiuntivi, ognuno dei quali applica uno shader. |
SCNTechniqueSupport |
Implementazione di ISCNTechniqueSupport che contiene semplicemente un riferimento all'oggetto SCNTechnique. |
SCNText |
Oggetto SCNGeometry basato su una stringa, facoltativamente estruso in tre dimensioni. |
SCNTimingFunction |
Lo spazio dei nomi SceneKit offre grafica 3D basata su scene di alto livello. |
SCNTorus |
Oggetto SCNGeometry che è un solido a forma di anello. |
SCNTransaction |
Consente l'applicazione atomica di un set di modifiche. |
SCNTransformConstraint |
Oggetto SCNConstraint che esegue una funzione che specifica una modifica nella trasformazione (posizione, rotazione e scala) in un nodo o nodi. |
SCNTube |
Oggetto SCNGeometry che è un cilindro con un foro lungo l'asse centrale. |
SCNView | |
SCNView.SCNViewAppearance |
Classe Aspetto per gli oggetti di tipo SCNView. |
Struct
SCNMatrix4 |
Matrice 4x4. |
SCNQuaternion |
Rappresenta un quaternione e contiene metodi che operano su di essi. |
SCNVector3 |
Vettore a 3 componenti. |
SCNVector4 |
Vettore a 4 componenti. |
Interfacce
ISCNActionable |
Interfaccia che rappresenta i metodi necessari (se presenti) del protocollo SCNActionable. |
ISCNAnimatable |
Interfaccia che rappresenta i metodi necessari (se presenti) del protocollo SCNAnimatable. |
ISCNAnimationProtocol |
Lo spazio dei nomi SceneKit offre grafica 3D basata su scene di alto livello. |
ISCNAvoidOccluderConstraintDelegate |
Interfaccia che rappresenta i metodi necessari (se presenti) del protocollo SCNAvoidOccluderConstraintDelegate. |
ISCNBoundingVolume |
Interfaccia che rappresenta i metodi necessari (se presenti) del protocollo SCNBoundingVolume. |
ISCNBufferStream |
Interfaccia per la gestione del buffer metal di uno shader personalizzato. |
ISCNCameraControlConfiguration |
Lo spazio dei nomi SceneKit offre grafica 3D basata su scene di alto livello. |
ISCNCameraControllerDelegate |
Interfaccia che rappresenta i metodi necessari (se presenti) del protocollo SCNCameraControllerDelegate. |
ISCNNodeRendererDelegate |
Interfaccia che rappresenta i metodi necessari (se presenti) del protocollo SCNNodeRendererDelegate. |
ISCNPhysicsContactDelegate |
Interfaccia che rappresenta i metodi necessari (se presenti) del protocollo SCNPhysicsContactDelegate. |
ISCNProgramDelegate |
Interfaccia che rappresenta i metodi necessari (se presenti) del protocollo SCNProgramDelegate. |
ISCNSceneExportDelegate |
Interfaccia che rappresenta i metodi necessari (se presenti) del protocollo SCNSceneExportDelegate. |
ISCNSceneRenderer |
Interfaccia che rappresenta i metodi necessari (se presenti) del protocollo SCNSceneRenderer. |
ISCNSceneRendererDelegate |
Interfaccia che rappresenta i metodi necessari (se presenti) del protocollo SCNSceneRendererDelegate. |
ISCNShadable |
Interfaccia che rappresenta i metodi necessari (se presenti) del protocollo SCNShadable. |
ISCNTechniqueSupport |
Interfaccia che rappresenta i metodi necessari (se presenti) del protocollo SCNTechniqueSupport. |
Enumerazioni
SCNActionTimingMode |
Enumera le curve di frequenza da usare con SCNAction gli oggetti. |
SCNAnimationImportPolicy |
Enumera i criteri di importazione dell'animazione. |
SCNAntialiasingMode |
Enumera i valori che controllano il comportamento antialiasing. |
SCNBillboardAxis |
Enumerazione dei blocchi degli assi disponibili per i nodi vincolati da SCNBillboardConstraint. |
SCNBlendMode |
Enumerazione dei modi in cui SceneKit può fondere i colori da un materiale con colori già presenti nella destinazione di rendering. |
SCNBufferFrequency |
Enumera i valori che controllano se i gestori vengono richiamati per fotogramma, per nodo per frame o per nodo per frame per ogni fotogramma per rendering ombreggiato. |
SCNCameraProjectionDirection |
Lo spazio dei nomi SceneKit offre grafica 3D basata su scene di alto livello. |
SCNChamferMode |
Enumera i modi in cui un SCNShape può essere smussato; sul lato anteriore, indietro o entrambi i lati. |
SCNColorMask |
Lo spazio dei nomi SceneKit offre grafica 3D basata su scene di alto livello. |
SCNCullMode |
Enumerazione che determina quali visi di una superficie SCNMaterial vengono sottoposti a rendering. |
SCNDebugOptions |
Enumera le opzioni di sovrapposizione del debug. |
SCNErrorCode |
Lo spazio dei nomi SceneKit offre grafica 3D basata su scene di alto livello. |
SCNFillMode |
Lo spazio dei nomi SceneKit offre grafica 3D basata su scene di alto livello. |
SCNFilterMode |
Enumerazione delle modalità di filtro trama. |
SCNGeometryPrimitiveType |
Enumerazione delle primitive geometry 2D. |
SCNGeometrySourceSemantics |
Enumera la semantica per i dati geometry. |
SCNHitTestSearchMode |
Lo spazio dei nomi SceneKit offre grafica 3D basata su scene di alto livello. |
SCNInteractionMode |
Lo spazio dei nomi SceneKit offre grafica 3D basata su scene di alto livello. |
SCNMorpherCalculationMode |
Enumerazione della formula di interpolazione valida per CalculationMode. |
SCNMovabilityHint |
Enumera i valori che indicano a SceneKit se i nodi devono essere spostati nel tempo. |
SCNNodeFocusBehavior |
Enumera gli stati attivabili di un SCNNodeoggetto . |
SCNParticleBirthDirection |
Enumera la direzione iniziale delle particelle generate da un SCNParticleSystemoggetto . |
SCNParticleBirthLocation |
Enumerazione della posizione iniziale delle particelle generate da un SCNParticleSystemoggetto . |
SCNParticleBlendMode |
Enumerazione dei modi in cui le particelle sovrapposte generate da un SCNParticleSystem verrà eseguito il rendering. |
SCNParticleEvent |
Enumerazione degli eventi del ciclo di vita per le particelle generate da un SCNParticleSystemoggetto . Utilizzato insieme a HandleEvent(SCNParticleEvent, NSString[], SCNParticleEventHandler), |
SCNParticleImageSequenceAnimationMode |
Enumerazione delle modalità di riproduzione per SCNParticleSystemle cui particelle vengono sottoposte a rendering come sequenza di immagini. |
SCNParticleInputMode |
Enumera la modalità di animazione di una proprietà particella (durante la durata della particella, mentre la particella viaggia su una distanza o in base a un'altra proprietà). Utilizzato insieme a InputMode, |
SCNParticleModifierStage |
Enumera momenti in cui è necessario applicare il modificatore specificato in AddModifier(NSString[], SCNParticleModifierStage, SCNParticleModifierHandler) . |
SCNParticleOrientationMode |
Enumera l'allineamento delle particelle generate da un SCNParticleSystemoggetto . Utilizzato insieme a OrientationMode, |
SCNParticleSortingMode |
Enumerazione che specifica l'ordine in cui vengono visualizzate particelle generate da un oggetto . |
SCNPhysicsBodyType |
Enumerazione che specifica se è SCNPhysicsBody dinamico, kinematico o statico. Utilizzato insieme a CreateBody(SCNPhysicsBodyType, SCNPhysicsShape), |
SCNPhysicsCollisionCategory |
Impostazioni predefinite per le proprietà di collisione di un oggetto SCNPhysicsBody. |
SCNPhysicsFieldScope |
Enumera i valori che specificano se un SCNPhysicsField oggetto influisce sugli oggetti all'interno o all'esterno del bordo. |
SCNPhysicsSearchMode |
Enumera i valori che controllano i risultati della ricerca fisica restituiti. |
SCNPhysicsShapeType |
Enumerazione delle categorie per SCNPhysicsShapes. |
SCNReferenceLoadingPolicy |
Enumera i possibili criteri di caricamento per SCNReferenceNode gli oggetti. |
SCNRenderingApi |
Enumera i valori che indicano le API Metal o OpenGLES2. |
SCNSceneSourceStatus |
Enumera gli stati di un oggetto SCNSceneSource. |
SCNShadowMode |
Controllo dell'enumerazione quando vengono calcolate le ombreggiature. |
SCNTessellationSmoothingMode |
Lo spazio dei nomi SceneKit offre grafica 3D basata su scene di alto livello. |
SCNTransparencyMode |
Enumera le tecniche per calcolare la trasparenza. |
SCNWrapMode |
Enumera le tecniche di wrapping delle trame. |
Delegati
SCNActionNodeWithElapsedTimeHandler |
Gestore di completamento usato con CustomAction(Double, SCNActionNodeWithElapsedTimeHandler). |
SCNAnimationDidStartHandler |
Lo spazio dei nomi SceneKit offre grafica 3D basata su scene di alto livello. |
SCNAnimationDidStopHandler |
Lo spazio dei nomi SceneKit offre grafica 3D basata su scene di alto livello. |
SCNAnimationEventHandler |
Gestore di completamento per l'uso con Create(nfloat, SCNAnimationEventHandler). |
SCNBindingHandler |
Gestore di completamento usato con HandleBinding(String, SCNBindingHandler). |
SCNBufferBindingHandler |
Lo spazio dei nomi SceneKit offre grafica 3D basata su scene di alto livello. |
SCNFieldForceEvaluator |
Delegato per il CustomField(SCNFieldForceEvaluator) metodo. |
SCNNodeHandler |
Lo spazio dei nomi SceneKit offre grafica 3D basata su scene di alto livello. |
SCNNodePredicate |
Delegato per l'uso con EnumerateChildNodes(SCNNodePredicate). |
SCNParticleEventHandler |
Gestore di completamento per l'uso con HandleEvent(SCNParticleEvent, NSString[], SCNParticleEventHandler). |
SCNParticleModifierHandler |
Delegato usato come |
SCNSceneExportProgressHandler |
Gestore di continuazione che SceneKit chiama ripetutamente durante l'esportazione di una scena. |
SCNSceneSourceFilter |
Delegato che testa gli oggetti nella scena per l'inclusione. |
SCNSceneSourceStatusHandler |
Callback usato per riflettere lo stato di avanzamento durante l'esecuzione di SceneFromOptions(SCNSceneLoadingOptions, SCNSceneSourceStatusHandler). |
SCNTransformConstraintHandler |
Delegato usato nelle chiamate a Create(Boolean, SCNTransformConstraintHandler). |
Commenti
Scene Kit è un framework per la grafica 3D, basato su grafici gerarchici della scena.
Le classi fondamentali in Scene Kit sono SCNScene, che contiene tutto il contenuto e T:CoreGraphics.SceneKit.SCNView, un oggetto che esegue il rendering di UIView un oggetto SCNScene.
Un SCNScene oggetto ha una RootNode proprietà di tipo SCNNode. SCNNode's hanno P:SceneKit.SCNNode.ChildNodes e implementano System.Collections.Generic.IEnumerable`1<class MonoTouch.SceneKit.SCNNode>
. Le proprietà di SCNNode includono Camera, di tipo , Geometrydi tipo SCNCamera, di tipo SCNGeometrye Light, di tipo SCNLight.
Inoltre, ogni SCNNode proprietà ha una Position proprietà che definisce una posizione nello spazio rispetto a SCNNode's ParentNode e P:SceneKit.SCNNode.FirstMaterial e P:SceneKit.SCNNode.Materials che creano l'aspetto SCNNodedi .
L'esempio seguente mostra una visualizzazione minima di Scene Kit:
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);
}
Geometria
Tutta la geometria in SceneKit è descritta dalle sottoclassi di SCNGeometry:
SCNCapsule | Una capsula a forma di pillola con estremità regolabili | |
SCNCone | Cono il cui top può essere troncato | |
SCNBox | Una scatola rettangolare. | |
SCNCylinder | Cilindro. | |
SCNFloor | Piano infinito con la possibilità di riflettere la geometria sopra di essa. | |
SCNPlane | Rettangolo a un lato. | |
SCNPyramid | Un tetrahedron. | |
SCNShape | Forma 2D che è stata estrusa nella terza dimensione. | |
SCNSphere | Una palla. | |
SCNText | Testo estruso. | |
SCNTorus | Forma ad anello. | |
SCNTube | Cilindro non compresso. |
SceneKit può anche caricare intere scene da . File DAE con il FromFile metodo .
Infine, gli sviluppatori possono creare geometrie personalizzate usando il metodo [], SceneKit.SCNGeometryElement[]* con matrici di oggetti e SCNGeometryElement appropriatiSCNGeometrySource. Di seguito viene illustrata la creazione di una piramide personalizzata:
//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 });