Mesh Structure (Meshstructuur)¶
Bij meshes is alles opgebouwd uit drie basiselementen: vertices, edges en faces ofwel hoekpunten, randen en vlakken..
Voorbeeld van een meshstructuur.¶
Vertices (Hoekpunten)¶
Het meest elementaire onderdeel van een mesh is de vertex of hoekpunt (vertices meervoud), een enkel punt of positie in de 3D-ruimte. Vertices worden in de 3D Viewport in Bewerkingsmodus weergegeven als kleine puntjes. De vertices van een object worden opgeslagen als een array van coördinaten.
Tip
Verwar de object origin niet met een vertex. Het lijkt er misschien op, maar het is groter en kan niet worden geselecteerd.
Het hoekpunt is gelabeld als “A”; de oorsprong van het object is gelabeld als “B”.¶
Edges (Randen)¶
Een rand verbindt altijd twee vertices door een rechte lijn. De edges zijn de “draden” die men ziet wanneer naar een mesh wordt gekeken in wireframe weergave. Ze zijn meestal onzichtbaar op de gerenderde afbeelding. Ze worden gebruikt om faces (vlakken) te construeren.
Faces (Vlakken)¶
Faces, ofwel vlakken, worden gebruikt om het werkelijke oppervlak van het object op te bouwen. Zij zijn wat men ziet wanneer de mesh wordt gerenderd. Als dit gebied geen vlak bevat, zal het transparant of niet-bestaand zijn in de gerenderde afbeelding.
Een vlak wordt gedefinieerd als het gebied tussen drie (driehoeken), vier (vierhoeken) of meer (n-gons) hoekpunten, met een rand aan elke zijde. De vlakken worden vaak afgekort tot tris (triangles), quads & n-gons.
Driehoeken zijn altijd plat en daarom gemakkelijk te berekenen. Aan de andere kant “vervormen” vierhoeken goed en hebben daarom de voorkeur voor animatie en subdivision modeling.
Normals (Normals)¶
In meetkunde, een normaal is een richting of lijn die loodrecht op iets staat, meestal een driehoek of oppervlak, maar kan ook relatief zijn ten opzichte van een lijn, een raaklijn (tangent plane) voor een punt op een curve, of een raakvlak voor een punt op een oppervlak.
Normalen helpen onder andere om de schaduw van de mesh te bepalen.
Een visualisatie van de vlaknormalen van een torus.¶
In het figuur hierboven stelt elke blauwe lijn de normaal voor van een vlak op de torus. De lijnen staan loodrecht op het vlak waarop ze liggen. De visualisatie kan worden geactiveerd, in bewerkingsmodus, in het Mesh Display Viewport Overlays paneel.
Shading (Schaduwwerking)¶
Oppervlaktenormalen spelen een fundamentele rol in het bepalen hoe licht interactie heeft met 3D-objecten en beïnvloeden dus in grote mate de schaduwwerking van die objecten. Normalen kunnen glad of vlak worden gearceerd.
Wanneer een mesh platte schaduwerking gebruikt, worden de vlakken uniform gerenderd en weergegeven. Dit is meestal wenselijk voor objecten met platte oppervlakken zoals een kubus of piramide.
Wanneer een mesh gladde schaduwen gebruikt, worden de normalen geïnterpoleerd over de vertices van een polygonale mesh, waardoor vloeiende overgangen tussen aangrenzende polygonen kunnen worden bereikt, wat resulteert in een realistischer uiterlijk.
Standaard hebben vlaknormalen een vlakke schaduw, maar dit kan worden aangepast voor het hele object of per vlak.
Gebruik om de schaduwwerking van het hele object aan te passen:
Shade Smooth (Gladde Schaduwwerking) – Om het hele object als glad te markeren.
Shade Auto Smooth (Automatisch Gladde Schaduwwerking) – Om delen van het object als glad te markeren.
Om terug te keren naar vlakke schaduwwerking, gebruik Shade Flat (Vlakke Schaduwwerking).
De schaduwwerking van objecten kan ook per vlak, rand of vertex worden aangepast.
Custom Split Normals¶
Custom split normals (aangepaste gesplitste normalen) zijn een manier om schaduw aan te passen of te “vervalsen” door normalen naar andere richtingen te wijzen dan de standaard, automatisch berekende normalen. Het wordt meestal gebruikt in game-development, waar het helpt tegenwicht te bieden aan sommige problemen die worden gegenereerd door low-poly objecten (de meest voorkomende voorbeelden zijn low-poly bomen, struiken, gras, enz. en de ‘afgeronde’ hoeken).
Blender ondersteunt aangepaste normalen op een ‘gladde waaier’ basis, gedefinieerd als een set van naburige face corners (vlakhoeken) die dezelfde vertex delen en ‘gelinkt’ zijn door gladde randen. Dit betekent dat men normalen kan hebben per vlakhoek, per set van naburige vlakhoeken of per vertex.
Aangepaste gesplitste normale data worden opgeslagen als de custom_normal Attribute op de vlakhoek Domain.
Tip
De berekening van aangepaste gesplitste normalen kan worden uitgeschakeld om de prestaties te verbeteren. Deze optie kan worden gevonden in de ref: Simplify Rendering Settings <bpy.types.RenderSettings.use_simplify_normals>.
Free Normals (Vrije Normalen¶
Vrije normalen zijn een type aangepaste normalen die rechtstreeks worden opgeslagen als richtingsvectoren in objectruimte. In tegenstelling tot traditionele aangepaste normalen, die worden gedefinieerd ten opzichte van de omringende geometrie (bekend als tangent of hoekwaaierruimte), zijn vrije normalen onafhankelijk van de mesh topologie en zijn ze niet afhankelijk van gladde groepen of randconnectiviteit.
Omdat het eenvoudige vectoren zijn, zijn vrije normalen:
Efficiënt: Snel te evalueren, waardoor de viewportprestaties aanzienlijk verbeteren in vergelijking met normalen in de tangentruimte.
Lichtgewicht: Vereisen minder geheugen, vooral gunstig voor dichte of zwaar geïnstantieerde meshes.
Statisch: Ze updaten niet automatisch wanneer de mesh vervormd wordt (bv. door modifiers of animaties), dus ze zijn het best geschikt voor statische geometrie of gevallen waar prestaties kritisch zijn.
Vrije normalen kunnen worden toegewezen met het Set Mesh Normal Node in Free mode, en opgeslagen op het hoekpunt, vlak, of vlakhoek domein afhankelijk van de gewenste granulariteit.
Editing Custom Split Normals (Aangepaste Split Normalen Bewerken)¶
Reference (Referentie)
- Mode (Modus):
Edit Mode (Bewerkingsmodus)
- Menu:
- Shortcut (Sneltoets):
Alt-N
Er zijn een aantal tools voor het bewerken van aangepaste gesplitste normalen. De tools voor het bewerken van de aangepaste normale mesh kunnen alle normalen (standaard) of alleen geselecteerde normalen beïnvloeden. Om een aangepaste normaal te selecteren die is gekoppeld aan een bepaald hoekpunt en vlak:
Maak de elementselectiemodus zowel Hoekpunt als Vlak (gebruik Shift-LMB om de tweede modus in te schakelen).
Selecteer een of meer hoekpunten en vervolgens een vlak. Dit kan herhaald worden om meer hoekpunten en een ander vlak te selecteren enzovoort. Men kan het effect van deze tools het gemakkelijkst zien als de optie Overlays in bewerkingsmodus Display vertex-per-face normals as lines. inschakelt.
Zie ook
Importing Custom Split Normals (Importeer Aangepaste Split Normalen)¶
Sommige tools vooral die gebruikt worden in CAD, hebben de neiging om onregelmatige geometrie te genereren bij het vlakvullen van hun objecten in meshes (zeer dunne en lange driehoeken, enz.). Automatisch berekende normalen op zulke geometrie geven vaak slechte artefacten, dus het is belangrijk om de normalen zoals gegenereerd door de CAD tool zelf te kunnen importeren en gebruiken.
Notitie
Momenteel kunnen alleen de FBX Importer en Alembic Importer custom normalen importeren.
Topology (Topologie)¶
Loops (Lussen)¶
Rand en vlak -lussen.¶
Edge en face loops zijn sets van vlakken of randen die continue “lussen” vormen zoals in Fig. Rand en vlak -lussen..
In de bovenstaande afbeelding zijn lussen die niet eindigen op polen cyclisch (1 en 3). Ze beginnen en eindigen op dezelfde vertex en verdelen het model in twee partities. Lussen kunnen een snel en krachtig hulpmiddel zijn om te werken met specifieke, continue gebieden van een mesh en zijn een vereiste voor organische karakteranimatie. Voor een gedetailleerde beschrijving van het werken met loops in Blender, zie: :ref: bpy.ops.mesh.loop_multi_select.
Notitie
Let op dat lussen (2 en 4) niet rond het hele model gaan. Lussen stoppen bij zogenaamde polen omdat er geen unieke manier is om een lus voort te zetten vanaf een pool. Polen zijn hoekpunten die verbonden zijn met drie, vijf of meer randen. Vertices die verbonden zijn met precies één, twee of vier ribben zijn dus geen polen.
Edge Loops (Randlussen)
Lussen (1 en 2) in Fig. Rand en vlak -lussen. zijn randlussen. Ze verbinden hoekpunten zo dat elk hoekpunt in de lus precies twee buren heeft die niet in de lus zitten en aan beide zijden van de lus zijn geplaatst (behalve het begin- en eindpunt in het geval van polen).
Edge loops zijn een belangrijk concept, vooral in organische (ondergrondse) modellering en karakteranimatie. Als men ze correct gebruikt, kunnen modellen worden gebouwd met relatief weinig vertices die er natuurlijk uitzien als men subdivision surfaces gebruikt en die goede deformatie maakt in animaties.
Neem Fig. Rand en vlak -lussen. in organisch modelleren als voorbeeld: de randlussen volgen de natuurlijke contouren en vervormingslijnen van de huid en de onderliggende spieren. De lussen zijn dichter in gebieden die meer vervormen wanneer het personage beweegt, bijvoorbeeld bij de schouders of knieën.
Meer details over het werken met randlussen kunnen worden gevonden in Selecteer Edge Loops.
Face Loops (Vlaklussen)
Deze zijn een logische uitbreiding van randlussen in de zin dat ze bestaan uit de vlakken tussen twee randlussen, zoals te zien is in lussen (3 en 4) in Fig. Rand en vlak -lussen.. Let op dat voor niet-cirkelvormige lussen (4) de vlakken die de polen bevatten niet inbegrepen zijn in een vlaklus.
Meer details over het werken met vlaklussen kunnen gevonden worden in Face Loop Selection.
Poles (Polen)¶
Zie N-poles & E-poles.
Non-Manifold¶
Zie Non-manifold.