TakéTopologie sítě modelu, Retopologie, Topologie meshePokročilý

Definice

Topologie modelu je uspořádání vrcholů, hran a stěn polygonální sítě, tedy to, jak je povrch 3D objektu rozdělený na plochy a kudy vedou jeho hranové smyčky. Dobrá topologie kopíruje tvar i zamýšlenou deformaci modelu, drží čtyřúhelníkové stěny v rovnoměrném toku a rozhoduje o kvalitě animace, stínování i následného texturování.

Kategorie: 3D designAktualizováno

Nezaměňujte: V 3D grafice jde o uspořádání polygonální sítě modelu, zatímco v sítích a matematice znamená topologie zapojení uzlů, respektive obor o vlastnostech prostoru zachovaných při spojité deformaci.

Než se na to spolehnete: Konkrétní polygonové rozpočty pro mobilní a AAA hry jsou uvedeny jako řádové orientační rozpětí, protože se liší projekt od projektu; v textu proto nejsou prezentovány jako standard.

Co topologie na modelu popisuje

Topologie modelu se netýká toho, jak model vypadá po vyrenderování, ale jak je jeho povrch rozdělený. Dva vizuálně shodné objekty mohou mít úplně jiné rozložení hran: jeden rovnoměrnou mřížku čtyřúhelníků, druhý chaotickou změť trojúhelníků různé velikosti. Rozdíl se projeví až ve chvíli, kdy se model ohne, vyhladí nebo se na něj natáhne textura.

Proč se v produkci trvá na čtyřúhelnících

Čtyřúhelníková stěna (quad) se předvídatelně dělí při subdivision surface algoritmech, které každý quad rozloží na čtyři menší. Trojúhelníky a n-gony (stěny s pěti a více vrcholy) se dělí nepravidelně a v hladkém stínování se často projeví jako viditelný artefakt nebo pinch. Trojúhelníky proto obvykle zůstávají až v exportu do enginu, kde se stejně všechno triangulizuje, ale samotná modelovací síť se drží quadů.

Hranové smyčky a jejich tok

Edge loop je souvislý řetězec hran vedoucí po povrchu. Kolem očí, úst a v kloubech se smyčky vedou soustředně, kopírují směr budoucího ohybu. Když loop u lokte chybí, kůže se při ohnutí zmačká do ostrého lomu. Když jich je naopak deset, model se zbytečně nafoukne o polygony, které nikdo nevyužije.

Pole: kde se tok hran láme

Vrchol, ze kterého vychází jiný počet než čtyři hrany, se nazývá pól. Pól je zcela běžný a nevyhnutelný nástroj: bez něj by mesh nešel větvit ani měnit hustotu. Zkušený modelář ho ale schová do plochy, která se nedeformuje a kde ho stínování neprozradí, tedy nikdy doprostřed tváře nebo na rameno.

Kdy se topologie přestavuje

Sochání v Blenderu nebo ZBrushi produkuje sítě o milionech nepravidelných trojúhelníků. Takový model se nedá rozumně animovat ani rozbalit do UV. Následuje proto retopologie: ruční nebo poloautomatické překreslení nové, řídké a čisté sítě přes původní sochu. Detail se pak z vysokopolygonálního originálu přenese do normálové mapy. Bez tohoto kroku by rigging i UV mapování byly prakticky neproveditelné.

Jak poznat problémovou síť

  • N-gony na zaoblených plochách vedou k tmavým skvrnám ve stínování.
  • Nespojené vrcholy ve stejném místě tvoří neviditelné díry, které rozbijí export i tisk.
  • Nemanifoldní geometrie, tedy hrana sdílená třemi a více stěnami, neodpovídá žádnému reálnému povrchu a padá na ní většina booleovských i tiskových operací.
  • Nekonzistentní normály obrátí část stěn naruby a plocha zmizí při renderu.
  • Extrémně protažené quady zkreslují texturu i deformaci.

Kolik polygonů je správně

Rozpočet určuje cíl. Herní postava v mobilní hře se vejde do několika tisíc trojúhelníků, hrdina v AAA titulu do desítek tisíc, filmový asset polygony prakticky neomezuje a spoléhá na subdivision při renderu. Rozhodující není celkové číslo, ale rozložení: hustota patří tam, kde je silueta a ohyb, ne do rovné plochy zad.

Příklady z praxe

  1. Loket bez hranové smyčky

    Postava má na paži jen dvě příčné smyčky a při ohnutí o 90 stupňů se v lokti objeví ostrý zlom místo zaoblení. Přidání dvou loopů těsně nad a pod kloub problém odstraní, protože deformace se rozloží mezi více řad vrcholů. Cena je pár desítek polygonů navíc, zisk je použitelná animace.

  2. Kontrola sítě před exportem do enginu

    Před předáním assetu se v Blenderu spustí kontrola, která najde nemanifoldní hrany, volné vrcholy a stěny s více než čtyřmi vrcholy. Skript projde všechny vybrané objekty a vypíše počty, takže se vadný model nedostane do buildu.

    import bpy, bmesh
    
    for obj in bpy.context.selected_objects:
        if obj.type != 'MESH':
            continue
        bm = bmesh.new()
        bm.from_mesh(obj.data)
        ngons = [f for f in bm.faces if len(f.verts) > 4]
        tris = [f for f in bm.faces if len(f.verts) == 3]
        loose = [v for v in bm.verts if not v.link_edges]
        nonmani = [e for e in bm.edges if not e.is_manifold]
        print(obj.name, 'n-gony:', len(ngons), 'tris:', len(tris),
              'volne vrcholy:', len(loose), 'nemanifold:', len(nonmani))
        bm.free()

Časté omyly

MýtusTrojúhelníky v modelu jsou vždycky chyba.
Ve skutečnostiTrojúhelník je legitimní stěna a GPU stejně vykresluje jen trojúhelníky. Problém nastává, když trojúhelník leží v oblasti, která se vyhlazuje nebo deformuje. Ve statické, ploché nebo skryté části modelu nevadí.
MýtusČím míň polygonů, tím lepší topologie.
Ve skutečnostiKvalitu určuje rozložení, ne celkový počet. Model s tisícem polygonů nahuštěných do zad a prázdným obličejem je horší než model s pěti tisíci rozloženými podle siluety a kloubů.
MýtusAutomatický remesher retopologii plně nahradí.
Ve skutečnostiAutomatické nástroje vytvoří rovnoměrnou síť použitelnou pro sochání nebo statické assety, ale tok hran kolem očí, úst a kloubů zpravidla neuhodnou. U animovaných postav se ruční retopologie stále vyplácí.

Časté dotazy

Jak se pozná dobrá topologie na první pohled?
Dobrá topologie se pozná podle rovnoměrné mřížky čtyřúhelníků, jejíž hrany kopírují tvar objektu a soustředně obtáčejí místa ohybu, tedy oči, ústa, lokty a kolena. Hustota sítě roste v detailních partiích a klesá na rovných plochách. Póly, tedy vrcholy s jiným než čtyřhranným napojením, jsou schované v klidných oblastech. Užitečný test je zapnout hladké stínování a matný odrazivý materiál: každý artefakt topologie se okamžitě projeví jako skvrna nebo zvlnění na povrchu.
Kdy je nutné dělat retopologii?
Retopologie je nutná vždy, když model vznikl socháním nebo skenováním a má se dál animovat, texturovat přes UV nebo použít v reálném čase. Původní sochařská síť má miliony nepravidelných trojúhelníků, které nelze rozumně rozbalit ani zdeformovat pomocí kostry. Retopologie vytvoří novou řídkou síť s čistým tokem hran a povrchový detail se přenese do normálové mapy. Pro statický render bez animace a bez potřeby čistých UV se retopologie někdy vynechá.
Ovlivňuje topologie modelu výkon v herním enginu?
Topologie modelu ovlivňuje výkon hlavně počtem trojúhelníků a rozdělením sítě na části s různým materiálem. Roztříštěná síť s mnoha ostrůvky vytváří víc švů v UV a víc duplicitních vrcholů, protože každý šev a každá ostrá hrana vrcholy zdvojí. Reálné číslo vrcholů proto bývá vyšší než počet zobrazený v modelovacím programu. Kromě toho jemné, hustě rozdělené plochy zhoršují efektivitu rasterizace, protože trojúhelníky menší než pixel se zpracovávají neúsporně.
Musí být celý model tvořený jen ze čtyřúhelníků?
Celý model ze čtyřúhelníků není podmínkou. Pravidlo quadů má smysl tam, kde se povrch vyhlazuje subdivision algoritmem nebo deformuje kostrou. Tvrdé objekty jako stroje, budovy nebo nábytek klidně obsahují trojúhelníky i n-gony na plochých částech, kde stínování nic neprozradí. Rozhodující je zóna: obličej, klouby a zaoblené silueta patří quadům, rovná plocha snese cokoliv, co se korektně vykreslí a nerozbije export.

Zdroje

  1. Blender Manual: Modeling(otevře se v novém okně)Blender Foundation
  2. Polygon mesh(otevře se v novém okně)Wikipedia
  3. Catmull-Clark subdivision surface(otevře se v novém okně)Wikipedia
  4. glTF 2.0 Specification(otevře se v novém okně)Khronos Group

Související pojmy

Potřebujete to vyřešit v praxi?

Poradíme, jak na to ve vašem projektu

Vysvětlit pojem je jedna věc, navrhnout kolem něj funkční řešení druhá. Ozvěte se a probereme, co dává smysl u vás.