Eksportowanie kości Blendera

11

Napisałem eksportera dla modeli blenderów, który świetnie sprawdza się w przypadku siatek. Próbuję rozszerzyć to na kości zdefiniowane w blenderze. Jednak nie znalazłem dobrych informacji do eksportowania danych dotyczących kości. Jak mogę uzyskać dostęp do danych dotyczących kości? Chciałbym uzyskać dostęp do wszystkich wierzchołków, na które wpływa kość, ciężaru każdego wierzchołka i matrycy. Czy muszę eksportować cokolwiek innego do animacji szkieletu i dynamicznego rozczłonkowania?

MichaelHouse
źródło
Odpowiedziałbym, ale moje sugestie są do kitu (nie jestem z nich zadowolony i wcale nie można ich przenosić) i miałem nadzieję, że dostaniesz dobrą odpowiedź. Obecnie wykonuję takielę w swojej grze i po prostu eksportuję z .obj, cała moja animacja jest proceduralna. Zacząłem próbować czytać z eksportu Collada, ale jest to okropny, okropny format. Daj mi znać, jeśli masz szczęście w pisaniu eksportera Pythona.
Michael

Odpowiedzi:

7

Moja propozycja polega na tym, by znaleźć format, w którym Blender wyeksportuje również swoje kości, a następnie przejrzy skrypt skryptu tego formatu. Robiłem coś podobnego i zdałem sobie sprawę z tego, jak wielkim bólem było znalezienie dobrego zasobu na eksport kości.

Ale oto ta specyfikacja, która bardzo mi pomogła, dotycząca modułów armatury

Joshua Hedges
źródło
Zgrabnie, wygląda na to, że ma trochę tego, czego potrzebuję. Jednak nie ma listy wierzchołków, które obejmuje kość, ani masy tych wierzchołków. Widzę, że ma wartość logiczną wskazującą, że kość używa grup wierzchołków, ale nie widzę, jak uzyskać dostęp do tych informacji. Wygląda na to, że Blender musi mieć możliwość wyeksportowania tych danych. Czy ktoś wie, jak się do tego dostać?
MichaelHouse
2
Wygląda na to, że coś mam na myśli. Ponieważ Blender używa grup wierzchołków do zdefiniowania grup kości, mogę po prostu znaleźć grupę wierzchołków o tej samej nazwie co kość, i znalazłem wszystkie wierzchołki należące do tej kości.
MichaelHouse
Brzmi wspaniale :]. Przepraszam, że nie mogłem pomóc dalej niż to, co zrobiłem, miałem podobny, ale nieco inny projekt. Więc nie miałem więcej informacji.
Joshua Hedges
8

@Michael skierował mnie do doskonałego źródła do eksportu kości z Blendera. Zapewnia wszystkie potrzebne informacje. W rzeczywistości jest już wbudowany w Blendera, jest to format modelu DirectX.

Przejdź do preferencji użytkownika, sekcji dodatków, kategorii „Import-Eksport” i zainstaluj „Format modelu DirectX (.x)”. Następnie użyj Plik-> Eksportuj, aby wybrać nowo dodany format.

Ten format eksportuje nie tylko informacje o siatce (wierzchołki, trójkąty, kwadraty, tekstury itp.), Ale także eksportuje informacje o szkieletu, w tym strukturę szkieletu (relacje rodzic / dziecko), macierze transformacji, które wierzchołki są zawarte w każdej kości, a nawet masy kości dla każdego wierzchołka. Eksportowane są również sekwencje animacji.

Wszystko w czytelnym dla człowieka formacie ASCII, więc łatwo jest napisać importera. Piękny.

MichaelHouse
źródło
bardzo dziękuję, ale czy eksportowane ramki są również eksportowane przez tego eksportera
Martin Erhardt
@MartinErhardt Musisz wyjaśnić, co to jest „ten eksporter”. Format .x nie eksportuje obwiedni.
MichaelHouse
2

Format IQM (Inter-Quake Model) zawiera zestaw eksporterów Blendera, które eksportują oskórowane siatki z mieszankami i szkieletem. Dokumentacja i kod znajdują się na stronie http://lee.fov120.com/iqm/ . Możesz także spojrzeć na eksporterów MD5 w formacie Doom 3.

ccxvii
źródło
Dzięki @ccxvii podany przez Ciebie link był naprawdę przydatny.
MichaelHouse