Konwertuj c3d do bvh

Konwertuj C3D na BVH

Konwertuj próby C3D oparte na markerach na rozwiązaną animację szkieletu BVH za pomocą MotionBuilder lub Blender.

Jak konwertować c3d do bvh

System przechwytywania ruchu może generować C3D, podczas gdy silnik gier lub pakiet do animacji postaci akceptuje tylko BVH. Konwersja plików wymaga dopasowania trajektorii markerów do szkieletu; nie jest to proste przepisanie formatu pliku.

Czym jest format C3D

C3D to binarny kontener danych przechwytywania ruchu używany do przechowywania zsynchronizowanych trajektorii markerów 3D, kanałów analogowych, pomiarów z platform siłowych, zdarzeń i metadanych próby. Vicon Nexus, Qualisys Track Manager, Motion Analysis Cortex, systemy BTS oraz wiele aplikacji biomechanicznych tworzy lub eksportuje pliki C3D.

Próba zwykle zawiera oznaczone markery, takie jak LASI, RASI, LKNE i RKNE, ale C3D nie wymaga kompletnego szkieletu przegubowego, hierarchii kości, ograniczeń stawów ani obliczonych obrotów stawów. Oznaczenia markerów i konwencje współrzędnych również różnią się w zależności od systemu przechwytywania.

Czym jest format BVH

BVH, czyli Biovision Hierarchy, przechowuje hierarchię szkieletu, a następnie wartości kanałów dla poszczególnych klatek, zwykle translację obiektu głównego i obroty stawów w układzie Eulera. Jest obsługiwany przez Blender, Autodesk MotionBuilder, wiele pakietów do gier i animacji oraz inne programy korzystające z animacji szkieletowej.

BVH jest przydatny, gdy miejsce docelowe wymaga kości gotowych do animacji. Jego tekstowa struktura jest stosunkowo łatwa do sprawdzania i wymiany, ale zwykle nie pozwala zachować oznaczeń markerów C3D, danych siłowych, sygnałów analogowych, reszt, informacji o jakości z kamer ani większości metadanych próby. Zachowaj oryginalny plik C3D jako źródło archiwalne.

Jak konwertować C3D do BVH

Najbardziej niezawodny przebieg pracy wykorzystuje aplikację do przechwytywania ruchu lub animacji, która potrafi importować C3D, dopasowywać markery i eksportować BVH. Autodesk MotionBuilder nadaje się do czyszczenia danych optycznych, mapowania zestawu markerów, definiowania postaci, obliczania ruchu, retargetingu i eksportu BVH. Blender może wykonać ten sam proces niższym kosztem, ale wymaga zgodnego importera C3D i większej liczby ręcznych ustawień.

  1. Otwórz próbę w oprogramowaniu do przechwytywania lub biomechaniki, które ją utworzyło. Sprawdź częstotliwość klatek, jednostki, kierunki osi, oznaczenia markerów, luki i zakres klatek. Popraw nieprawidłowo oznaczone lub brakujące markery oraz odfiltruj zaszumione trajektorie przed dopasowaniem.
  2. Użyj BTK lub ezc3d do lokalnej inspekcji i wstępnego przetwarzania, gdy oryginalna aplikacja jest niedostępna. Zainstaluj ezc3d za pomocą pip install ezc3d; może ono odczytywać punkty C3D, dane analogowe, parametry i informacje o czasie, ale samo nie wyznacza szkieletu ani nie generuje poprawnego BVH.
  3. W MotionBuilder zaimportuj C3D za pomocą dostępnego polecenia importu danych optycznych. Wczytaj lub utwórz zestaw markerów badanego i przypisz oznaczenia do punktów anatomicznych, takich jak miednica, kolana, kostki, barki i łokcie. Dokładne nazwy menu mogą różnić się w zależności od wersji MotionBuilder i zainstalowanych opcji importu.
  4. Utwórz dopasowanie optyczne lub dopasowanie markerów do szkieletu. Zdefiniuj pozę spoczynkową, proporcje badanego, długości kości, hierarchię rodzic–dziecko, marker główny oraz wymagane filtry markerów. Ogólna chmura markerów nie wystarcza do określenia niezawodnego szkieletu.
  5. Sprawdź obliczony ruch pod kątem zamienionych lewej i prawej kończyny, nieprawidłowego kierunku zwrócenia, przesuwania stóp, odwrócenia kolan, błędów barków i nieciągłości spowodowanych zasłonięciem markerów. Popraw dane markerów lub ustawienia dopasowania przed wypieczeniem animacji.
  6. Skonfiguruj obliczony szkielet, wypiecz animację stawów, ustaw wymagany zakres klatek i częstotliwość próbkowania, a następnie wyeksportuj ruch jako BVH. Wybierz właściwy obiekt główny, kanały translacji, konwencję osi i kolejność obrotów Eulera dla oprogramowania docelowego.

W Blenderze zainstaluj importer C3D obsługujący zainstalowaną wersję Blendera, zaimportuj trajektorie markerów, utwórz lub zaimportuj armaturę o odpowiednich proporcjach, zastosuj ograniczenia armatury względem markerów, wypiecz wynikową akcję i użyj File → Export → Motion Capture (.bvh). Eksporter BVH w Blenderze zapisuje istniejącą armaturę; nie przekształca niezawodnie nieoznaczonych punktów markerów w ludzki szkielet.

Kontrola jakości i zgodności

  • Jednostki: Dane C3D są często wyrażane w milimetrach, podczas gdy czytniki BVH mogą interpretować wartości jako centymetry lub dowolne jednostki sceny. Zastosuj wymagane skalowanie do długości kości i translacji obiektu głównego, a następnie sprawdź wysokość badanego i przebytą odległość.
  • Osie: potwierdź oś pionową, kierunek do przodu, prawo- lub lewoskrętność układu oraz początek układu współrzędnych w obu aplikacjach. Niezgodność może obrócić, odbić lustrzanie lub odwrócić ruch.
  • Kolejność obrotów: BVH deklaruje kolejność kanałów każdego stawu w hierarchii. Importer zakładający inną kolejność Eulera może powodować pozorne skręcanie kończyn, nawet gdy obliczenia źródłowe są poprawne.
  • Ruch obiektu głównego: zdecyduj, czy BVH ma zawierać translację poziomą, translację pionową i obrót określający kierunek zwrócenia. Niektóre miejsca docelowe oczekują ruchu lokomocyjnego obiektu głównego, a inne animacji w miejscu.
  • Synchronizacja klatek: zachowaj zakres klatek C3D i częstotliwość próbkowania, chyba że ponowne próbkowanie jest zamierzone. Sprawdź, czy czas klatki w nagłówku BVH odpowiada częstotliwości odtwarzania miejsca docelowego.
  • Luki i zasłonięcia: brakujące lub nieprawidłowo oznaczone markery mogą powodować nagłe przeskoki stawów, nieprawdopodobne obroty i przesuwanie stóp. Uzupełnij luki lub wyklucz dotknięte nimi fragmenty przed wypieczeniem animacji.
  • Utrata danych: BVH zasadniczo zachowuje tylko szkielet i kanały animacji. Jeśli później potrzebne będą platformy siłowe, sygnały analogowe, zdarzenia, reszty markerów lub oryginalne trajektorie, wyeksportuj osobno oczyszczony plik C3D albo inny format analityczny.

Konwertery online i rozwiązania alternatywne

Nie istnieje powszechnie niezawodny, ogólny konwerter C3D do BVH online, ponieważ konwersja wymaga modelu markerów właściwego dla badanego i dopasowania szkieletu, a nie tylko parsera formatu. Ogólne serwisy do konwersji plików nie potrafią wywnioskować hierarchii kości ani obrotów stawów. Korzystaj z oprogramowania dostawcy systemu przechwytywania, MotionBuilder lub lokalnego przebiegu pracy w Blenderze; unikaj przesyłania możliwych do zidentyfikowania lub zastrzeżonych danych przechwytywania ruchu do niezweryfikowanych usług.

Porównanie formatu C3D z BVH

Jak formaty C3D i BVH wypadają w porównaniu pod względem najważniejszych cech dla tej konwersji.

Porównanie formatów plików C3D i BVH
Cecha .C3D Coordinate 3D .BVH Biovision Hierarchy
Geometria Chmura punktów —
Materiały Nie Nie
Tekstury Brak obsługi Brak obsługi
Animacja Tak Tak
Hierarchia sceny Nie Tak
Czytelny tekstowo Nie Tak
Typowy rozmiar pliku Średni Mały
Otwarty standard Częściowo otwarty Częściowo otwarty
Wprowadzono 1970 1996
Twórca C-Motion, Inc. / Biomechanics research community Biovision, Inc.