Bloques de datos

La unidad básica de cualquier proyecto de Blender es el bloque de datos. Ejemplos de bloques de datos son: mallas, objetos, materiales, texturas, árboles de nodos, escenas, textos, pinceles y hasta los espacios de trabajo.

../_images/files_data-blocks_outliner-blender-file-view.png

Modo de visualización Archivo de Blender del Listado.

Un bloque de datos es una abstracción genérica aplicada a tipos de datos muy diferentes, que permite contar con un conjunto básico de características, propiedades y comportamientos comunes a todos ellos.

Algunas de sus características en común:

  • Constituyen el contenido principal de un archivo .blend.

  • Podrán referenciarse unos a otros, para su reutilización e instanciación. (p.ej: subordinado/superior, objeto/datos de objeto, materiales/imágenes, también en modificadores y restricciones, etc.)

  • Sus nombres deberán ser únicos dentro de un archivo .blend, para datos del mismo tipo.

  • Podrán ser agregados/eliminados/editados/duplicados.

  • Podrán ser vinculados de un archivo a otro (sólo habilitado para un conjunto limitado de bloques de datos).

  • Podrán tener sus propios datos de animación.

  • Podrán contener Propiedades personalizadas.

Normalmente, el usuario interactuará con los tipos de datos de mayor nivel (objetos, mallas, etc.). Al realizar proyectos más complejos, la administración de bloques de datos se transformará en algo más relevante, especialmente al existir vínculos entre varios archivos .blend. El editor principal para llevar adelante esta tarea será el Listado.

Sin embargo, no todos los datos en Blender serán bloques de datos, por ejemplo, los huesos, los clips del editor de video o los grupos de vértices, no lo son; en cambio, son datos que pertenecen a los esqueletos, la escena o las mallas, respectivamente.

Tipos de bloques de datos

../_images/files_data-blocks_id-types.png

Tipos de bloques de datos y sus respectivos íconos.

Como referencia, aquí se muestra una tabla de los diferentes tipos de bloques de datos almacenados en los archivos .blend.

Vincular

La vinculación hace posible que las bibliotecas sean referenciadas externamente dentro de otros archivos .blend.

Empacar

El empaque hace posible que el contenido de un archivo externo sea incluido dentro del archivo .blend. (no es aplicable a la mayoría de los tipos de bloques de datos que no hagan referencia externa a otro archivo).

Tipo

Vincular

Empacar

Descripción

Acción

Almacena curvas-f de animación. Usado como bloque de datos de animación y en el editor de Animación no lineal.

Esqueleto

Esqueleto usado para deformar mallas. Usado como datos de los esqueletos y por el modificador Esqueleto.

Pincel

Usado como recursos de pincel en los modos de esculpido y pintura.

Cámara

Usado como datos por las cámaras.

Archivo de caché

Usado por los modificadores de Caché de malla.

Curva

Usado como datos por curvas, tipografías y superficies.

Tipografía

Referencia archivos de fuentes. Usado como datos de las curvas de los textos.

Grease Pencil

Datos 2D/3D de trazos usados por objetos de Grease Pencil. Usado como información de asistencia sobreimpresa en la Vista 3D y los editores de imagen, de video y de clips de película.

Colección

Agrupa y organiza los objetos de una escena. Usado para instanciar objetos, así como en la vinculación de bibliotecas.

Imagen

Referencia archivos de imagen. Usado por los nodos de sombreado y texturizado.

Forma clave

Almacena formas geométricas, que podrán ser animadas. Usado por objetos de tipo malla, curva y jaula.

Luz

Usado como datos de objeto por las luces.

Biblioteca

Referencia un archivo .blend externo. Accesible desde el modo Archivo de Blender del Listado.

Estilo de línea

Usado por el motor de procesamiento Freestyle.

Jaula

Deformación de jaula, basada en una cuadrícula. Usado como datos de jaulas y por el modificador Jaula.

Máscara

Máscaras 2D animadas, basadas en curvas. Usadas por los nodos de composición y clips del Editor de video.

Material

Define las propiedades de procesamiento de sombreado y texturizado. Usado por objetos, mallas y curvas.

Metabola

Define una isosuperficie en espacio 3D. Usado como datos de metabolas.

Malla

Geometría conformada por vértices, bordes y caras. Usado como datos de objetos de tipo malla.

Clip de película

Referencia a una secuencia de imágenes o un archivo de video, externos. Usado en el Editor de clips de video.

Árbol de nodos

Grupos de nodos reutilizables. Usado en los editores de nodos.

Objeto

Un elemento de una escena, conteniendo posición, rotación y escala. Usado por escenas y colecciones.

Curva de pintura

Almacena un trazo de pintura o esculpido. Accesible desde las herramientas de pintura.

Paleta

Almacena preajustes de color. Accesibles desde las herramientas de pintura.

Partícula

Opciones de partículas. Usado por los sistemas de partículas.

Sonda de luz

Ayuda a lograr iluminación compleja en tiempo real en EEVEE.

Escena

Almacenamiento primario de todos los datos a ser mostrados y animados. Usado como forma de almacenamiento de nivel superior para objetos y animación.

Sonido

Referencia archivos de sonido. Usado como datos para los objetos de tipo altavoz.

Altavoz

Fuentes de sonido en una escena 3D. Usado como datos para objetos de tipo altavoz.

Texto

Datos de texto. Usado por scripts de Python y sombreadores OSL.

Textura

Texturas 2D/3D. Usado por pinceles y modificadores.

Administrador de ventanas

El administrador general de toda la interfaz de Blender. Incluye espacios de trabajo, el sistema de notificación, operadores y mapas de teclado.

Entorno

Define las opciones globales de procesamiento del entorno.

Espacio de trabajo

Organización de la interfaz. Usado por cada ventana que contenga su propio espacio de trabajo.

Persistencia en el tiempo

Para cada bloque de datos se lleva una cuenta de la cantidad de veces que es usado (cantidad de referencias), cuando exista más de una; será posible ver la cantidad de usuarios actuales de un bloque de datos a la derecha de su nombre en la interfaz. Blender sigue la premisa general de que todos los datos no usados serán finalmente eliminados.

Debido a que es común agregar y eliminar un montón de datos mientras se trabaja, esta filosofía tiene la ventaja de que no será necesario administrar cada bloque de datos de forma individual. Esto se logrará, en cambio, simplemente omitiendo guardar los bloques de datos que no tengan ningún usuario al momento de guardar el archivo .blend.

Protección (Usuario ficticio)

Debido a que los bloques de datos que no tengan ningún usuario referenciándolos no serán guardados, habrá momentos en los que se querrá forzar a que ciertos bloques de datos sean preservados, sin tener en cuenta que no existan en ese momento usuarios de los mismos.

Cuando se esté creando un archivo .blend que vaya a servir como biblioteca de recursos, para ser referenciados externamente desde otros archivos .blend, se querrá estar seguro de que los bloques de datos allí contenidos no vayan a ser accidentalmente borrados de la biblioteca.

Para proteger un bloque de datos usar el botón con un ícono de escudo, a la derecha de su nombre. El bloque de datos ya no será eliminado silenciosamente por Blender, aunque podrá ser eliminado manualmente si fuera necesario.

Nota

Linked data cannot be protected that way.

Nombre y renombrado

Los nombres de los bloques de datos deberán ser únicos dentro de su espacio de nombres. El espacio de nombres de un bloque de datos estará definido por su tipo y por el archivo .blend en donde se encuentre almacenado.

Esto significa que podrá haber, por ejemplo, un objeto y una malla con el mismo nombre, pero no podrán haber dos objetos locales con el mismo nombre, dentro del mismo archivo .blend. Sin embargo, sí será posible tener un objeto local con el mismo nombre que varios otros objetos vinculados.

Los bloques de datos tendrán un nombre con una extensión máxima de 63 bytes, es decir, 63 caracteres ASCII básicos o menos, en caso de que se usaran símbolos diacríticos o caracteres no latinos (en esos casos, la codificación UTF8 normalmente consumirá más de un byte por caracter).

Cuando Blender deba asignar un nombre a un nuevo bloque de datos o renombrar uno ya existente, comprobará la existencia de colisiones con otros nombres existentes. En caso de que ya existiera un bloque de datos con el mismo nombre, el bloque de datos al cual se asignará el nuevo nombre tendrá un sufijo numérico al final del “nombre base”, p.ej: .001. Se usará la primera cifra disponible (hasta un valor de 999, luego de eso los valores del sufijo serán simplemente incrementados hasta que deje de producirse una colisión en el nombre final).

En caso de que la adición del sufijo numérico hiciera que el nombre del bloque de datos quedara demasiado largo, el final del “nombre base” será truncado, según sea necesario.

Blender nunca renombrará otros bloques de datos al decidir nombres de forma automática. Por lo que, por ejemplo, al agregar un nuevo objeto de tipo Cubo, cuando ya existieran otros dos objetos locales llamados Cubo y Cubo.001, su nombre será Cubo.002.

Los bloques de datos locales podrán ser renombrados por el usuario en varias partes de la interfaz (p.ej: en el menú de selección de ID o en el Listado). Cuando éstos sean renombrados desde la interfaz, el comportamiento en caso de una colisión de nombres será el siguiente:

  • En caso de que el nombre base original fuera distinto del nuevo nombre introducido, el bloque de datos renombrado obtendrá el primer sufijo numérico disponible.

    • P.ej: asumiendo la existencia de tres objetos llamados Esfera, Cubo y Cubo.001, al renombrar Esfera como Cubo el bloque de datos renombrado pasará a llamarse Cubo.002.

  • En caso de que el nombre base original fuera igual al nuevo nombre introducido, el bloque de datos renombrado obtendrá el nombre introducido, mientras que el otro bloque de datos conflictivo será renombrado como corresponda.

    • P.ej: asumiendo la existencia de tres objetos llamados Esfera, Cubo y Cubo.001, al renombrar Cubo.001 como Cubo el bloque de datos renombrado pasará a llamarse Cubo, mientras que el otro bloque de datos conflictivo pasará a llamarse Cubo.001.

Uso compartido

Los bloques de datos podrán ser compartidos entre varios otros bloques de datos.

Ejemplos en los que el uso compartido es común:

  • Compartir una misma textura en varios materiales.

  • Compartir una misma malla entre varios objetos (instancias).

  • Compartir acciones animadas entre varios objetos, por ejemplo para hacer que todas las luces se apaguen a la vez.

También será posible compartir bloques de datos entre archivos, ver Vinculación de bibliotecas.

Hacer de único usuario

Cuando un bloque de datos esté siendo compartido entre varios usuarios, será posible realizar una copia independiente del mismo para uno de ellos. Para hacer esto, hacer clic sobre el botón que muestra la cantidad actual de usuarios, a la derecha de su nombre. Esto creará un duplicado del bloque de datos y lo asignará únicamente a este usuario.

Nota

Existe, en el menú Objeto, una serie de acciones más avanzadas por medio de las cuales es posible lograr esto, para más detalles ver su documentación.

Eliminación de bloques de datos

Tal como se mencionó en el apartado Persistencia en el tiempo, los bloques de datos son normalmente eliminados cuando ya no están siendo usados. Sin embargo, también será posible desvincularlos o borrarlos manualmente.

Desvincular un bloque de datos significa que su usuario ya no lo utilizará. Esto puede lograrse haciendo clic en el ícono con la «X», a la derecha del nombre del bloque de datos. Cuando se desvincule un bloque de datos de todos sus usuarios, será finalmente eliminado por Blender, tal como se describió más arriba (a menos que se lo hubiera protegido).

Borrar un bloque de datos lo borrará directamente del archivo .blend, desvinculándolo automáticamente de todos sus usuarios. Esto puede ser logrado mediante Mayús-LMB sobre el botón «X», junto a su nombre.

Advertencia

Borrar algunos tipos de bloques de datos puede derivar en la eliminación de algunos de sus usuarios, que se tornarían inválidos sin ellos. El principal ejemplo de esto es la eliminación de los datos de objeto (como malla, curva, cámara, etc.), que provocaría la eliminación de todos los objetos que los estuvieran usando.

Estas dos operaciones también se encuentran disponibles en el menú contextual, al hacer clic con RMB sobre el bloque de datos en el Listado.