Skip to main content

¿Qué es un octree?

Un octree es una estructura de árbol digital utilizada para crear creaciones tridimensionales (3D) y poligonales, principalmente para la industria del juego. En la estructura octree, cada nodo interno no tiene hijos u ocho hijos, nada intermedio, y cada nodo hijo puede contener información de color para el perfil de color rojo-azul-verde (RGB). Toda la estructura comienza como un cubo, y los cubos internos vacíos se utilizan para la información de colisión. Esta estructura es muy eficiente en la memoria, porque hay una cantidad relativamente pequeña de datos en cada hijo y el árbol puede tener un tamaño limitado.

Cuando un modelo está hecho para un videojuego, debe tener información de textura y color y debe poder colisionar con otros modelos. Una de las estructuras utilizadas en esta industria es el octree. A veces llamado árbol oct, este nombre significa la importancia del número ocho en la estructura de este árbol. Al igual que hacer estructuras de árbol, el octree tiene nodos primarios y secundarios. A diferencia de otros árboles, hay muy poca variedad en la cantidad de nodos secundarios que se pueden hacer del padre.

Cada padre puede incluir ocho nodos o ninguno. Ambos tipos de cubos son importantes para crear un modelo totalmente renderizado. Los cubos más intensivos son los que tienen ocho nodos. Cada nodo interno incluye información de color y textura, por lo que el modelo puede tener una apariencia intrincada. Por ejemplo, si el modelo es un árbol, cada uno de los nodos internos debe incluir un color marrón para el tronco e información de sombreado para crear una textura realista.

Mientras que los cubos con ocho nodos son importantes para un octree, los cubos vacíos son igual de importantes. Toda la estructura comienza como un gran cubo vacío, que otros cubos más pequeños pueden habitar. Este cubo, junto con otros cubos vacíos, se usa principalmente para información de colisión. Por ejemplo, si un modelo choca con este modelo, los cubos vacíos le dirán al modelo que no puede avanzar, porque crea una colisión.

Crear un modelo adecuado con un octree es intensivo, y entra mucha información, pero la estructura misma usa la memoria de manera muy eficiente. Una razón para esto es que, aunque hay mucha codificación, la información es solo información de color y textura y, por lo tanto, bastante pequeña. Otra razón es que el árbol tiene diferentes niveles que contienen datos innecesarios y, si se podan, la memoria puede reducirse aún más.