PoradnikiInstrukcja5 min czytania

VRM do FBX, GLB do FBX i z powrotem: Konwerter 3D, który zachowuje animacje

Dowolny model 3D do GLB, FBX, USDZ, OBJ lub STL w przeglądarce, z zachowanym szkieletem, wagami skinningu, każdą klatką kluczową i kształtami twarzy.

afk.ai/rig/convert
VRM upuszczony na afk.ai/rig/convert: podgląd, wybrany FBX, co FBX zachowa i skonwertowany plik. Oczekiwanie jest przyspieszone. Model: AvatarSample_C z VRoid Studio, autorstwa pixiv.

afk.ai/rig/convert zamienia model 3D na inny format pliku bez utraty tego, co wprawia go w ruch. Wrzuć VRM, a dostaniesz FBX, który Unity odczyta jako postać z rigiem i kształtami twarzy. Wrzuć animowany FBX, a dostaniesz GLB do sieci. Szkielet, wagi skinningu i każda klatka kluczowa każdej animacji przechodzą bez zmian.

Co konwertuje

Odczytuje VRM 0 i 1.0, GLB, glTF (z jego plikami albo w ZIP-ie), FBX, OBJ, STL, PLY, USD i USDZ, do 150 MB. Zapisuje pięć formatów, a każdy z nich mieści inną część modelu. Strona mówi ci, co zostanie, zanim cokolwiek skonwertujesz.

FormatZachowujePomija
GLBSzkielet, wagi, wszystkie animacje, kształty twarzy, materiały i teksturyTylko dodatki VRM, które działają wyłącznie w VRM
FBXTo samo, a każda animacja jest osobnym take'iemTylko dodatki VRM, które działają wyłącznie w VRM
USDZSzkielet, wagi, kształty twarzy i jedną animacjęPozostałe animacje: USDZ mieści jedną oś czasu
OBJSiatkę, jej materiały i tekstury, w ZIP-ieSzkielet, animacje i kształty twarzy
STLKształt, w naturalnej wielkości w milimetrachCałą resztę, łącznie z kolorami i teksturami

Jak skonwertować VRM do FBX dla Unity

  1. Otwórz afk.ai/rig/convert i zaloguj się.
  2. Wrzuć swój VRM. W podglądzie odtwarza się tak, jak pokazują go aplikacje VRM: włosy się kołyszą, a wyrażenia twarzy możesz wypróbować.
  3. Wybierz FBX. Strona wymienia dla tego modelu, co FBX zachowuje, co zmienia, a co pomija.
  4. Skonwertuj do FBX. Plik powstaje na naszych serwerach i pobiera się sam. Awatar z VRoid zajmuje kilka sekund, setki animacji kilka minut.
  5. Zaimportuj go do Unity. Przeciągnij FBX do Assets. W jego karcie Rig ustaw Animation Type na Humanoid i kliknij Apply.
afk.ai/rig/convert, wybrany FBX: VRM do FBX, z tym, co zachowuje, zmienia i pomija

VRM do FBX

afk.ai/rig/convert, wybrany FBX: Animowany GLB do FBX, z tym, co zachowuje, zmienia i pomija

Animowany GLB do FBX

Co według afk.ai/rig/convert FBX zachowa, zmieni i pominie, wyliczone dla upuszczonego modelu: AvatarSample_C jako VRM oraz jako GLB z pięcioma animacjami.

Co dzieje się z VRM

VRM to glTF z dodatkami, które odczytują tylko aplikacje VRM. Konwerter zachowuje wszystko, czego może użyć inna aplikacja, a resztę zamienia na coś, czego użyć może.

  • Wyrażenia twarzy: stają się kształtami twarzy (blend shapes) nazwanymi tak jak one, np. Joy, Angry i Blink. Unity, Unreal, Blender i three.js potrafią nimi sterować.
  • Spring bones: kołysanie włosów i ubrań jest wypalane w animacjach modelu jako klatki kluczowe, tak jak odtworzyłaby je aplikacja VRM. VRM nie ma własnych animacji, więc najpierw dodaj mu je w afk.ai.
  • Cieniowanie toon: staje się zwykłymi materiałami z oświetleniem, z tymi samymi teksturami. W GLB możesz zamiast tego wybrać płaskie materiały bez oświetlenia.
  • Kierunek: VRM 0 w większości aplikacji stoi tyłem, więc jest obracany przodem.
  • Pominięte: to, co odczytują tylko aplikacje VRM, np. oznaczenia kości, kierowanie wzroku (look-at), ustawienia widoku z pierwszej osoby i dane twórcy.

Skonwertowaliśmy AvatarSample_C z VRoid Studio. VRM o rozmiarze 13,1 MB stał się FBX o rozmiarze 10,5 MB ze wszystkimi 101 kośćmi, 18 347 wierzchołkami, 14 materiałami i ich teksturami, zwrócony przodem. Jego 14 wyrażeń twarzy wyszło jako shape keys o nazwach Neutral, Joy, Angry, Sorrow, Fun, Surprised, Blink oraz kształty ust A, I, U, E i O, obok 54 kształtów twarzy zrobionych przez VRoid.

  • Wyrażenie Neutral postaci AvatarSample_CNeutral
  • Wyrażenie Joy postaci AvatarSample_CJoy
  • Wyrażenie Angry postaci AvatarSample_CAngry
  • Wyrażenie Surprised postaci AvatarSample_CSurprised
Joy w podglądzie konwerteraVRM na afk.ai
Ta sama twarz jako shape key skonwertowanego FBX w BlenderzeFBX w Blenderze
Cztery wyrażenia twarzy VRM w podglądzie konwertera i jedno z nich w skonwertowanym FBX, otwartym w Blenderze: shape key o tej samej nazwie. Model: AvatarSample_C z VRoid Studio, autorstwa pixiv.

Każda klatka kluczowa, klatka w klatkę

Konwertery często próbkują animacje na nowo, upraszczają ich krzywe albo zaczynają je klatkę za późno. Ten nie. Każda klatka kluczowa każdej animacji trafia tam, gdzie była, każda animacja zachowuje własny ruch twarzy i każda zaczyna się w czasie zero, tak jak w oryginale.

FBX dostaje każdą animację jako osobny take, z zapisaną każdą klatką każdej kości, bez żadnych uproszczeń. Zmierzyliśmy to, próbkując każdą kość 240 razy na sekundę. GLB zamieniony na FBX i ten FBX zamieniony z powrotem na GLB za każdym razem mieściły się w 0,002 mm i 0,05 stopnia od pliku sprzed konwersji.

Wypróbowaliśmy to na tym samym awatarze z pięcioma animacjami afk.ai: GLB o rozmiarze 7,2 MB w kilka sekund stał się FBX o rozmiarze 29,3 MB. Każda animacja była osobnym take'iem w 120 klatkach na sekundę, z kluczem w każdej klatce i kołysaniem włosów i płaszcza w każdej z nich.

Taki jest koszt: FBX jest duży. Wszystkie 193 darmowe animacje afk.ai na jednej postaci dają FBX o rozmiarze około 230 MB, co zajmuje kilka minut.

  • Dance Groove
  • Jumping Jacks
  • Run Anime
Trzy take’i skonwertowanego FBX, wyrenderowane w Blenderze: animacje takie, jakie były, z wypalonym ruchem włosów i płaszcza. Model: AvatarSample_C z VRoid Studio, autorstwa pixiv.

W Blenderze, Unity, Unreal i Godot

  • Blender: File, Import, FBX. Każdy take wczytuje się jako akcja (action), a kształty twarzy jako shape keys.
  • Unity: ustaw kartę Rig na Humanoid. Każdy take to klip animacji, a kształty twarzy to blend shapes w Skinned Mesh Renderer.
  • Unreal Engine: zaimportuj jako Skeletal Mesh z włączonymi Import Morph Targets i Import Animations.
  • Godot i three.js: GLB wczytuje się bez zmian.
  • Urządzenia Apple: USDZ otwiera się w Quick Look i Reality Composer.
  • Druk 3D: STL w naturalnej wielkości w milimetrach albo OBJ.
Shape Key Editor w Blenderze z listą Neutral, A, I, U, E, O, Blink, Blink_L, Blink_R, Angry, Fun, Joy, Sorrow i Surprised, z Joy na twarzy

FBX z VRM: jego 14 wyrażeń jako shape keys, Joy na 1

Blender z animowanym FBX: szkielet w połowie tańca, pięć akcji w Outlinerze i klatka kluczowa na każdej klatce w Action Editorze

FBX z animowanego GLB: pięć take’ów, klatka kluczowa na każdej klatce, 120 fps

Oba pliki FBX otwarte w Blenderze 5.2. Model: AvatarSample_C z VRoid Studio, autorstwa pixiv.

Twoje modele w dowolnym formacie

Modele, którym zrobisz rig na afk.ai/rig, też pobierzesz we wszystkich pięciu formatach: GLB lub FBX z zaznaczonymi animacjami, USDZ z jedną i nieruchomy OBJ lub STL. Skonwertowany model jest przechowywany w Your Models (twoje modele), w tej przeglądarce, więc później możesz go pobrać ponownie w innym formacie. Możesz tam też dodać dowolny własny model przyciskiem + i pobrać go w dowolnym formacie.

Najczęstsze pytania

Jak skonwertować VRM do FBX?

Przeciągnij VRM na afk.ai/rig/convert, wybierz FBX i kliknij Convert to FBX. Jego szkielet, wagi skinningu i tekstury przechodzą, a wyrażenia twarzy stają się kształtami twarzy.

Czy konwersja zachowuje moje animacje?

Tak. W GLB i FBX zachowana jest każda klatka kluczowa każdej animacji. USDZ mieści jedną animację, więc dostaje pierwszą. OBJ i STL mieszczą nieruchomy model.

Czy wyrażenia twarzy z mojego VRM zadziałają w Unity?

Tak, jako blend shapes. Każde wyrażenie staje się kształtem twarzy nazwanym tak jak ono (Joy, Blink, Angry) w Skinned Mesh Renderer, gotowym do sterowania ze skryptu albo z animacji.

Czy fizyka włosów zostaje zachowana?

Zostaje wypalona. Pliki FBX, GLB i USDZ nie mogą przechowywać spring bones, więc kołysanie jest zapisywane w każdej animacji jako klatki kluczowe, tak jak odtworzyłaby je aplikacja VRM. W silniku odtwarza się bez ustawiania jakiejkolwiek fizyki.

Czy mogę skonwertować FBX do GLB albo GLB do FBX?

Tak, w obie strony, a także z OBJ, STL, PLY i USDZ. Collada (.dae) nie jest obsługiwana.

Czy mogę skonwertować do VRM?

Jeszcze nie. Eksport do VRM, ze śledzeniem twarzy i fizyką, jest w drodze.

Dlaczego mój FBX jest taki duży?

FBX zapisuje tu każdą klatkę każdej kości, więc ruch jest dokładny. Setki animacji to setki MB. Wybierz mniej animacji albo użyj GLB, który jest znacznie mniejszy.

Czy to jest darmowe?

Tak, z darmowym kontem: 10 konwersji dziennie. Pliki mogą mieć do 150 MB.

Zrób rig i animuj swój model

AI robi jego rig w twojej przeglądarce, a potem odtwarza na nim setki animacji. Pobierz jeden plik GLB do dowolnego silnika.

Zrób rig modelu

Więcej poradników