Jak wyeksportować animację 3D dla sieci i silników gier
Aby wyeksportować animację 3D dla sieci lub silnika gier, użyj glTF — GLB to jego jednoplikowa forma binarna — lub FBX. Oba przechowują hierarchię węzłów, szkielety, wagi skinningu i klipy z klatkami kluczowymi. glTF to otwarty standard, który przeglądarki i większość silników czyta natywnie; FBX to dawno ugruntowany format wymiany w pipeline'ach Mayi, 3ds Max, Unity i Unreala. To, co przetrwa podróż, zależy od eksportera, więc constrainty, IK i ruch proceduralny najpierw wypala się do klatek kluczowych.
Autor: Mixos
Krótka odpowiedź
Wypal wszystko, czego format nie przechowuje — IK, constrainty, drivery i symulacje — do klatek kluczowych, sprawdź nazwy i długości klipów, a potem wyeksportuj GLB dla sieci i większości nowoczesnych silników albo FBX tam, gdzie oczekuje go pipeline. Transformacje, animacja szkieletowa i wagi shape keys się przenoszą; kontrolery rigu, własne krzywe i kluczowane wartości materiału zwykle nie. Otwórz plik w celu, zanim na nim polegasz.
Krok po kroku
- 1
Wypal to, czego format nie przechowuje
Formaty plików przechowują klatki kluczowe, a nie systemy, które je stworzyły. Solvery IK, constrainty, drivery, wyrażenia i symulacje trzeba spróbkować do zwykłych kluczy przed eksportem, inaczej plik przyjdzie bez ruchu tam, gdzie one były. W Studio robią to Bake IK w panelu Rigging i Animate ▸ Bake motion to keyframes… dla driverów.
- 2
Nazwij i przytnij klipy
Silniki importują każdą animację w pliku jako osobny klip, według nazwy. Nadaj klipom nazwy, które programista rozpozna — Walk, Idle, Open — i sprawdź długość każdego, bo klip z zabłąkanym kluczem dwadzieścia klatek za końcem zagra dwadzieścia klatek niczego.
- 3
Wybierz format
GLB dla sieci oraz Godot, Blendera, three.js i Babylon.js, które czytają glTF natywnie; Unity czyta go przez pakiet taki jak glTFast, a Unreal go również importuje. FBX tam, gdzie pipeline jest wokół niego zbudowany — Maya, 3ds Max i wiele projektów Unity i Unreal.
- 4
Eksportuj
W Studio File ▸ Export 3D model… i wybierz GLB lub glTF — albo FBX, który niesie animację obiektów i szkieletu oraz wagi skinningu, ale nie shape keys ani map tekstur. Zapisywany jest każdy klip w scenie, a ten, w którym pracowałeś, jest pierwszy. Export for the web… tworzy stronę, embed, komponent React lub moduł three.js odtwarzający animację.
- 5
Sprawdź w celu
Zaimportuj plik do silnika lub przeglądarki, do których jest przeznaczony, i odtwórz każdy klip. Sprawdź skalę, kierunek, zapętlenie i czy ruch z easingiem nadal ma easing — problemy opisane niżej ujawniają się tutaj albo wcale.
glTF i GLB dla animacji
glTF 2.0 przechowuje animację jako kanały, z których każdy celuje w translację, rotację lub skalę jednego węzła albo w wagi morph targets (shape keys) siatki. Każdy kanał próbkuje klatki kluczowe z interpolacją LINEAR, STEP lub CUBICSPLINE, czasy zapisuje w sekundach, a nie klatkach, a rotacje jako kwaterniony. Siatki ze skinningiem niosą swoje stawy, macierze odwrotnego wiązania i do czterech wag na wierzchołek na zestaw.
To celowo wąski zakres, dlatego glTF wczytuje się niemal wszędzie bez konwersji. Wszystko poza nim — kluczowany kolor materiału, intensywność światła, ogniskowa kamery — wymaga rozszerzenia, takiego jak KHR_animation_pointer, a obsługa rozszerzeń różni się między silnikami. glTF z definicji jest też w metrach i z osią Y do góry, więc rzadko przychodzi w złym rozmiarze.
FBX dla animacji
FBX to własnościowy format Autodesk i od dwóch dekad domyślny sposób przenoszenia postaci z rigiem i animacją między DCC a silnikami gier. Przechowuje szkielety, skinning, blend shapes, wiele take'ów i frame rate, a Mixamo, Unity i Unreal posługują się nim biegle.
Jego słabości to te same cechy, które czynią go elastycznym: jednostki i konwencje osi różnią się zależnie od eksportera, więc FBX z jednego narzędzia może przyjść sto razy za duży lub leżący na plecach, a szczegóły różnią się między wersjami SDK. Wiele plików z Mayi i Mixamo jest w centymetrach, podczas gdy glTF jest w metrach.
Co się przenosi, a co nie
Niezawodnie przenoszone: transformacje obiektów, animacja szkieletowa na kościach, wagi shape keys i struktura klipów. Zwykle tracone: IK i constrainty, drivery i wyrażenia, własne kontrolery rigu oraz kluczowane wartości materiału, światła i soczewki kamery. Pierwszą grupę strat wypal do kluczy; w drugiej sprawdź, czy cel obsługuje rozszerzenie, czy efekt trzeba odbudować.
Krzywe to subtelna sprawa. Eksportery różnią się tym, czy zachowują styczne bezier, zapisują dane cubic-spline, czy próbkują krzywą do kluczy. Eksporter zapisujący tylko ustawione klucze z interpolacją liniową między nimi spłaszcza mocny ease między szeroko rozstawionymi kluczami. Jeśli dokładny easing ma znaczenie w silniku, dodaj klucze wewnątrz easingu albo wypal ruch na poziomie klatek.
Eksport animacji z Mixos Studio
Eksporty GLB i glTF ze Studio niosą kluczowane transformacje obiektów i wagi shape keys, zachowują hierarchię sceny, aby każdy obiekt animował się w swojej lokalnej przestrzeni, i zapisują każdy klip w scenie. Postać z rigiem wychodzi jako siatka ze skinningiem — ze stawami, macierzami odwrotnego wiązania i do czterech wag kości na wierzchołek — więc ciało deformuje się w celu, zamiast stać nieruchomo, gdy kości się ruszają. Eksport FBX ze Studio też zachowuje hierarchię — pivot każdego obiektu, stawy szkieletu, wagi skinningu i każdy klip, próbkowany na każdej klatce — ale materiały niesie tylko jako base color, bez map tekstur, i nie niesie shape keys. Cele OBJ, STL i USDZ nie niosą animacji, a okno eksportu informuje o tym przed pobraniem.
Warto znać dwa ograniczenia. W GLB i glTF klucze zapisują się w czasach, które ustawiasz, i są interpolowane liniowo w pliku — easing z edytora krzywych nie jest wypalany — więc dodaj klucz wewnątrz długiego easingu, jeśli silnik ma go dokładnie odtworzyć; FBX jest próbkowany na każdej klatce, więc jego easing przetrwa. A kluczowane wartości materiału, światła i kamery zostają w scenie, bo rdzeń glTF nie ma dla nich kanału. Plik sceny .mxs zachowuje wszystko, czego format modelu nie może — generatory, modyfikatory, animację i ustawienia renderu — gdy celem jest samo Studio. Eksport jest w płatnym planie; animowanie i podgląd są darmowe.
Najczęściej zadawane pytania
Czy GLB czy FBX jest lepszy do animacji?
GLB dla sieci i silników czytających glTF natywnie, takich jak Godot i three.js — to otwarty standard, metryczny i spójny między narzędziami. FBX tam, gdzie pipeline jest wokół niego zbudowany, zwłaszcza Maya, 3ds Max i wiele projektów Unity i Unreal. Oba niosą animację szkieletową i shape keys.
Czy glTF obsługuje animację?
Tak. glTF 2.0 animuje translację, rotację i skalę węzłów oraz wagi morph targets, z interpolacją liniową, skokową lub cubic-spline, i obsługuje siatki ze skinningiem. Animowanie innych właściwości, takich jak wartości materiału, wymaga rozszerzenia.
Dlaczego mój wyeksportowany klip się nie rusza?
Zwykle dlatego, że ruch pochodził z czegoś, czego format nie przechowuje — solvera IK, constrainta, drivera lub symulacji — i nie został wypalony do klatek kluczowych przed eksportem. Inna częsta przyczyna to silnik niegrający klipu: większość wymaga przypisania klipu lub ustawienia autoplay.
Dlaczego moja animacja ma zły rozmiar lub jest obrócona w silniku?
Jednostki i konwencje osi. glTF to zawsze metry i oś Y do góry; FBX zależy od eksportera i często jest w centymetrach. Ustaw jednostkę i osie przy eksporcie albo zastosuj jedną skalę przy imporcie, zamiast poprawiać każdy klip.
Czy mogę wyeksportować animację z przeglądarki?
Tak. Mixos Studio eksportuje animowane sceny jako GLB lub glTF z każdym klipem albo jako stronę lub moduł three.js, który je odtwarza. Animowanie jest darmowe; eksport jest w płatnym planie.