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.
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¶
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 |
|---|---|---|---|
✓ |
— |
Almacena curvas-f de animación. Usado como bloque de datos de animación y en el editor de Animación no lineal. |
|
✓ |
— |
Esqueleto usado para deformar mallas. Usado como datos de los esqueletos y por el modificador Esqueleto. |
|
✓ |
— |
Usado como recursos de pincel en los modos de esculpido y pintura. |
|
✓ |
— |
Usado por los modificadores de Caché de malla. |
|
✓ |
— |
Usado como datos por las cámaras. |
|
✓ |
— |
Agrupa y organiza los objetos de una escena. Usado para instanciar objetos, así como en la vinculación de bibliotecas. |
|
✓ |
— |
Usado como datos por curvas, tipografías y superficies. |
|
✓ |
— |
New curve data type (replacing curve). |
|
✓ |
✓ |
Referencia archivos de fuentes. Usado como datos de las curvas de los textos. |
|
✓ |
— |
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. |
|
✓ |
— |
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. |
|
✓ |
✓ |
Referencia archivos de imagen. Usado por los nodos de sombreado y texturizado. |
|
✗ |
— |
Almacena formas geométricas, que podrán ser animadas. Usado por objetos de tipo malla, curva y jaula. |
|
✓ |
— |
Deformación de jaula, basada en una cuadrícula. Usado como datos de jaulas y por el modificador Jaula. |
|
✗ |
✓ |
Referencia un archivo .blend externo. Accesible desde el modo Archivo de Blender del Listado. |
|
✓ |
— |
Usado como datos de objeto por las luces. |
|
✓ |
— |
Ayuda a lograr iluminación compleja en tiempo real en EEVEE. |
|
✓ |
— |
Usado por el motor de procesamiento Freestyle. |
|
✓ |
— |
Máscaras 2D animadas, basadas en curvas. Usadas por los nodos de composición y clips del Editor de video. |
|
✓ |
— |
Define las propiedades de procesamiento de sombreado y texturizado. Usado por objetos, mallas y curvas. |
|
✓ |
— |
Geometría conformada por vértices, bordes y caras. Usado como datos de objetos de tipo malla. |
|
✓ |
— |
Define una isosuperficie en espacio 3D. Usado como datos de metabolas. |
|
✓ |
✗ |
Referencia a una secuencia de imágenes o un archivo de video, externos. Usado en el Editor de clips de video. |
|
✓ |
— |
Grupos de nodos reutilizables. Usado en los editores de nodos. |
|
✓ |
— |
Un elemento de una escena, conteniendo posición, rotación y escala. Usado por escenas y colecciones. |
|
✓ |
— |
Almacena un trazo de pintura o esculpido. Accesible desde las herramientas de pintura. |
|
✓ |
— |
Almacena preajustes de color. Accesibles desde las herramientas de pintura. |
|
✓ |
— |
Opciones de partículas. Usado por los sistemas de partículas. |
|
✓ |
— |
Collection of points in 3D space. |
|
✓ |
— |
Almacenamiento primario de todos los datos a ser mostrados y animados. Usado como forma de almacenamiento de nivel superior para objetos y animación. |
|
✓ |
— |
Low level user interface storage. |
|
✓ |
✓ |
Referencia archivos de sonido. Usado como datos para los objetos de tipo altavoz. |
|
✓ |
— |
Fuentes de sonido en una escena 3D. Usado como datos para objetos de tipo altavoz. |
|
✓ |
✗ |
Datos de texto. Usado por scripts de Python y sombreadores OSL. |
|
✓ |
— |
Texturas 2D/3D. Usado por pinceles y modificadores. |
|
✓ |
— |
Volumetric objects used to contain grids of data. |
|
✗ |
— |
El administrador general de toda la interfaz de Blender. Incluye espacios de trabajo, el sistema de notificación, operadores y mapas de teclado. |
|
✗ |
— |
Organización de la interfaz. Usado por cada ventana que contenga su propio espacio de trabajo. |
|
✓ |
— |
Define las opciones globales de procesamiento del entorno. |
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
Los datos vinculados no pueden ser protegidos de esa manera.
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.
Data-block names have a fixed length of 255 bytes, i.e. 255 basic ASCII characters, or less when using diacritics or non-latin glyphs (the UTF8 encoding will then typically use more than one byte per character).
When Blender has to name a new data-block, or rename an existing one, it will check for name collisions. If a data-block with the same name already exists, the (re)named data-block will get a numeric extension added as a post-fix to its “root name”, like e.g. .001. The first available index is used (up to the 999 value, after that the postfix index values are simply incremented until no collision happens anymore).
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.
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.