.fbx export de ce nu există materiale sau texturi?

Am folosit texturi de nod într-o rețea pe care am exportat-o în .FBX.

Am importat-o în Unreal Engine 4 și nu a făcut-o ” Nu import texturi; am dat clic pe opțiunea Încarcă texturi în Unreal Engine.

Există ceva ce greșesc sau este Blender?

Comentarii

Răspuns

Aceasta este o întrebare frecventă.

TL; DR

Majoritatea formatelor de fișiere nu acceptă exportul texturilor, să nu mai vorbim de definiții complete ale materialelor sau alte caracteristici specifice aplicației . majoritatea importatorilor / exportatorilor Blender nu acceptă în prezent materialele bazate pe noduri.

Reproduceți manual materialele folosind texturile disponibile în mediul țintă.

Poveste lungă

Materialele sunt prea specifice implementării și sunt strâns legate de sistemul de redare al căruia aparțin la sau software-ul cu care au fost create. Nu puteți, în cea mai mare parte, să importați / exportați definițiile materialelor între aplicații, nici măcar nu puteți obține materialele interne Blender să funcționeze cu Cycles Renderer și nici invers și ambele sunt create cu Blender, să nu mai vorbim între aplicații complet diferite .

Din acest motiv, niciun format de fișier pe care îl utilizați nu poate, nici măcar nu încearcă, să importe sau să exporte proprietăți ale materialului, fie 3DS, FBX, Collada, STL, OBJ sau orice altul. Acestea sunt în mare parte formate de fișiere numai de tip mesh, centrate pe geometrie, care se ocupă de portarea formelor obiectelor și, uneori, de animație, armătură și umbrire de bază sau proprietăți de culoare (cum ar fi fișierele MTL); niciodată definiții complete ale materialelor.

Pur și simplu nu există structuri de date în specificații pentru majoritatea formatelor de fișiere de schimb pentru a găzdui acele date, darămite toate tipurile posibile de proprietăți, setări sau hărți; și chiar dacă ar exista, există mult prea multe implementări de redare diferite pentru o varietate de scopuri și care răspund unor cerințe distincte (cum ar fi viteza sau capacitatea de reacție pentru motoarele sau jocurile de redare în timp real sau realismul pentru „randările offline” bazate fizic) și fiecare folosind propriul set diferit de parametri și modalități particulare de interpretare a proprietăților specifice pentru a putea potrivi cu ușurință setările, parametrii sau caracteristicile particulare între ele.

De exemplu, majoritatea sistemelor de redare în timp real au nevoie de o formă opțiune explicită " opțiunea de eliminare a feței ", deoarece rasterizarea se bazează foarte mult pe ea din motive de performanță, totuși în randare, precum Cycles, este doar un nod de bază, deoarece pentru raytracers este irelevant ce direcție se confruntă cu o geometrie. Pe de altă parte, sticlele și umbrele transparente " funcționează doar " cu o refracție excelentă în raytracers, totuși în EEVEE trebuie să te amesteci cu amestecul moduri și setări de transparență, inexistente în Cicluri, deoarece reprezentarea interacțiunilor obiectelor este costisitoare și complexă pentru rasterizatoare.

Unele canale de textură mai frecvente bazate pe imagini pot fi uneori păstrate corect, cum ar fi difuz, specular, lucios sau din ce în ce mai populare " fluxuri de lucru PBR ", dar cu siguranță niciodată texturi generate în mod procedural și / sau coordonate de texturi generate, acestea sunt generate la momentul redării și pot fi „să nu fie exportat. Rețineți că majoritatea exportatorilor de Blender nici măcar nu acceptă materialele bazate pe nodul Cycles de scriere pentru Blender 2.79 #), astfel încât chiar și texturile de imagine utilizate în copacii nodurilor Cycles nu sunt probabil așteptate să fie păstrate.

La fel se aplică pentru multe alte caracteristici specifice aplicațiilor sau motoare de redare, cum ar fi parametrii de iluminare, setările de umbră, lămpi, camere, simulări fizice (fluide, cârpe, corpuri moi), opțiuni de textură (prindere, decupare, placare, ajustări de culoare), coordonate de textură generate (orice nu este mapat în mod explicit de o hartă UV sau creat prin desfacerea unei plase), opțiuni de material (eliminarea feței din spate, umbre, vizibilitate, transparență și moduri de amestecare) sisteme de particule, simulări de fum și foc, date volumetrice, modificatori, formare de forme (cum ar fi shapekeys sau animații bazate pe deformare) și alte " datele generate ", nu pot fi, în cea mai mare parte, importate sau exportate (cu câteva excepții).

Cum să le rezolvăm atunci?

Tot ce puteți, și ar trebui, să importați / exportați sunt coordonate UV cu rețeaua dvs., astfel încât să vă puteți aplica corect texturile la " aplicație țintă " , motor de joc sau mediu de redare de primire, unde veți importa și afișa modelul , fie că este ireal, Unity, Gamekit, software de redare extern sau altceva; sau chiar Blender însuși atunci când importă modele din altă parte. Hărțile UV sunt, în general, corect păstrate de majoritatea formatelor de fișiere de schimb în mod implicit.

Acolo ar trebui să cheltuiți ceva timp, recreându-vă materialele de la zero, din nou cu texturile și hărțile disponibile. Da, necesită o anumită retrogradare și va dura ceva timp, dar cu practica va deveni mai rapid. Salvați presetările în bibliotecile reutilizabile atunci când sunt disponibile, pentru a reduce cantitatea de repetare.

Ceea ce puteți face în unele situații este să utilizați Blender pentru a coace texturi că puteți utiliza ulterior în destinația finală sau să primiți aplicația pentru a crea materiale acolo, nu în Blender .

Coacerea este procesul de precalculare a umbririi și stocarea acestuia într-o textură de imagine statică care poate încorpora mai multe canale opționale precum iluminare difuză, lucioasă, indirectă, hărți cu bump, hărți normale, hărți de lumină, printre altele. Acest lucru poate îmbunătăți calitatea grafică sau " realismul perceput " în detrimentul dinamismului, deoarece anumite proprietăți ale materialelor și texturilor pot deveni statice, ca dacă " pictat pe suprafață ", cum ar fi umbrele sau reflexiile. Aceasta este adesea o cerință pentru medii de înaltă performanță sau platforme cu putere redusă, cum ar fi jocurile web sau mobile, unde resursele disponibile sunt limitate sau necunoscute, iar viteza are prioritate față de fidelitatea grafică.

Excepții

O excepție notabilă la toate acestea este formatul de fișier glTF , care începând cu versiunea 2.0 glTF acceptă unele definiții ale materialelor bazate pe un model de umbrire a rugozității metalice din specificațiile sale. Suplimentul glTF-Blender-IO creat chiar de grupul Khronos acceptă exportul de materiale bazate pe noduri BSDF principiale . Dar chiar și atunci se aplică unele restricții.

Datorită popularității recente a Redare bazată pe fizic și a utilizării sale tot mai mari în motoarele de jocuri și Real -Aplicări de redare a timpului, a devenit un fel de " standard slab definit " pentru descrierea proprietăților de suprafață ale materialelor (deși mai multe nuanțate diferit) versiunile există).

Dezvoltări viitoare

PBR nu este un standard totuși și nu fiecare implementare funcționează în același mod sau interpretează aceiași parametri în mod similar. BSDF cu principii a fost deja scris conform unui model conceput de un lider de industrie consacrat (Disney) pentru propria utilizare internă și joc motoare precum Unreal Engine® sau aplicații de vopsire a texturii precum Substance Painter® l-au adoptat și ele.

Pe măsură ce fluxul de lucru PBR câștigă popularitate și tracțiune, este posibil ca mai multe aplicații " alăturați-vă mișcării " și implementați-o în viitor. Dacă se poate conveni asupra unui standard comun, ar putea fi posibil ca în viitor mai mulți importatori / exportatori să îmbunătățească compatibilitatea cu un număr tot mai mare de proprietăți ale materialelor. Probabil că vor citi direct dintr-un fișier Blend, vor folosi un alt format de fișier ipotetic nou sau vor fi obligați să implementeze noi standarde; deoarece actualele încă nu au structuri de date care să le descrie corect. În acest moment, este pură speculație și nu se fac planuri cunoscute.

Probleme conexe

Comentarii

  • Nu am folosit niciodată Unreal sau orice alt motor, nu am nicio idee, va trebui să întrebați despre asta într-o comunitate dedicată I ' mi-e frică.Am auzit că unele motoare nu permit mai multe materiale pe rețea, ar trebui să o împărțiți în mai multe obiecte. Oricum, puteți aplica materialele în Blender, pentru fidelitate vizuală în fereastra de vizualizare și, dacă importatorul acceptă că este ' mai puțin de lucru, trebuie să refaceți motorul, nu faceți ' nu vă așteptați să utilizați aceleași definiții materiale exacte.
  • Este demn de remarcat faptul că o mulțime de aplicații / formate țin la sloturile de material atribuite (adică ce versiuni au ce material atribuit) , dar nu materialul propriu-zis care este atribuit, deoarece au nevoie de acestea pentru a-și aloca propriile materiale.
  • @Duarte Farrajota Ramos există nenumărate scripturi de export care exportă ochiurile blenderului cu materialele atribuite
  • @ phil123 Ar trebui să postați ca răspuns mai jos, cu link-uri către scripturile menționate și o descriere a fluxului de lucru utilizat, împreună cu câteva capturi de ecran ale rezultatelor
  • Pot adăuga ceva despre Unreal și glTF, don ' nu știu despre FBX. Cycles, Eevee și Unreal au fiecare materiale puternice bazate pe noduri. Modelul de material glTF 2.0 este mai simplu, dar poate face față unui procent mare din nevoile de artă ale jocului (PBR bazat pe textură de imagine). glTF funcționează între Blender și Unreal (începând cu 4.19) pentru ochiuri statice cu materiale. Puteți avea mai multe materiale într-un singur obiect mesh, iar acestea vor apărea ca sloturi pentru materiale în Unreal. De acolo puteți utiliza materialele importate din glTF sau le puteți schimba / crea altele noi în Unreal.

Răspuns

Atunci când exportați în .fbx, nu puteți exporta materiale, veți avea culoarea suprafeței, dar nu alte setări, cum ar fi luciul și reflexia, pentru texturi, da, puteți, dar trebuie să utilizați blenderul intern (nu nu funcționează cu cicluri) și asigurați-vă că nu folosiți noduri, aplicați texturile, apoi, când vă aflați în setările de export fbx, mergeți în partea de jos, setați calea de copiat, apoi bifați pictograma asemănătoare unei casete de lângă ea, acum ar trebui să încorporez texturile cu fișierul fbx exportat.

PS: Nu am testat noul blender 2.79

Setări de export Blender Fbx pentru a încorpora texturi

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *