Instancias¶

Los tres tipos de instancias.¶
Además de almacenar datos reales (tales como una malla o una curva), los objetos también son capaces de almacenar instancias, que normalmente harán referencia a una geometría, colección u objeto. El propósito de la instanciación es permitir la replicación de geometría para mostrarla en otros objetos, sin necesidad de duplicar la cantidad de datos geométricos por cada objeto en donde aparezca dicha instancia. Esta optimización permitirá que los motores de procesamiento, como Cycles, manipulen los mismos datos geométricos para mostrarlos en varias ubicaciones distintas, en vez de tener que manipular la carga de todos esos mismos datos, pero duplicados en cada ubicación.
Cada instancia mantendrá la referencia de a qué geometría corresponde y como esa instancia en particular haya sido transformada, en comparación con la geometría original. Las instancias también serán capaces de almacenar el atributo id
, que será usado para calcular correctamente el desenfoque por movimiento, cuando cada instancia hubiera sido movida durante una animación.
Será posible crear instancias mediante nodos de geometría, usando el Nodo Instanciar en puntos.
Advertencia
Actualmente no es posible mezclar el instanciado mediante nodos de geometría con el realizado mediante el panel Instanciado del editor de Propiedades.
Instanciación anidada¶
Debido a que las instancias son capaces de almacenar una geometría y que una geometría es capaz de contener instancias, será posible realizar una anidación de instancias. En otras palabras, será posible instanciar una instancia o hasta una colección de instancias. Por ejemplo, de manera predefinida, el Nodo Instanciar en puntos creará instancias anidadas, en caso de que se escogiera instanciar una instancia en los puntos de la geometría real.

Un grupo de nodos que crea una anidación de instancias al encadenar nodos Instanciar en puntos.¶
Aquí, se utiliza una instanciación anidada para distribuir una geometría que contiene tanto una malla como instancias. La geometría producida contendrá una malla «real» y un grupo de instancias. Cada instancia contendrá la malla de una esfera, así como varias instancias de un cono.

El árbol de geometría instanciada del ejemplo de arriba.¶
Lo que hace que este método sea útil es que la geometría producida sólo contiene tres mallas: el plano, la esfera y el cono. Esto incluso haría que el rendimiento fuera mucho mejor si las mallas fueran más complejas.
Advertencia
Sólo se soportan 8 niveles de anidación de instancias, tanto durante el procesamiento, como durante la presentación en las vistas. Si bien es posible realizar instancias con mayores niveles de anidamiento dentro de los nodos de geometría, será necesario convertir estos niveles excedentes de instancias anidadas en reales para poder visualizar el resultado del árbol completo.
Conversión de instancias en objetos reales¶
La expresión «convertir instancias en reales» se refiere a transformar cada una de las instancias en una geometría independiente. Cuando las instancias sean convertidas en reales ocuparán más memoria y la manipulación de su geometría deberá ser procesada de forma individual, en vez de una sola vez por cada geometría instanciada.
Para convertir en reales a las instancias, usar el Nodo Convertir instancias en reales.
Procesamiento interno de las instancias¶
Casi todos los nodos que procesan geometría lo hacen procesando cada geometría real que haya hacia atrás en el árbol de nodos, en vez de procesar la geometría «final» del árbol de nodos. Por ejemplo, si se agregara un Nodo Subdividir superficie al final del ejemplo de arriba, éste tendría que subdividir sólo tres mallas, en vez de cada instancia de esas mallas. Otro ejemplo importante es el procesamiento de la salida del Nodo Texto a curvas, en cuyo caso cada caracter sólo debería procesarse una única vez.
Con este método será posible mejorar significativamente el rendimiento, aunque signifique que el resultado de una operación vaya a ser el mismo para cada instancia de una cierta geometría. Como forma de poder tener resultados individuales en cada instancia, será posible usar el Nodo Convertir instancias en reales.