Autor Wątek: Format .3ds i korzystanie z animacji  (Przeczytany 1784 razy)

Offline Trix

  • Użytkownik

# Styczeń 18, 2013, 23:40:52
Od pewnego czasu bawię się z plikami binarnym, na pierwszy cel poszedł format .3ds

Niestety z jakiegoś dziwnego powodu złe dane zostają wczytane dot. animacji.
Na początek zamieszczę kilka inf o tym formacje, dokładny opis chunk'ów: http://cse.csusb.edu/tong/courses/cs520/notes/3DSINFO.TXT

Oraz mniej szczegółowy: http://www.spacesimulator.net/wiki/index.php?title=Tutorials:3ds_Loader

Na początek sam zaprogramowałem kod wczytujący model i teksturę.

Przyszedł czas na animacje, wczytałem chunk'i:
0x4D4D(main chunk)
      0xB000(bez dodatkowych parametrów)
            0xB008 (wczytane dane typu unsigned long start oraz stop)
Wczytane dane zawsze mają wartość(start i end animacji) start= 0, end= 64 (wyświetlone w sposób printf("Zmienna start %x\n", start); )
Co jest nieprawdą...

Model jak i animację wymodelowałem w 3ds max 7 oraz animacja została zrobiona bez udziału kości.
Importując z powrotem zapisany model do 3ds max'a okazuje się, że nie ma animacji...

Może w tym tkwi problem? Jak eksportować model razem z animacją? Jeśli będzie potrzebny kod zamieszczę funkcję (jest w testach) wczytującą te dane.

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Trix

  • Użytkownik

# Styczeń 19, 2013, 15:31:06
@refresh

Offline flexi

  • Użytkownik

  • +1
# Styczeń 19, 2013, 16:05:55
Jesli nie robisz tego dla nauki wczytania .3ds, to polece od siebie bibloteke Assimp.

Offline Trix

  • Użytkownik

# Styczeń 19, 2013, 23:07:14
Opanowałem już to w całości :)

Co prawda kod nie dokończyłem nawet w 50% ale już wiem all co robić (przerobiłem w głowie, bo za dużo roboty przy tym jest ;p)
Tak btw. teraz przejrzę tą bibliotekę

I brnę dalej ^^

Offline MrKaktus

  • Użytkownik

  • +3
# Styczeń 20, 2013, 11:21:55
Ściagnij SDK do FBX i zajmij się nim. Na prawdę warto jeżeli to co kodzisz ma mieć jakikolwiek sens.

Offline yaneq6

  • Użytkownik

# Kwiecień 26, 2013, 12:41:22
Ściagnij SDK do FBX i zajmij się nim. Na prawdę warto jeżeli to co kodzisz ma mieć jakikolwiek sens.

Assimp ma jedną poważną wadę. Przy ładowaniu sceny, takie same meshe ale o różnych materiałach traktuje jak różne meshe przez co nie potrzebnie powiela instancje. W dokumentacji jest opisana jedna flaga do ładowania sceny która teoretycznie powinna sobie z tym radzić ale jest przy niej adnotacja ze na razie nie działa i planują to w przyszłości to poprawić.
I teraz moje pytania odnośnie cytatu. Czy w sdk autodesku też występuje ten problem?


Sam znalazłem odpowiedź, niestety autodesk też duplikuje meshe... straszna kaszana
« Ostatnia zmiana: Kwiecień 26, 2013, 15:15:19 wysłana przez yaneq6 »