- Patikimas FBX eksportas iš „Maya“ priklauso nuo tvarkingos platformos, į deformavimo kaulus įterptos animacijos ir suderinamų FBX versijų.
- „Unity“ ir „Unreal Engine“ palaiko hierarchijas, medžiagas ir animacijas FBX, tačiau reikalauja tinkamos pagrindinės konfigūracijos ir importavimo parinkčių.
- Dažniausios importavimo į „Blender“ problemos kyla dėl sudėtingų platformų, nenuoseklių pavadinimų ir skirtingų FBX formato interpretacijų.
- Kai eksporto stabilizuoti neįmanoma, efektyviau supaprastinti įrenginį arba perdaryti animacijas paskirties vietoje, nei toliau derinti klaidas.
Jei dirbate su animuotais personažais ar bet kokia kita platforma „Maya“ aplinkoje ir norite juos importuoti į „Blender“, „Unity“ ar „Unreal Engine“, tikėtina, kad kada nors susidūrėte su sunkumais dirbdami su FBX formatu. Spagečių tinkleliai, beprasmis kaulų sukimas, animacijos, kurios kartais veikia, o kartais ne ... visa tai – galvos skausmai. Nesijaudinkite, jūs ne vieni.
Šiame straipsnyje žingsnis po žingsnio aptarsime, kaip eksportuoti 3D modelius iš „Autodesk Maya“ į „FBX“ su animacijomis, taip sumažinant dažniausiai pasitaikančias problemas. Remsimės realia vartotojų patirtimi, dokumentacija iš tokių sistemų kaip „Unity“ ir „Unreal“ bei patikrinta geriausia praktika, tačiau paaiškinsime viską aiškiai, kad suprastų visi, kas naudoja, pavyzdžiui, „Blender“ ir nėra susipažinę su „Maya“.
Kodėl FBX tarp „Maya“ ir kitų programų sukelia tiek daug problemų

Pirmiausia reikia suprasti, kad FBX formatas yra savotiška „bendrinė kalba“ tarp 3D programų, bet ne tikslus mokslas. Kiekviena programinė įranga („Maya“, „Blender“, „Unity“, „Unreal“, „3ds Max“ ir kt.) interpretuoja FBX savaip ir palaiko konkretų parinkčių pogrupį: hierarchijas, medžiagas, animacijas, pasirinktines ypatybes, kameras, apšvietimą ir kt.
Be to, egzistuoja skirtingos FBX versijos. Pavyzdžiui, „Unreal Engine“ aiškiai rekomenduoja dirbti su FBX 2020.2 versija . Jei eksportuojate iš „Maya“ su gerokai kitokia versija, galite susidurti su nedideliais nesuderinamumais: kaulai, kurie išsidėstys netinkamai, neįprasti masteliai arba netinkamai skaitomos animacijos.
Dar blogiau, daugelis problemų kyla dėl to, kaip platforma sukonfigūruota „Maya“: naudojami sudėtingi IK, apribojimai, pasirinktiniai atributai arba įskiepiai, kurie prastai perkeliami į FBX . Jie puikiai veikia „Maya“ sistemoje, bet kai jie konvertuojami į FBX ir atidaromi „Blender“ ar žaidimų variklyje, prasideda netikėtumai.
Tai paaiškina, kodėl daugelis vartotojų praneša apie „atsitiktinį“ elgesį importuodami į „Blender“: kartais viskas atrodo gerai, kitais atvejais tinklelis sprogsta arba kaulai atrodo absurdiškai pasukti . Iš tikrųjų tai nėra atsitiktinumas: tai priklauso nuo platformos būsenos, kas buvo pasirinkta eksportuojant, animacijos parinkčių ir to, kaip kitos programos FBX importuotojas bando atkurti hierarchiją.
Klaidų pranešimai taip pat yra labai svarbūs. Pavyzdžiui, „Blender“ konsolėje gali pasirodyti traceback su „ KeyError“, susijusiu su objekto arba tinklelio pavadinimu . Tai paprastai rodo, kad FBX importuotojas tikisi atitikmens tarp tinklelio ir skeleto arba tarp mazgo ir vidinės struktūros, ko failas nuosekliai nepateikia.
Ką palaiko „Unity“ ir „Unreal“ importuojant FBX?

Prieš sutelkiant dėmesį į „Maya → Blender“ darbo eigą, verta suprasti, kaip du gigantai, tokie kaip „Unity“ ir „Unreal Engine“, tvarko FBX. Tai padės jums paruošti „švarius“ FBX failus, kurie taip pat gerai veiktų žaidimų varikliuose.
„Unity“ turi integruotą FBX importavimo įrankį, kuris palaiko objektų hierarchijas, medžiagas, tekstūras, kameras ir animaciją , ir net pasirinktines animuotas ypatybes, jei jos yra faile. Tai leidžia importuoti veikėją iš „Maya“, užtikrinant, kad jis būtų pristatytas su skeletu, animacijos klipais ir pagrindiniais elementais, reikalingais jam naudoti žaidime.
Kita vertus, „Unity“ turi oficialų FBX eksportavimo paketą, kurį galima rasti paketų tvarkytuvėje (nuo „Unity 2018.3“). Šis FBX eksportuotojas leidžia siųsti geometriją ir animacijas iš „Unity“ į DCC įrankius, tokius kaip „Maya“, „3ds Max“ arba „Maya LT“ , ir lengvai importuoti tuos pakeitimus, įskaitant medžiagas, tekstūras, šviesas, kameras ir užmaskuotus tinklus.
Įdomu tai, kad „Unity“ eksportavimo įrankis tiesiogiai atpažįsta jūsų projektą ir išteklių aplanką, todėl galite sukurti gana sklandų darbo eigą : iš pradžių užrakinate lygį ar veikėją „Unity“ programoje, nusiunčiate jį „Maya“, kad menininkas galėtų jį patobulinti, o tada iš naujo importuojate nepažeisdami projekto.
„Unreal Engine“ atveju FBX srautas daugiausia dėmesio skiria skeletinei animacijai. UE leidžia importuoti animacijas praktiškai iš bet kurio DCC, kuris gali išsaugoti FBX : „Maya“, „3ds Max“, „Blender“, „MotionBuilder“ ir kt. Svarbiausia laikytis tam tikrų eksportavimo standartų, kad būtų užtikrintas patikimas importavimas.
Teisingas animacijų eksportavimas iš „Maya“ naudojant FBX
Kai tikslas yra eksportuoti animuotą personažą iš „Maya“ ir perkelti jį visą (tinklelį, kaulus ir animacijas) į kitą programinę įrangą, labai svarbu atidžiai valdyti eksportavimo procesą. Netinkamas pasirinkimas arba kelios neteisingai sukonfigūruotos parinktys gali sukelti visų funkcijų gedimus „Blender“, „Unity“ ar „Unreal“.
Svarbi rekomendacija, atitinkanti „Unreal“ dokumentaciją, yra dirbant su skeleto tinkleliais eksportuoti animacijas kaip FBX failus . Tai labai supaprastina valdymą ir išvengiama neaiškumų dėl to, kokį klipą turi kiekvienas failas.
Rekomenduojamas bendras animacijos kūrimo darbo eiga „Maya“ kalboje būtų maždaug tokia:
- Pasirinkite sąnarius arba visą skeletą peržiūros programoje. Dažnai patogu pasirinkti platformos šaknį (šakninį kaulą) ir leisti, kad pasirinkimas apimtų visą hierarchiją.
- Meniu „Failas“ naudokite parinktį eksporto pasirinkimas „Eksportuoti“, jei norite eksportuoti tik tą veikėją ir jo animaciją, arba „Eksportuoti viską“, jei norite eksportuoti visą sceną.
- Pasirinkite kelią, kuriame išsaugosite FBX failą, ir suteikite jam aiškų pavadinimą, ypač jei ketinate tvarkyti kelis klipus (pvz., character_run.fbx).
- Atidarykite FBX konfigūracijos dialogo langą ir suaktyvinti žymimąjį langelį „Animacijos“Jei jį išjungsite, tinklelis ir skeletas bus eksportuoti tik statinėje padėtyje.
- Peržiūrėkite svarbias parinktis, tokias kaip matavimo vienetų sistema, mastelis ir ašių tipas, kad jos geriausiai atitiktų tikslinę programą.
- Spustelėkite „Eksportuoti“ ir leiskite „Maya“ sugeneruoti FBX failą su jūsų tinklelio ir animacijos duomenimis.
Šiame etape labai svarbu vengti dalykų, kurie, kaip žinome, gali sukelti problemų eksportuojant iš „Maya“: itin sudėtingų platformų su daugybe apribojimų, IK neperkurtų FK, valdiklių, kurie neegzistuoja kaip tikri kaulai ... Daugeliu atvejų patartina animaciją perkurti iki deformuojančių kaulų prieš eksportuojant FBX.
FBX importavimas su animacija į „Unreal Engine“
Jei jūsų tikslas yra „Unreal Engine“, importavimo procesas yra gana standartizuotas, tačiau vis tiek patartina laikytis kelių gairių. „Unreal“ FBX srautas leidžia importuoti animacijas su skeletiniu tinkleliu arba be jo , o tai atveria skirtingus darbo būdus.
Importuojant skeletinį tinklelį su susijusia animacija, paprastai pakanka šių bendrųjų veiksmų:
- Projekto turinio naršyklėje spustelėkite mygtuką importas ir pasirinkite „Maya“ sugeneruotą FBX failą.
- Spustelėkite „Atidaryti“ ir FBX parinkčių dialogo lange peržiūrėkite nustatymus. Numatytieji nustatymai paprastai gerai veikia naujam tinkleliui su jo skeletu.ypač jei jis nesidalins šaknies kauliuku su kitais veikėjais.
- Pasirinkite „Importuoti“ arba „Importuoti viską“, atsižvelgdami į pasirinktų FBX failų skaičių.
- Pabaigoje, „Unreal“ pridės prie projekto skeletinį tinklelį ir animacijas.Pagal numatytuosius nustatymus animacijos seka paprastai paveldi skeleto šakninio kaulo pavadinimą.
Taip pat galima importuoti tik animaciją, iš naujo neimportuojant skeleto tinklelio , o tai naudinga, kai projekte jau yra skeletas ir norite pridėti naujų klipų. Tokiais atvejais „Unreal“ paragins pasirinkti esamą skeletą, su kuriuo susieti animaciją.
Jei FBX faile yra kelios animacijos (pavyzdžiui, eksportuotos iš tokios priemonės kaip „MotionBuilder“), „Unreal“ gali jas nuskaityti ir kiekvienai iš jų sugeneruoti seką, jei DCC failas buvo išsaugotas tokiu būdu. Tačiau „Maya“ ir „3ds Max“ paprastai veikia tradiciškiau – po vieną animaciją faile , todėl tai nėra labiausiai paplitęs metodas.
Maya → Blender darbo eiga: tipinės klaidų priežastys ir kaip jų išvengti
Kai tikslas yra atidaryti „Maya FBX“ failus programoje „Blender“, problemos dažnai tampa akivaizdesnės, nes kiekviena programa taiko skirtingą failų tvarkymo filosofiją. Daugelis vartotojų praneša apie nenuspėjamus rezultatus: nuo tobulo importavimo iki tinklelių, kurie deformuojasi kaip įklijuoti, nesuderintų kaulų ir dingstančių animacijų.
Verta peržiūrėti kelis veiksnius:
- „Blender“ versija ir FBX importuotojasKiekviena „Blender“ versija patobulina arba pakeičia FBX failų skaitymo būdą. Jei naudojate labai seną arba beta versiją, galite susidurti su daugiau klaidų.
- FBX versijos, naudojamos „Maya“ kalbojeJei eksportuojate naudodami labai naujausią versiją ir „Blender“ dar jos pilnai nepalaiko, gali atsirasti vidinių klaidų, tokių kaip liūdnai pagarsėjusi „KeyError“ importavimo scenarijuje.
- Objektų hierarchija ir pavadinimaiLabai svarbu, kad kauluose ir tinkleliuose nebūtų pasikartojančių pavadinimų ar neįprastų simbolių. Kai kurios „Blender“ klaidos rodo, kad jis tikisi rasti tinklelį, susietą su konkrečiu raktu vidiniame žodyne, ir jei tas pavadinimas nesutampa su FBX failu, procesas nutrūksta.
- Animacijos ir IK nustatymai Maya kalbojeJei platformoje naudojami sudėtingi IK, visų rūšių apribojimai arba valdikliai, kurie nėra „bone“ tipo, tikėtina, kad daugelis šių elementų nebus tinkamai interpretuojami ir animacija turės būti įkepta į galutinius „bone“ tipo elementus prieš eksportuojant.
Viena iš klaidų, kurios gali atsirasti „Blender“ programoje, yra „Python“ traceback su eilute, panašia į „KeyError: MeshName“ import_fbx.py faile. Tai paprastai rodo, kad kuriant „Blender“ vidinę hierarchiją tikimasi objekto, kuris neegzistuoja arba negali būti susietas su armatūra.
Tokiais atvejais daugelis žmonių griebiasi avarinio sprendimo: eksportuoja tik animacijos talpyklą . Tai leidžia gauti teisingą tinklelio deformaciją kadras po kadro, bet be tinkamo naudoti skeleto „Blender“ programoje. Rezultatas yra tas, kad galite leisti animaciją tokią, kokia ji yra, bet jei vėliau norėsite sukurti naujų judesių ar pakoreguoti pozą, būsite įstrigę, nes nėra jokios platformos, su kuria galėtumėte dirbti.
Geriausia praktika ruošiant „Maya“ platformą eksportui į FBX
Norint sumažinti šias problemas importuojant į „Blender“ (ar bet kurį kitą įrankį), patartina tinkamai paruošti platformą ir sceną „Maya“ programoje prieš spustelint eksportavimo mygtuką. Svarbu ne tik pažymėti langelį „Animacijos“, bet ir užtikrinti, kad kaulų sistema būtų patikimai perkelta.
Štai keli bendri patarimai, kurie paprastai gerai veikia:
- Jis veikia su švariu skeletu, aiškiai atskirtu nuo valdiklių.Idealiu atveju turėtumėte turėti vieną sluoksnį arba grupę su kaulais, kurie iš tikrųjų deformuoja tinklelį (deformuoja kaulus), o kitą – su animacijos valdikliais. Prieš eksportuodami apsvarstykite galimybę konvertuoti animaciją iš valdiklių į deformuojamus kaulus.
- Venkite pasikliauti pernelyg dideliais apribojimais ar sudėtingomis IK grandinėmis galutiniame rezultate, kurį eksportuosite. IK gali puikiai veikti „Maya“ aplinkoje, bet eksportuojant juos į FBX, juos reikia konvertuoti į aiškią animaciją ant kaulų.
- Užšaldykite transformacijas ir, kai įmanoma, išvalykite scenąTaikant fiksuotas transformacijas, ištrynus nereikalingą istoriją ir užtikrinant, kad platformos mastelis būtų nuoseklus, sumažėja daug importavimo problemų.
- Naudokite paprastus ir nuoseklius pavadinimus kauluose, tinkleliuose ir grupėse. Venkite keistų simbolių, per didelių tarpų ar dublikatų, kurie galėtų suklaidinti kitų programų FBX importuotoją.
- Bandymas su mažomis scenomis Prieš eksportuodami didelį projektą, sukurkite failą tik su veikėju ir trumpa animacija, kad patikrintumėte, ar jis tinkamai veikia „Blender“ arba jūsų žaidimų variklyje.
Jei pradedate dirbti su „Maya“ ir tokios sąvokos kaip IK, apribojimai ar animacijos kepimas jums nėra pažįstamos, verta skirti šiek tiek laiko takelažo pagrindams išmokti. Jums nereikia būti profesionaliu takelažų kūrėju, tačiau supratimas, kuri takelažo dalis iš tikrųjų yra eksportuojama į FBX (deformuojami kaulai), sutaupys jums daug rūpesčių.
FBX importavimas į variklius ir įrankius: bendri svarbiausi aspektai
Nors kiekvienas įrankis turi savo meniu ir parinkčių pavadinimus, animacijų importavimo į FBX logika paprastai yra panaši tiek „Unreal“, tiek kitose programose: pasirinkite failą, peržiūrėkite importavimo parinktis ir susiekite animaciją su tinkamu skeletu.
„Unreal“ žaidime jau matėme, kad galite importuoti skeleto tinklelius su jų animacijomis arba tiesiog animacijas, susietas su esamu skeletu. FBX importavimo dialogo lange galite koreguoti tokias detales kaip mastelio keitimas, ašių orientacija ir detalumo lygių (LOD) tvarkymas.
Dirbant tik su animacijomis (neimportuojant tinklelio), privaloma nurodyti, kurį projekto skeletą turėtų naudoti animacija. Jei skeletas tiksliai nesutampa su tuo, kuris naudojamas eksportuojant „Maya“ programoje, atsiras klaidų arba animacija neįprastai iškraipys modelį.
Nors „Unity“ sistemoje darbo eiga šiek tiek skiriasi, ji pagrįsta tuo pačiu principu: FBX faile yra hierarchijos ir animacijos informacija, o importuotojas susieja ją su animatoriumi arba humanoidu / bendruoju platformos modeliu, priklausomai nuo konfigūracijos. Svarbiausia užtikrinti, kad šaltinio skeletas atitiktų tikslinės platformos schemą.
Savo ruožtu „Blender“ turi „Python“ kalba parašytą FBX importuotoją, kuris atkuria armatūrą, tinklelius ir animacijas. Kai FBX failas yra „švarus“, procesas veikia gerai, tačiau jei faile yra nenuoseklių pavadinimų ar neįprastų struktūrų, konsolėje atsiranda pėdsakų ir raktų klaidų.
Kada prasminga pradėti kurti platformą ar animacijas nuo nulio?
Kai kuriuose projektuose ateina momentas, kai po tūkstančio eksportavimo bandymų, nustatymų keitimo ir importavimo klaidų susimąstama, ar nebūtų greičiau perkurti platformą ar perdaryti dalį animacijų tiesiai tikslinėje programoje.
Tai ypač prasminga, kai:
- Originali „Maya“ platforma yra labai sudėtinga, joje yra daug pažangių sistemų, kurios nėra gerai pritaikomos FBX.
- Komandoje nėra nė vieno žmogaus, kuris pakankamai gerai išmanytų „Maya“, kad galėtų supaprastinti platformą ir paruošti „eksportui paruoštą“ versiją.
- Esamų animacijų nėra daug, ir būtų greičiau jas atkurti „Blender“ ar žaidimo variklyje, nei toliau bandyti taisyti nepavykusius eksportavimus.
- Animacijos talpykla veikia, bet Tai neleidžia jums toliau džiūgauti, nes nėra veikiančio skeleto., o tai apriboja projektą tuo, kas jau padaryta.
Net ir tokiu atveju, prieš viską metant į šalį, verta bent pabandyti labiau kontroliuojamą eksportą: nukopijuoti sceną, supaprastinti platformą, konvertuoti animaciją į pradinę būseną ir eksportuoti „švarų“ FBX failą . Jei failas vis tiek neveikia „Blender“ ar kitame variklyje, gali būti verta permąstyti savo darbo eigą.
Bet kuriuo atveju, supratimas, kaip veikia FBX, ko „Unity“ ir „Unreal“ tikisi importuodami ir kas paprastai nutinka kelyje iš „Maya“ į „Blender“, suteiks jums daug daugiau pasitikėjimo priimant sprendimą. Turint gerai paruoštą įrangą, optimizuotas eksportavimo parinktis ir šiek tiek kantrybės, visiškai įmanoma perkelti savo „Maya“ modelius ir animacijas į kitas aplinkas, kad jie netaptų visiška netvarka.
Aistringas rašytojas apie baitų pasaulį ir technologijas apskritai. Man patinka dalytis savo žiniomis rašydamas, būtent tai ir darysiu šiame tinklaraštyje, parodysiu jums įdomiausius dalykus apie programėles, programinę įrangą, techninę įrangą, technologijų tendencijas ir kt. Mano tikslas – padėti jums paprastai ir smagiai naršyti skaitmeniniame pasaulyje.