.fbx export, proč neexistují žádné materiály nebo textury?

Použil jsem textury uzlů v síti, kterou jsem exportoval do .FBX.

Poté jsem ji importoval do Unreal Engine 4 a nešlo to “ t importovat jakékoli textury; klikl jsem na možnost Nahrát textury v Unreal Engine.

Dělá něco špatně nebo je to Blender?

Komentáře

Odpověď

Toto je často kladená otázka.

TL; DR

Většina formátů souborů nepodporuje export textur, natož úplné definice materiálu nebo další funkce specifické pro aplikaci . většina importérů / exportérů Blenderu v současné době nepodporuje dobře uzlové materiály.

Ručně reprodukujte své materiály pomocí dostupných textur v cílovém prostředí.

Dlouhý příběh

Materiály jsou příliš specifické pro konkrétní implementaci a jsou pevně svázány se systémem vykreslování, do kterého patří do nebo softwaru, pomocí kterého byly vytvořeny. Nemůžete „většinou importovat / exportovat definice materiálu mezi aplikacemi, nemůžete dokonce dostat interní materiály Blenderu pro práci s Cycles Renderer ani naopak a oba jsou vytvořeny pomocí Blenderu, natož mezi úplně jinými aplikacemi .

Z tohoto důvodu žádný formát souboru, který používáte, nemůže ani se nepokouší importovat nebo exportovat vlastnosti materiálu, ať už 3DS, FBX, Collada, STL, OBJ nebo jakýkoli jiný. Jedná se většinou o formáty souborů zaměřené pouze na síť, zaměřené na geometrii, které se týkají portování tvarů objektů, a někdy animace, armatura a základní stínování nebo barevné vlastnosti (jako soubory MTL); nikdy úplné složité definice materiálu.

Ve specifikacích většiny formátů souborů pro výměnu nejsou jednoduše žádné datové struktury, které by těmto datům vyhověly, natož všechny možné typy vlastností, nastavení nebo map; a i kdyby existovalo, existuje příliš mnoho různých implementací vykreslování pro různé účely a reagujících na odlišné požadavky (jako je rychlost nebo odezva pro vykreslovací motory nebo hry v reálném čase nebo realismus pro fyzicky založená „offline vykreslování“) a každá pomocí vlastní odlišné sady parametrů a konkrétních způsobů interpretace konkrétních vlastností, aby bylo možné snadno správně sladit nastavení, parametry nebo konkrétní vlastnosti mezi nimi.

Například většina systémů pro vykreslování v reálném čase potřebuje nějakou formu explicitní možnost " backface culling " protože rastrování z velké části závisí na výkonu, přesto je v renderu jako Cycles jen základní uzel, protože pro raytracery je irelevantní, kterému směru geometrie čelí. Na druhou stranu sklo a průhledné shadery " fungují " s velkým lomem v raytracerech, ale v EEVEE je třeba se smícháním míchat režimy a nastavení průhlednosti, v cyklech neexistuje, protože reprezentace interakcí s objekty je pro rasterizéry nákladná a složitá.

Některé běžnější obrazové kanály založené na obrázku mohou být někdy správně zachovány, například difúzní, zrcadlové, lesklé nebo stále populárnější " pracovní postupy PBR ", ale určitě nikdy procedurálně generované textury a / nebo generované souřadnice textury, ty se generují v době vykreslení a mohou „Nelze exportovat. Mějte na paměti, že většina exportérů Blenderu vůbec nepodporuje materiály založené na uzlech Cycles (v té době psaní pro Blender 2.79 #), takže ani u textur obrázků použitých ve stromech uzlů Cycles se s největší pravděpodobností neočekává, že budou zachovány.

Totéž platí pro mnoho dalších funkcí specifických pro aplikace nebo pro vykreslování motorů, jako jsou parametry osvětlení, nastavení stínu, lampy, fotoaparáty, fyzikální simulace (tekutiny, látky, měkká těla), možnosti textury (upínání, ořezávání, obklady, úpravy barev), generované souřadnice textury (vše, co není explicitně mapováno UV mapou nebo vytvořeno rozbalením sítě), možnosti materiálu (utlumení pozadí, stíny, viditelnost, režimy průhlednosti a míchání) částicové systémy, simulátory kouře a ohně, objemová data, modifikátory, tvarování (jako tvarové animace nebo animace založené na deformaci) a další " generovaná data ", nelze „z větší části“ importovat ani exportovat (až na několik výjimek).

Jak to tedy vyřešit?

Jediné, co můžete a měli byste importovat / exportovat, jsou UV souřadnice vaší sítě, abyste mohli správně použít textury na " cílová aplikace " , herní engine nebo přijímající vykreslovací prostředí, kde budete importovat a zobrazovat váš model , ať už je to Unreal, Unity, Gamekit, externí software pro vykreslování nebo co jiného; nebo dokonce samotný Blender při importu modelů z jiných zdrojů. UV mapy jsou ve výchozím nastavení obvykle správně chráněny většinou formátů souborů pro výměnu.

Tam byste měli utratit nějaký čas znovu vytvoříte své materiály od nuly s poskytnutými texturami a dostupnými mapami. Ano, vyžaduje to nějakou zpětnou vazbu a bude to nějakou dobu trvat, ale s praxí to bude rychlejší. Uložte předvolby do opakovaně použitelných knihoven, pokud jsou k dispozici, abyste snížili počet opakování.

V některých situacích můžete použít Blender k pečení textur že můžete později použít v konečném cíli nebo přijmout aplikaci k vytvoření materiálů, není uvnitř Blenderu .

Pečení je proces předběžného výpočtu stínování a jeho uložení ve statické struktuře obrazu, která může zahrnovat několik volitelných kanálů, jako je rozptýlené, lesklé, nepřímé osvětlení, nárazové mapy, normální mapy, světelné mapy a další. To může zlepšit grafickou kvalitu nebo vnímaný " realismus " na úkor dynamiky, protože některé vlastnosti materiálů a textur se mohou stát statickými, protože pokud je " namalován na povrch ", jako stíny nebo odrazy. To je často požadavek na vysoce výkonná média nebo platformy s nízkou spotřebou energie, jako jsou webové nebo mobilní hry, kde jsou dostupné zdroje omezené nebo neznámé a rychlost má přednost před věrností grafiky.

Výjimky

Jednou z významných výjimek je formát souboru glTF , který od verze verze 2.0 glTF ve svých specifikacích podporuje některé definice materiálu založené na modelu stínování metalické drsnosti. Doplněk glTF-Blender-IO vytvořený samotnou skupinou Khronos Group podporuje export materiálů založených na uzlech BSDF uzlů . Ale i tehdy platí určitá omezení.

Kvůli nedávné popularitě Fyzicky založeného vykreslování a jeho rostoucímu využití v Game Engines a Real – Aplikace pro vykreslování času se stala jakýmsi vágně definovaným " volným standardem " pro popis povrchových vlastností materiálů (i když několik odlišně odlišených verze existují).

Budoucí vývoj

PBR není standard , nicméně ne každá implementace funguje stejně nebo interpretuje stejné parametry podobně. Principiální BSDF již byl napsán podle modelu navrženého zavedeným lídrem v oboru (Disney) pro vlastní interní použití a hru přijaly také motory jako Unreal Engine® nebo aplikace pro malování textur jako Substance Painter®.

Jelikož si pracovní postup PBR získává popularitu a trakci, je možné, že více aplikací " připojte se k hnutí " a implementujte jej do budoucna. Pokud bude možné dohodnout společnou normu, je možné, že v budoucnu více dovozců / vývozců zlepší kompatibilitu s rostoucím počtem vlastností materiálů. Pravděpodobně budou číst přímo ze souboru Blend, použijí jiný hypotetický nový formát souboru nebo budou nuceni implementovat nové standardy; protože těm současným stále chybí datové struktury, které by je správně popsaly. V tomto okamžiku se jedná o čistou spekulaci a žádné známé plány nejsou vypracovány.

Související problémy

Komentáře

  • Nikdy jsem nepoužíval Unreal ani žádný jiný engine, nemám ponětí, budete se na to muset zeptat ve vyhrazené komunitě I ' bojím se.Slyšel jsem, že některé motory neumožňují více materiálů na síť, museli byste to rozdělit na několik objektů. Materiály v Blenderu můžete použít pro vizuální věrnost ve výřezu a pokud dovozce podporuje, že to ' s méně práce budete muset v enginu předělat, prostě ' Neočekáváme použití stejných přesných definic materiálu.
  • Je třeba poznamenat, že spousta aplikací / formátů se stará o přiřazené sloty materiálu (tj. U kterých verů je který materiál přiřazen) , ale ne skutečný materiál, který je přiřazen, protože je potřebuje pro přiřazení svých vlastních materiálů.
  • @Duarte Farrajota Ramos existuje nespočet exportních skriptů, které exportují sítě mixéru s přiřazenými materiály
  • @ phil123 Měli byste to zveřejnit jako odpověď níže, s odkazy na uvedené skripty a popisem použitého pracovního postupu, spolu s několika snímky obrazovky s výsledky
  • Mohu přidat něco o Unreal a glTF, don ' nevím o FBX. Cykly, Eevee a Unreal mají výkonné materiály založené na uzlech. Materiálový model glTF 2.0 je jednodušší, ale zvládne velké procento potřeb herního umění (PBR založené na obrázcích a texturách). glTF funguje mezi Blenderem a Unreal (od 4.19) pro statické sítě s materiály. Můžete mít více materiálů v jednom objektu sítě a ty se v Unrealu zobrazí jako sloty pro materiál. Odtud můžete použít materiály importované z glTF nebo je vyměnit / vytvořit nové v Unrealu.

Odpovědět

Při exportu do souboru .fbx nemůžete exportovat materiály, budete mít povrchovou barvu, ale ne jiná nastavení, jako je lesk a odraz, pro textury, ano, můžete, ale musíte použít interní mixér (ano nepracujte s cykly) a ujistěte se, že nepoužíváte uzly, aplikujete textury a poté, když jste v nastavení exportu fbx, přejdete dolů, nastavíte cestu ke kopírování a poté zaškrtnete ikonu ve tvaru pole vedle ní by nyní měl vložit textury do exportovaného souboru fbx.

PS: Netestoval jsem nový mixér 2.79

Nastavení exportu Blender Fbx pro vložení textur

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *