od Emi
Niekedy, keď import model do 3DCoat, normal map na zobrazovacom zariadení sa nezobrazí správne. Začína to však spôsobom, akým exportujete svoj model do akéhokoľvek iného softvéru.
Normálna mapa môže trochu opraviť problémy s tieňovaním, ako sú normálne mapy čítané softvérom, a to by mohlo spôsobiť, že problém bude trochu menej nápadný, ale problém stále existuje. Musíte použiť niektoré pravidlá, ktoré by pomohli vyriešiť skutočný problém, aby ste uľahčili prácu a život tým, že vytvoria lepšie normálne mapy.
Bez aplikovania týchto pravidiel bola väčšina normálov priemerná a len málo z nich bolo ťažkých, čo bolo zvláštne vidieť. Ale to je jednoznačne hlavná príčina problémov, ako prebieha export vyhladzovacích skupín pre váš model a ako sa čítajú v inom softvéri.
Po prvé, krabice nemôžu byť mäkké alebo priemerné, sú to uhly 90 ° a bez ohľadu na to, čo robíte, vždy budú mať tento problém s osvetlením, ak nie sú nastavené na tvrdé okraje. V minulosti, predtým, než sa objavili pokročilejšie programy pečenia, ako je Marmoset, aby to uľahčili, ste museli vždy vyrobiť klietku a klietka mala byť tá, ktorá mala priemerné vrcholové normály, takže klietka sa používala na vykonávanie priemerných ‘ vyhľadávanie“ vysokého poly, bez toho, aby došlo k chybám pri pečení, pretože škatuľka pripomína tvrdé okraje. Samozrejme, že teraz má Marmoset zaškrtávacie políčko “hladká klietka” robí to isté a teraz nepotrebujete klietku, pokiaľ ju skutočne nepotrebujete.
Sú tu teda dve „pravidlá“ a sú tiež prepojené:
1. keď robíte modely s 90° uhlami, mali by byť vždy tvrdé. Samozrejme môžete urobiť aj malé skosenie a vyhnúť sa hranám s uhlom 90°. bude to nielen presne kopírovať tvar modelu s vysokým rozlíšením, ale môžete tiež použiť mäkké okraje na krabici, aby vyzerala krajšie a s menšími problémami, zaoblená a krajšia a tak ďalej.
2. Tvrdé okraje (ktoré by v podstate mali mať uhly 90°) by mali byť vždy rozdelené na UV , aby sa predišlo problémom, na svojom modeli si to možno ani nevšimnete, ale sú tam a súvisí to s tým, ako pixely sa stretávajú pod uhlom 90° a ako sa pixely môžu prelínať a sú jednoducho odlišné, takže nie je dostatok miesta, ako by to urobilo vypchávky na odstránenie malých problémov, ktoré by sa mohli vyskytnúť. Áno, závisí to od rozlíšenia a UVs a od toho všetkého, a preto to môže byť výraznejšie ako iné, ale áno, v prípade ako je tento, kde robíte krabice, by ste museli rozdeliť všetky tie 90° okraje a áno, to znamená, že 6 strán krabice = 6 ostrovov, aby sa predišlo problémom.
Rozprávanie o 3DCoat a o tom, ako funguje s predvoľbami a tak ďalej. Čo na tom chápem je, že pri použití predvolieb ako Blender alebo Unity v skutočnosti používate preddefinovaný súbor nielen s tým, ako sa bude správať k normálnej mape, ale či bude zelená alebo nie. Ale aj Tangent Space, triangulácia a ako exportuje normály a niektoré ďalšie možnosti. Ak použijete možnosť Neznáme, budete môcť použiť predvoľby, ktoré ste nastavili.
Ak prejdete na C:Program Files 3DCoat-VXXXToolsPresetsExtTools, uvidíte súbory XML a ako sa Unity líši od Blender, pretože predvoľba Blender používa MikkTSpace, zatiaľ čo unity je nastavená na LengyelAreaAngleWeightedSpace. To je jediný rozdiel. ale zjavne dosť na to, aby ste to videli, pretože sa interpretujú odlišne. Technicky by nemali nič moc ovplyvňovať a iba spôsob, akým číta normal map , ak je to ‘DirectX’ alebo’ OpenGL’, ale koreň problému s tieňovaním nie je v normal map, je to o modeli a bude byť vždy vzorom.
Ak ponecháme bokom pravidlá UVs , problémy, ktoré to spôsobuje, sú minimálne, ak ste si toho vedomí, potom je vašou voľbou ušetriť nejaký priestor pre UV a ignorovať okraje a problém, ktorý by sa mohol stať, v porovnaní s ich správnym vykonaním, pretože by ste sa museli dostať príliš blízko. všímať si problémy. niekedy je medzi okrajmi veľká medzera, stalo sa mi.
Ak nemôžete mať rámčeky ako priemerné normály vrcholov alebo mäkké, musia vyzerať ako rámčeky s tvrdými hranami, pretože sú to okraje s uhlom 90°. Ak chcete použiť mäkké okraje, musíte vytvoriť skosenie.
Boxerky by mali mať 100% tvrdé okraje, valce by mali byť horné a spodné tvrdé a boky mäkké.
Pre modely s nízkym poly navrhujem robiť úkosy, len malé skosenie urobí veľký rozdiel v mnohých prípadoch, najmä dnes, keď nie je ospravedlnenie mať krabicu bez skosenia pre niečo také.
Predvoľby 3DCoat sú len malé variácie, ktoré môžete dokonca manuálne vybrať pomocou neznámych, nepotrebujete predvoľby, sú len na to, aby pomohli 3DCoat interpretovať normal map a model, ale nikdy neverím predvoľbám, pretože ako hovoríte, predvoľba Unity by mala byť nastavený na MikkTSpace. Chcem však povedať, že to nie je len o normal map OpenGL vs DirectX.
Takže, keď používam 3DCoat , ktorý je zvyčajne na maľovanie, všetko funguje dobre, ale je to preto, že sa uistím, že všetko na mojom nízkom poly je tiež dobré, myslím tým, aby som vytvoril dobré normálne mapy a zabezpečil ich, aby fungovali všade, kde potrebujete dobrý low poly, ktoré dokáže zachytiť akékoľvek detaily s vysokým poly, ktoré ste vytvorili. Neexistuje žiadna mágia, funguje to len preto, že sa o všetkom postarám, ako sú vyhladzovacie skupiny a UVs a tak ďalej.
Chcem tým povedať, že model s 90° okrajmi by mal byť automaticky nastavený na tvrdý okraj, inak to nejde a hotovo. Nezáleží na tom, či má kocka 6 strán ako v tomto prípade alebo 1000 poddielov Šírka, Výška a Hĺbka. Ak nenastavíte 90° uhol boxu ako tvrdý okraj, bude mať vždy zvláštne tieňovanie na tých hranách, ktoré sú 90°, ale sú nastavené na mäkké alebo čokoľvek iné.
Ak aplikujete jedinú skupinu vyhladzovania na celú množinu objektov… je to nesprávne, pretože nemôžete vytvoriť mäkké okraje na rámčekoch, najmä ak sú tieto objekty len kocky so 6 plochami.
Niečo také nemôžete „vyhladiť“, najmä ak máte jednoduchý box so 6 polygónmi, ak chcete použiť box, nastavte všetky strany na Hard Edges. Alebo druhý jediný spôsob, ako to obísť, je pridať skosenie okolo hrán, aby sa zlomil 90° uhol, a potom ho nastaviť na mäkké. Baking normal map na skrytie problému nie je riešením, môže to vyzerať o niečo lepšie, ale chyba tieňovania na modeli stále existuje. Dokonca aj valce by mali mať mäkké okraje po stranách a na hornej a spodnej strane by mali byť nastavené na tvrdé okraje, pokiaľ nepridáte skosenie.
Otázka teda znie: stále chcete všetko ponechať ako jednu vyhladzovaciu skupinu? pokiaľ na tom nepracujete správne a nenastavíte veci, ktoré by mali byť tvrdé hrany tvrdé a mäkké hrany mäkké alebo nepridáte skosenia na každého 90° anjela, potom váš problém nič nevyrieši a musíte problém jednoducho skryť pomocou normal map a predstierať, že nie je problém existuje.
Dúfam, že som slušne vysvetlil, o aké problémy tu ide, aby vám to mohlo pomôcť pri vašich budúcich normal map .
Veľa šťastia a pekný deň!