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.
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:
They are the primary contents of the blend-file.
They can reference each other, for reuse and instancing. (Child/parent, object/object-data, materials/images, in modifiers or constraints too…)
Their names are unique within a blend-file, for a given type.
They can be added/removed/edited/duplicated.
They can be linked between files (only enabled for a limited set of data-blocks).
They can have their own animation data.
They can have Propiedades personalizadas.
User will typically interact with the higher level data types (objects, meshes, etc.). When doing more complex projects, managing data-blocks becomes more important, especially when inter-linking blend-files. The main editor for that is the Outliner.
Not all data in Blender is a data-block, bones, sequence strips or vertex groups e.g. are not, they belong to armature, scene and mesh types respectively.
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. |
|
✓ |
— |
Used as brush assets in sculpt and paint modes. |
|
✓ |
— |
Usado como datos por las cámaras. |
|
✓ |
— |
Usado por los modificadores de Caché de malla. |
|
✓ |
— |
Usado como datos por curvas, tipografías y superficies. |
|
✓ |
✓ |
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. |
|
✓ |
— |
Agrupa y organiza los objetos de una escena. Usado para instanciar objetos, así como en la vinculación de bibliotecas. |
|
✓ |
✓ |
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. |
|
✓ |
— |
Usado como datos de objeto por las luces. |
|
✗ |
✓ |
Referencia un archivo .blend externo. Accesible desde el modo Archivo de Blender del Listado. |
|
✓ |
— |
Usado por el motor de procesamiento Freestyle. |
|
✓ |
— |
Deformación de jaula, basada en una cuadrícula. Usado como datos de jaulas y por el modificador Jaula. |
|
✓ |
— |
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. |
|
✓ |
— |
Define una isosuperficie en espacio 3D. Usado como datos de metabolas. |
|
✓ |
— |
Geometría conformada por vértices, bordes y caras. Usado como datos de objetos de tipo malla. |
|
✓ |
✗ |
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. |
|
✓ |
— |
Ayuda a lograr iluminación compleja en tiempo real en EEVEE. |
|
✓ |
— |
Almacenamiento primario de todos los datos a ser mostrados y animados. Usado como forma de almacenamiento de nivel superior para objetos y animación. |
|
✓ |
✓ |
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. |
|
✗ |
— |
El administrador general de toda la interfaz de Blender. Incluye espacios de trabajo, el sistema de notificación, operadores y mapas de teclado. |
|
✓ |
— |
Define las opciones globales de procesamiento del entorno. |
|
✗ |
— |
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.
Name & Rename¶
Data-blocks names are unique within their namespace. A data-block namespace is defined by its type, and the blendfile it is stored in.
This means that there can be for example an Object and a Mesh named the same, but there cannot be two local objects named the same in a blendfile. However, it is possible to have one local and several linked Objects sharing the same name.
Data-block names have a fixed length of 63 bytes, i.e. 63 basic ASCII characters, or less when using diacritics or non-latin glyphs (the UTF8 encoding will then typically use more than a 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 happen anymore).
In case adding the numeric suffix would make the data-block name too long, the root name part will be shortened as needed.
Blender will never rename another data-block when doing automatic naming. So e.g. when adding a new Cube object and there are already Cube and Cube.001 local objects, the new one will be named Cube.002.
Local data-blocks can be renamed by the user in several places in the UI (like the ID selection widget, or the Outliner view). When renamed from the UI, the behavior in case of name collision is as follow:
If the original root name is different than in the new requested name, the renamed data-block gets the first available numerical suffix.
E.g. assuming that there are three objects named Sphere, Cube and Cube.001, renaming Sphere to Cube will rename the data-block to Cube.002.
If the original root name is the same as in the new requested name, the renamed data-block gets the requested name, and the conflicting of data-block is renamed accordingly.
E.g. assuming that there are three objects named Sphere, Cube and Cube.001, renaming Cube.001 to Cube will rename the data-block to Cube, and the other data-block to Cube.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 :kbd:`RMB`sobre el bloque de datos en el Listado.