SceneKit , a veces renderizado Scene Kit , es una interfaz de programación de aplicaciones (API) de gráficos 3D para plataformas de Apple Inc. escrita en Objective-C . Es un marco de trabajo de alto nivel diseñado para proporcionar una capa fácil de usar sobre las API de nivel inferior como OpenGL y Metal . [1] SceneKit mantiene un gráfico de escena basado en objetos , junto con un motor de física , un sistema de partículas y enlaces a Core Animation y otros marcos para animar fácilmente esa pantalla. Las vistas de SceneKit se pueden mezclar con otras vistas, por ejemplo, permitiendo una La pantalla SpriteKit 2D se mapeará en la superficie de un objeto en SceneKit, o en un UIBezierPath de Core Graphics para definir la geometría de un objeto SceneKit. SceneKit también admite la importación y exportación de escenas 3D utilizando el formato COLLADA . SceneKit se lanzó por primera vez para macOS en 2012 y para iOS en 2014.
Conceptos básicos
SceneKit mantiene un gráfico de escena basado en un objeto raíz, una instancia de la clase SCNScene. El objeto SCNScene es aproximadamente equivalente a los objetos de vista que se encuentran en la mayoría de las bibliotecas 2D y está diseñado para integrarse en un contenedor de visualización como una ventana u otro objeto de vista. El único contenido importante de SCNScene es un enlace al rootNode, que apunta a un objeto SCNNode.
Los SCNNodes son el contenido principal de la jerarquía de SceneKit. Cada nodo tiene un nombre y punteros a objetos opcionales Camera, Light y Geometry, así como una matriz de childNodes y un puntero a su propio padre. Una escena típica contendrá un único objeto Scene apuntado a un Nodo convenientemente nombrado (a menudo "raíz") cuyo propósito principal es contener una colección de Nodos secundarios. Los nodos secundarios se pueden utilizar para representar cámaras, luces o los distintos objetos geométricos de la escena.
Se puede crear una escena simple haciendo un solo objeto SCNGeometry, generalmente con una de las clases de constructor como SCNBox, una sola SCNCamera, una o más SCNLights, y luego asignando todos estos objetos a nodos separados. Luego, se crea un único nodo genérico adicional y se asigna al nodo raíz del objeto SCNScene, y luego todos los objetos se agregan como hijos de ese nodo raíz.
SCNScenes también contiene una serie de controles de interfaz de usuario integrados y bibliotecas de entrada / salida para facilitar enormemente la implementación de visores simples y tareas similares. Por ejemplo, configurar autoenablesDefaultLighting y allowCameraControl de Scene en verdadero, y luego agregar un árbol de objetos leído desde un archivo COLLADA producirá contenido visible de complejidad arbitraria con unas pocas líneas de código. La integración con Xcode permite colocar la propia escena en una ventana en Interface Builder , sin ningún código.
Existe un formato de archivo de archivo Scenekit, con la extensión de nombre de archivo .scn.
Referencias
- "Kit de introducción a la escena" . Apple . 2012.
- Cepeda, Ricardo Rendon (8 de octubre de 2014). "Tutorial del kit de escena: Primeros pasos" . Ray Wenderlich .