Data-blockeringar¶
Basenheten för alla Blender-projekt är datablocket. Exempel på datablock är: meshes, objekt, material, texturer, nodträd, scener, texter, penslar och till och med arbetsytor.
Blender File-vy av Outliner.¶
Ett datablock är en generisk abstraktion av mycket olika typer av data, som har en gemensam uppsättning grundläggande funktioner, egenskaper och beteenden.
Några gemensamma egenskaper:
De är det primära innehållet i blend-filen.
De kan referera till varandra för återanvändning och instansiering. (Barn/förälder, objekt/objektdata, material/bilder, i modifierare eller begränsningar också …)
Deras namn är unika inom en blend-fil för en viss typ.
De kan läggas till/tas bort/ändras/dupliceras.
De kan länkas mellan filer (endast aktiverat för en begränsad uppsättning datablock).
De kan ha sina egna animationsdata.
De kan ha Anpassade egenskaper.
You 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. E.g. bones, sequence strips or vertex groups are not; they belong to armature, scene and mesh types respectively.
Typer av datablock¶
Som referens finns här en tabell över typer av datablock som lagras i blend-filer.
- Länk
Library Linking, stöder länkning till andra blend-filer.
- Packa
File Packing, stöder att filinnehåll packas in i blend-filen (inte tillämpligt för de flesta datablock som inte har någon filreferens).
Typ |
Länk |
Packa |
Beskrivning |
|---|---|---|---|
✓ |
Ingen |
Lagrar F-kurvor för animering. Används som animeringsdata för datablock och i redigeraren för icke-linjär animering. |
|
✓ |
Ingen |
Skelett som används för att deformera maskor. Används som data för armaturobjekt och av Armature Modifier. |
|
✓ |
Ingen |
Används som penseltillgångar i lägena sculpt och paint. |
|
✓ |
Ingen |
Används av Mesh Cache-modifierare. |
|
✓ |
Ingen |
Används som data av kameraobjekt. |
|
✓ |
Ingen |
Grupperar och organiserar objekt i scener. Används för att instansiera objekt och för att länka till bibliotek. |
|
✓ |
Ingen |
Används som data av kurvor, teckensnitt och ytobjekt. |
|
✓ |
Ingen |
New curve data type (replacing curve). |
|
✓ |
✓ |
Referenser till teckensnittsfiler. Används av curve object-data för textobjekt. |
|
✓ |
Ingen |
2D/3D-skissdata som används av Grease Pencil-objekt. Används som överlagrad hjälp-information av redigerarna 3D Viewport, Image, Sequencer och Movie Clip. |
|
✓ |
Ingen |
2D/3D-skissdata som används av Grease Pencil-objekt. Används som överlagrad hjälp-information av redigerarna 3D Viewport, Image, Sequencer och Movie Clip. |
|
✓ |
✓ |
Bildfiler. Används av shader-noder och texturer. |
|
✗ |
Ingen |
Lagring av geometriform som kan animeras. Används av mesh-, curve- och lattice-objekt. |
|
✓ |
Ingen |
Gitterbaserad deformation av gitter. Används som data för lattice-objekt och av Lattice Modifier. |
|
✗ |
✓ |
Referenser till en extern blend-fil. Åtkomst från vyn Blender File i Outliner. |
|
✓ |
Ingen |
Används som objektdata av lätta objekt. |
|
✓ |
Ingen |
Hjälp att åstadkomma komplex realtidsbelysning i EEVEE. |
|
✓ |
Ingen |
Används av Freestyle-renderingsprogrammet. |
|
✓ |
Ingen |
2D-animerade maskkurvor. Används av compositing-noder och sequencer-remsor. |
|
✓ |
Ingen |
Ställ in renderingsegenskaper för skuggning och texturering. Används av objekt, meshes och kurvor. |
|
✓ |
Ingen |
Geometri bestående av toppar/kanter/surfaces. Används som data för mesh-objekt. |
|
✓ |
Ingen |
En isoyta i 3D-rymd. Används som data för metaballobjekt. |
|
✓ |
✗ |
Hänvisning till en bildsekvens eller videofil. Används i redigeringsverktyget Movie Clip. |
|
✓ |
Ingen |
Grupper av återanvändbara noder. Används i noderedigerarna. |
|
✓ |
Ingen |
En enhet i scenen med plats, skala och rotation. Används av scener och samlingar. |
|
✓ |
Ingen |
Lagrar ett färg- eller skulpteringsdrag. Åtkomst från målarverktygen. |
|
✓ |
Ingen |
Lagra förinställda färger. Åtkomst från färgverktygen. |
|
✓ |
Ingen |
Partikelinställningar. Används av partikelsystem. |
|
✓ |
Ingen |
Collection of points in 3D space. |
|
✓ |
Ingen |
Primärt lager för all data som visas och animeras. Används som lagring på högsta nivå för objekt och animering. |
|
✓ |
Ingen |
Low level user interface storage. |
|
✓ |
✓ |
Referens till ljudfiler. Används som data för högtalarobjekt. |
|
✓ |
Ingen |
Ljudkällor för en 3D-scen. Används som data för högtalarobjekt. |
|
✓ |
✗ |
Textdata. Används av Python-skript och OSL-shaders. |
|
✓ |
Ingen |
2D/3D-texturer. Används av penslar och modifierare. |
|
✓ |
Ingen |
Volumetric objects used to contain grids of data. |
|
✗ |
Ingen |
Den övergripande hanteraren för hela Blenders användargränssnitt. Inkluderar arbetsytor, meddelandesystem, operatörer och keymaps. |
|
✗ |
Ingen |
Grafisk gränssnittslayout. Används av varje fönster, som har sin egen arbetsyta. |
|
✓ |
Ingen |
Definiera globala inställningar för renderingsmiljön. |
Livstid¶
Varje datablock har sin användning räknad (referensräkning), när det finns mer än en, kan du se antalet aktuella användare av ett datablock till höger om dess namn i gränssnittet. Blender följer den allmänna regeln att oanvända data så småningom tas bort.
Eftersom det är vanligt att man lägger till och tar bort mycket data under arbetets gång har detta fördelen att man inte behöver hantera varje enskilt datablock manuellt. Detta fungerar genom att hoppa över noll användardatablock när du skriver blend-filer.
Skyddat¶
Eftersom datapaket med nollanvändare inte sparas finns det tillfällen då du vill tvinga data att sparas oberoende av användarna.
Om du bygger en blend-fil som ska fungera som ett bibliotek med tillgångar som du tänker länka till och från andra filer måste du se till att de inte av misstag raderas från biblioteksfilen.
För att skydda ett datablock använder du knappen med sköldikonen bredvid dess namn. Datablocket kommer då aldrig att raderas tyst av Blender, men du kan fortfarande ta bort det manuellt om det behövs.
Anteckning
Länkade data kan inte skyddas på det sättet.
Namnge och byta namn¶
A data-block’s name is unique within its namespace. A data-block namespace is defined by its type, and the blendfile it is stored in.
Det innebär att det t.ex. kan finnas ett Object och ett Mesh som heter samma sak, men det kan inte finnas två lokala objekt som heter samma sak i en blendfil. Det är dock möjligt att ha ett lokalt och flera länkade objekt som delar samma namn.
Data-block names have a fixed length of 255 bytes and are UTF-8 encoded. This is room for 255 basic ASCII characters, or less when using diacritics or non-latin glyphs, which use more than one byte per character. Data-block names cannot contain a Null character (U+0000).
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.
Om namnet på datablocket skulle bli för långt om det numeriska suffixet läggs till, förkortas rotnamnsdelen vid behov.
Blender kommer aldrig att byta namn på ett annat datablock vid automatisk namngivning. Så t.ex. när du lägger till ett nytt Cube-objekt och det redan finns Cube och Cube.001 lokala objekt, kommer det nya att heta 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 follows:
Om det ursprungliga rotnamnet är ett annat än det nya begärda namnet, får det omdöpta datablocket det första tillgängliga numeriska suffixet.
Om man t.ex. antar att det finns tre objekt med namnen Sphere, Cube och Cube.001, kommer ett byte av namn från Sphere till Cube att byta namn på datablocket till 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 data-block is renamed accordingly.
Om man t.ex. antar att det finns tre objekt med namnen Sphere, Cube och Cube.001, och döper om Cube.001 till Cube, kommer datablocket att döpas om till Cube och det andra datablocket till Cube.001.
Skapa enskild användare¶
När ett datablock delas mellan flera användare kan du göra en kopia av det för en viss användare. Detta gör du genom att klicka på knappen för användarantal till höger om namnet. Då dupliceras datablocket och den nyskapade kopian tilldelas endast den användaren.
Anteckning
Objekten har en uppsättning mer avancerade åtgärder för att bli enanvändare, se deras dokumentation.
Ta bort datablockeringar¶
Som beskrivs i Life Time tas datablock vanligtvis bort när de inte längre används. De kan också manuellt avlänkas eller tas bort.
Att avlänka ett datablock innebär att dess användare inte längre kan använda det. Detta kan göras genom att klicka på ikonen ”X” bredvid ett datablocks namn. Om du avlänkar ett datablock från alla dess användare kommer det så småningom att raderas av Blender enligt beskrivningen ovan (såvida det inte är ett skyddat datablock).
Om du raderar ett datablock raderas det direkt från blend-filen och kopplas automatiskt bort från alla dess användare. Detta kan göras genom att Shift-LMB på ”X” ikonen bredvid dess namn.
Varning
Deleting some data-blocks can lead to deletion of some of their 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.
Dessa två operationer finns också tillgängliga i snabbmenyn när man RMB-klickar på ett datablock i Outliner.