Principy 3D modelování
|
Note
|
Modelování mnohoúhelníkových sítí (dělení povrchu, retopologie, high-poly vs. low-poly model). Grafický materiál (BSDF, albedo, metallic, roughness mapy). Texturování povrchů (mapování, unwrap, kontrola kvality mapování). Animace 3D modelu (dopředná a inverzní kinematika, rigging, skinning). VV035, VV036 |
- Model
-
Model je komplikované slovo s mnoha významy:
model, noun
-
a usually miniature representation of something
also: a pattern of something to be made -
a: a type or design of product (such as a car)
b: a type or design of clothing -
a system of postulates, data, and inferences presented as a mathematical description of an entity or state of affairs
also: a computer simulation based on such a system -
archetype
-
an example for imitation or emulation
-
one who is employed to display clothes or other merchandise
-
a person or thing that serves as a pattern for an artist
especially: one who poses for an artist -
version
-
a description or analogy used to help visualize something (such as an atom) that cannot be directly observed
-
structural design
-
an organism whose appearance a mimic imitates
-
animal model
-
(dialectal british): copy, image
-
(obsolete): a set of plans for a building
— Mirriam-WebsterNicméně v kontextu modelování 3D postav je model soubor (např. ve formátu
.fbx,.objči.blend) obsahující mesh. Nejblíže má tím pádem významu č. 1. -
Mnohoúhelníkové sítě
- Polygon
-
Mnohoúhelník.
- (Polygon) mesh
-
Mnohoúhelníková síť.
- High-poly mesh
-
Model s velkým množstvím polygonů. Typicky se jedná o model, který je určen např. pro pre-renderované cutscény a nikoliv pro hraní.
Bývájí výsledkem sculptingu v programech jako je ZBrush či Mudbox.
Obrázek 1. Arachnid humanoid bust by Alexander Tobler - Low-poly mesh
-
Model s malým množstvím polygonů. Typicky se jedná o model, který je vložen do hry a je tedy výhodné, aby bylo co možná nejjednodušší jen vykreslit.
Obrázek 2. Triceratops by Base Mesh Store - Low-poly stylizace
-
Stylizace, kdy je model záměrně vytvořen s nízkým množstvím polygonů, protože to vypadá cool. Je to taková skoro 3D analogie pixelartu.
Obrázek 3. Low Poly Worlds by Pavel Novák
Topologie a modifikace
|
Tip
|
Pro základní topologické pojmy viz 3D modelování a datové struktury. |
- Meshflow
-
Logické uspořádání hran a polygonů v mnohoúhelníkové síti.
NoteNepovedlo se mi tenhle termín najít jinde než ve slidech pro VV035/VV036. Zdá se mi, že je to v zásadě synononymum pro topologii. - Quad topologie
-
Při modelování (nejen postav) se snažíme, aby všechny polygony byly quady (čtyřúhelníky). Je to zejména proto, že subdivision na nich funguje lépe, a 3D artisti dokáží lépe odhadnout, co se s nimi při takových operacích stane.
- Organic modeling
-
Při modelování postav většinou vycházíme z nějaké anatomie z reálného světa. Snažíme se vyjít z toho, jak jsou v reálném světě kosti, svaly, apod. umístěny. V důsledku toho je například důležité mít edge loops okolo ramen, úst, a boků. [1]
Nejde jen o to vyrobit anatomicky věrný model, ale i o to, aby se model dobře rigoval a animoval. Správná topologie přispívá k tomu, aby se model plynule deformoval při animaci, aniž by se některé části modelu pohybovaly nerealisticky a rozbily imerzi.
Obrázek 4. Flowing edge loops and good topology are crucial for rigging and animation [3] - Retopologie
-
Postup, kdy začneme s high-poly modelem, který jsme nejspíš vysculptovali bez ohledu na topologii, a ručně / automaticky na něm postavíme nový low-poly model se správnou topologií. Tohle nám umožňuje se nejprve soustředit na to, co za model chceme, a pak teprve na jeho technické provedení. [1]
Retopologie se používá hlavně proto, aby byl výsledný model použitelný pro animaci, UV unwrap a real-time rendering. Nová síť by měla mít smysluplné edge loops, přiměřený počet polygonů a hustotu geometrie tam, kde je potřeba deformace nebo detail. Detaily původního high-poly modelu se pak typicky přenesou pomocí texture bakingu do normal, height nebo ambient occlusion map.
- Dělení povrchu / subdivision surface
-
Postup, kdy se mnohoúhelníková síť opakovaně zjemňuje a vyhlazuje podle daného pravidla. V modelování se často používá jako nedestruktivní modifikátor: autor pracuje s jednodušší kontrolní sítí a software z ní dopočítá hladší povrch.
U quad topologie je typický Catmull-Clark subdivision, který po dělení zachovává pravidelnou čtyřúhelníkovou strukturu lépe než trojúhelníkové sítě. Dělení povrchu se hodí pro organické tvary, ale může ztrácet ostré hrany; ty se kontrolují podpůrnými edge loopy, crease vahami nebo bevely.
- Box modeling
-
Proces, kdy začneme od default cube, subdividneme ji a pokračujeme odtamtaď. [1]
- Point to point modeling
-
Začneme od jediného bodu / polygonu. Tahle metoda je užitečná, když očekáváme, že retopologie modelu bude náročná, jelikož nám dává větší kontrolu nad meshflow. [1]
Materiály a textury
Typický 3D model se skládá nejen z meshe, ale i z materiálů, které jsou v herních enginech typicky reprezentovány texturami (mapami).
|
Note
|
Typy map souvisí s physically based rendering (PBR), kterému se částečně věnuje otázka Pokročilá počítačová grafika. |
- Grafický materiál
-
Popisuje, jak povrch interaguje se světlem. V real-time grafice materiál obvykle není jeden obrázek, ale sada parametrů a textur, které shader používá při výpočtu osvětlení.
BSDF (bidirectional scattering distribution function) obecně popisuje, kolik světla se z povrchu rozptýlí nebo odrazí z příchozího směru do odchozího směru. V praxi se v herních enginech často používá PBR materiál s jednoduššími parametry: albedo/base color, metallic, roughness, normal, případně ambient occlusion, emission a opacity.
- UV unwrapping
-
Tvorba 2D reprezentace 3D modelu — projekce jeho polygonů na 2D plochu. Toto mapování se posléze využívá při texturování. Proces zahrnuje označování seams — hran, podél kterých se bude model "rozřezávat". Nevhodná volba seams vede k deformaci textur.
Obrázek 5. Result of unwrapping Suzanne [7] - Kontrola kvality mapování
-
Po unwrapu se používají kontrolní textury, typicky checkerboard nebo barevná UV grid textura. Pomáhají odhalit natažení, smrštění, otočení nebo špatnou hustotu texelů. Důležitá je i texel density — aby části modelu se stejnou vizuální důležitostí měly podobné rozlišení textury.
- Diffuse / albedo map
-
Základní barva povrchu bez zapečeného osvětlení a stínů. V PBR workflow se častěji říká albedo nebo base color, protože textura má popisovat vlastnost materiálu, ne výsledek konkrétního nasvícení.
- Detail map
-
Detaily, které mají být na modelu vidět zblízka.
- Emissive / glow / incandescence / self-illumination map
-
Jak moc model "svítí" ve tmě. Používané pro modely, na které není aplikováno osvětlení scény.
- Bump / displacement / height map
-
Detaily na povrchu. Typicky se používá dohromady s teselací.
- Normal map
-
Normála na povrchu každého pixelu. Má podobný vizuální efekt jako displacement mapa, ale nemění geometrii, jen směr normály používaný při výpočtu osvětlení. Díky tomu lze na low-poly modelu zobrazit detaily z high-poly sculptu.
Obrázek 6. A normal mapped model, the mesh without the map, and the normal map alone (by Eric Chadwick) - Metallic / roughness map
-
Metallic mapa určuje, které části povrchu se chovají jako kov. Roughness mapa určuje mikroskopickou drsnost povrchu: nízká roughness dává ostré zrcadlové odlesky, vysoká roughness odlesky rozmazává. V PBR materiálech se často ukládají do kanálů jedné ORM/RMA textury společně s ambient occlusion.
- Ambient occlusion map
-
Zapečený odhad toho, jak moc je dané místo povrchu zakryté okolní geometrií. Používá se pro jemné kontaktní ztmavení, hlavně ve štěrbinách, záhybech a pod převisy.
- Light map
-
Zapečené statické osvětlení. Typicky se týká spíš celých scén než postav.
- Texture baking
-
Proces přenosu detailů z (typicky high-poly) modelu na jiný (typicky low-poly) model. High-poly detaily jsou "zapečeny" do textur. Modelovací software typicky vrhá po modelu velké množství paprsků a výsledek ukládá do textur. [4]
Kostra modelu
- Kostra / skeleton / rig
-
Hierarchická struktura kostí (bones), jenž popisují, kde je možné model ohnout a animovat.
Obrázek 7. Rig of Atlas from Portal 2 by Oliver SimmonetKostra je obvykle strom transformací. Pohyb rodičovské kosti se přenáší na potomky, takže například transformace ramene ovlivní předloktí i ruku. U 3D animace tak oddělujeme povrch modelu od animační struktury, která ho ovládá.
- (Skeletal) rigging
-
Proces tvorby kostry.
Rigging is making our characters able to move. The process of rigging is we take that digital sculpture, and we start building the skeleton, the muscles, and we attach the skin to the character, and we also create a set of animation controls, which our animators use to push and pull the body around.
— Josh Petty - Forward kinematics (FK)
-
Animace se řetězí od parent kosti k child kosti. Pohneme-li rodičovskou kostí, pohnou se i její děcka. Klouby se hýbou po křivkách. [5]
- Inverse kinematics (IK)
-
Animujeme jen koncové kosti. Pohyb rodičovských kostí je dopočítán. Klouby se hýbou po přímkách. [5]
- T-pose / reference pose
-
Defaultní póza pro charakter při riggování.
Obrázek 8. T-pose by vkstudio - Skinning
-
Úprava kostry tak, aby se povrch modelu správně deformoval při animaci. [1] Například v Blenderu se skinning dá provést automaticky nebo nastavením envelopes — objemů obsahujících ovlivněné vertexy — a jejich vah.