SceneKit , a veces escrito 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 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 grafo 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 visualización. Las vistas de SceneKit se pueden combinar con otras vistas, por ejemplo, permitiendo que una visualización 2D de SpriteKit se mapee sobre la superficie de un objeto en SceneKit, o 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 grafo de escena basado en un objeto raíz, una instancia de la clase SCNScene. El objeto SCNScene es prácticamente 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 nodo raíz, que apunta a un objeto SCNNode.
Los SCNNodes constituyen el contenido principal de la jerarquía de SceneKit. Cada Nodo tiene un Nombre y punteros a objetos opcionales de Cámara, Luz y Geometría, así como una matriz de Nodos hijos y un puntero a su propio padre. Una escena típica contiene un único objeto Scene que apunta a un Nodo con un nombre conveniente (a menudo "raíz") cuya función principal es albergar una colección de Nodos hijos. Estos nodos hijos pueden utilizarse para representar cámaras, luces o los distintos objetos geométricos de la Escena.
Se puede crear una escena sencilla creando un único objeto SCNGeometry, normalmente con una de las clases constructoras como SCNBox, una única SCNCamera, una o más SCNLights, y asignando todos estos objetos a nodos separados. A continuación, se crea un nodo genérico adicional que se asigna al nodo raíz del objeto SCNScene, y luego todos los objetos se añaden como hijos de dicho nodo raíz. Sin embargo, el número de luces está limitado a 8.
Las escenas SCNScenes también incluyen varios controles de interfaz de usuario y bibliotecas de entrada/salida integradas para facilitar enormemente la implementación de visores sencillos y tareas similares. Por ejemplo, al configurar las propiedades `autoenablesDefaultLighting` y `allowsCameraControl` de la escena en `true`, y luego agregar un árbol de objetos leído de un archivo COLLADA, se generará contenido visualizable de complejidad arbitraria con tan solo unas pocas líneas de código. La integración con Xcode permite colocar la escena en una ventana de Interface Builder sin necesidad de escribir código alguno.
Existe un formato de archivo de archivo Scenekit, que utiliza la extensión de archivo .scn .
Referencias
- ↑ "SceneKit | Documentación para desarrolladores de Apple" .
- "Introducción a Scene Kit" . Apple Inc. 2012.
- Cepeda, Ricardo Rendon (8 de octubre de 2014). "Tutorial de Scene Kit: Primeros pasos" . Ray Wenderlich .
- Cálculo de stubs
- API de gráficos 3D