Blocos de dadosĀ¶

The base unit for any Blender project is the data-block. Examples of data-blocks include: meshes, objects, materials, textures, node trees, scenes, texts, brushes, and even Workspaces.

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

Blender File view of the Outliner.Ā¶

A data-block is a generic abstraction of very different kinds of data, which features a common set of basic features, properties and behaviors.

Algumas caracterĆ­sticas em comum:

  • Eles sĆ£o os conteĆŗdos elementares dos arquivos Blender.

  • 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.

  • Eles podem ser adicionados, removidos, editados e duplicados.

  • Eles podem ser vinculados entre arquivos (opĆ§Ć£o habilitada somente para um conjunto limitado de blocos de dados).

  • Eles podem ter seus prĆ³prios dados de animaĆ§Ć£o.

  • They can have Propriedades 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 blocos de dadosĀ¶

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

Tipos de blocos de dados com seus respectivos Ć­cones.Ā¶

Para referĆŖncia, apresentamos aqui uma tabela de tipos de blocos de dados armazenados em arquivos Blender.

VinculaƧƵes

A vinculaĆ§Ć£o a bibliotecas, suporta tambĆ©m o vĆ­nculo a outros arquivos Blender.

Pack

File Packing, supports file contents being packed into the blend-file (not applicable for most data-blocks which have no file reference).

Tipo

VinculaƧƵes

Pack

DescriĆ§Ć£o

Action

āœ“

|nenhum|

Stores animation F-Curves. Used as data-block animation data, and the Nonlinear Animation editor.

Armature

āœ“

|nenhum|

Skeleton used to deform meshes. Used as data of armature objects, and by the Armature Modifier.

Brush

āœ“

|nenhum|

Used as brush assets in sculpt and paint modes.

Camera

āœ“

|nenhum|

Used as data by camera objects.

Cache File

āœ“

|nenhum|

Used by Mesh Cache modifiers.

Curve

āœ“

|nenhum|

Used as data by curve, font & surface objects.

Font

āœ“

āœ“

References font files. Used by curve object-data of text objects.

Grease Pencil

āœ“

|nenhum|

2D/3D sketch data used by Grease Pencil objects. Used as overlay helper info, by the 3D Viewport, Image, Sequencer & Movie Clip editors.

Collection

āœ“

|nenhum|

Group and organize objects in scenes. Used to instance objects, and in library linking.

Image

āœ“

āœ“

Image files. Used by shader nodes and textures.

Keys (Shape Keys)

āœ—

|nenhum|

Geometry shape storage, which can be animated. Used by mesh, curve, and lattice objects.

Light

āœ“

|nenhum|

Used as object data by light objects.

Library

āœ—

āœ“

References to an external blend-file. Access from the Outlinerā€™s Blender File view.

Line Style

āœ“

|nenhum|

Used by the Freestyle renderer.

Lattice

āœ“

|nenhum|

Grid based lattice deformation. Used as data of lattice objects, and by the Lattice Modifier.

Mask

āœ“

|nenhum|

2D animated mask curves. Used by compositing nodes & sequencer strip.

Material

āœ“

|nenhum|

Set shading and texturing render properties. Used by objects, meshes & curves.

Metaball

āœ“

|nenhum|

An isosurface in 3D space. Used as data of metaball objects.

Mesh

āœ“

|nenhum|

Geometry made of vertices/edges/faces. Used as data of mesh objects.

Movie Clip

āœ“

āœ—

Reference to an image sequence or video file. Used in the Movie Clip editor.

Node Tree

āœ“

|nenhum|

Groups of re-usable nodes. Used in the node editors.

Object

āœ“

|nenhum|

An entity in the scene with location, scale, rotation. Used by scenes & collections.

Paint Curve

āœ“

|nenhum|

Stores a paint or sculpt stroke. Access from the paint tools.

Palette

āœ“

|nenhum|

Store color presets. Access from the paint tools.

Particle

āœ“

|nenhum|

Particle settings. Used by particle systems.

Light Probe

āœ“

|nenhum|

Help achieve complex real-time lighting in EEVEE.

Scene

āœ“

|nenhum|

Primary store of all data displayed and animated. Used as top-level storage for objects & animation.

Sounds

āœ“

āœ“

Reference to sound files. Used as data of speaker objects.

Speaker

āœ“

|nenhum|

Sound sources for a 3D scene. Used as data of speaker object.

Text

āœ“

āœ—

Text data. Used by Python scripts and OSL shaders.

Texture

āœ“

|nenhum|

2D/3D textures. Used by brushes and modifiers.

Window Manager

āœ—

|nenhum|

The overarching manager for all of Blenderā€™s user interface. Includes Workspaces, notification system, operators, and keymaps.

World

āœ“

|nenhum|

Define global render environment settings.

Workspace

āœ—

|nenhum|

UI layout. Used by each window, which has its own workspace.

Life TimeĀ¶

Every data-block has its usage counted (reference count), when there is more than one, you can see the number of current users of a data-block to the right of its name in the interface. Blender follows the general rule that unused data is eventually removed.

Since it is common to add and remove a lot of data while working, this has the advantage of not having to manually manage every single data-block. This works by skipping zero user data-blocks when writing blend-files.

ProtectedĀ¶

Devido ao fato dos blocos de dados sem quaisquer usuĆ”rios (ou usuĆ”rios zero) nĆ£o ser salvos, existem muitas ocasiƵes onde vocĆŖ poderĆ” querer forƧar o mantenimento desses dados independentemente de haver ou nĆ£o usuĆ”rios.

If you are building a blend-file to serve as a library of assets that you intend to link to and from other files, you will need to make sure that they do not accidentally get deleted from the library file.

To protect a data-block, use the button with the shield icon next to its name. The data-block will then never be silently deleted by Blender, but you can still manually remove it if needed.

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.

SharingĀ¶

Data-blocks can be shared among other data-blocks.

Exemplos onde o compartilhamento de dados Ć© comum:

  • Compartilhando texturas entre materiais.

  • Compartilhando malhas entre objetos (instĆ¢ncias).

  • Compartilhando aƧƵes animadas entre objetos, por exemplo para fazer com que todas as luzes tenham seu brilho reduzido ao mesmo tempo.

You can also share data-blocks between files, see linked libraries.

Making Single UserĀ¶

When a data-block is shared between several users, you can make a copy of it for a given user. To do so, click on the user count button to the right of its name. This will duplicate that data-block and assign the newly created copy to that usage only.

Nota

Objects have a set of more advanced actions to become single-user, see their documentation.

Removendo blocos de dadosĀ¶

As covered in Life Time, data-blocks are typically removed when they are no longer used. They can also be manually unlinked or deleted.

Unlinking a data-block means that its user wonā€™t use it anymore. This can be achieved by clicking on the Ā«XĀ» icon next to a data-blockā€™s name. If you unlink a data-block from all of its users, it will eventually be deleted by Blender as described above (unless it is a protected one).

Deleting a data-block directly erases it from the blend-file, automatically unlinking it from all of its users. This can be achieved by Shift-LMB on the Ā«XĀ» icon next to its name.

Aviso

Deleting some data-blocks can lead to deletion of some of its users, which would become invalid without them. The main example is that object-data deletion (like mesh, curve, cameraā€¦) will also delete all objects using it.

Those two operations are also available in the context menu when RMB-clicking on a data-block in the Outliner.