Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[OpenGL]Podstawowe informacje dot. formatów obiektów 3d oraz animacji

Ostatnio zmodyfikowano 2012-07-07 10:58
Autor Wiadomość
Trix
Temat założony przez niniejszego użytkownika
[OpenGL]Podstawowe informacje dot. formatów obiektów 3d oraz animacji
» 2012-07-06 22:34:43
Po pewnej przerwie, wykorzystując wolny czas wakacji po troszku postanowiłem kontynuować edukację dot. OpenGL.
Postanowiłem zaprogramować loader obiektów 3d oraz ich animacji.
Przed rozpoczęciem projektowania nowego formatu dobrze byłoby zapoznać się budowie takich plików, o to jak do tej pory wygląda mój format obiektu 3d:

#nagłówek_pliku_obiektu_3d
Mesh: name
VertexGroups: [(0, 'Bone1'), (1, 'Bone2')]
~~ (position) (normal) (bone_nr: weight)xN
f: (1.000000 2.000000 1.000000) (1.000000 0.000000 0.000000) (0: 1.000000)
f: (2.000000 0.000000 2.000000) (1.000000 0.000000 0.000000) (1: 0.998811)
f: (2.000000 0.000000 0.000000) (1.000000 0.000000 0.000000) (0: 0.999998)
f: (1.000000 2.000000 1.000000) (1.000000 0.000000 0.000000) (1: 1.000000)
f: (2.000000 0.000000 0.000000) (1.000000 0.000000 0.000000) (1: 0.499406) (0: 0.500000)
f: (0.000000 0.000000 0.000000) (1.000000 0.000000 0.000000) (1: 0.500000) (0: 0.499999)
f: (1.000000 2.000000 1.000000) (1.000000 0.000000 0.000000) (1: 1.000000)
f: (0.000000 0.000000 0.000000) (1.000000 0.000000 0.000000) (1: 0.499406) (0: 0.500000)
f: (0.000000 0.000000 2.000000) (1.000000 0.000000 0.000000) (1: 0.500000) (0: 0.499999)
#1: To nagłówek świadczący, że program odczytuje prawidłowy format pliku.
#2: Jeśli to Mesh to jest to plik opisujący współrzędne tekstur,kości,wierzchłków, a jeśli Anim, to, to jest animacja.
#3: Nazwa kości, odp. im id.
#4: Komentarz
#5: Pierwszy nawias- Współrzędne wierzchołka, || nawias- Wsp. tekstur, ||| i dalsze nawiasy- przydzielone kości odp. im vert.

Animacji w ogóle nie zacząłem oraz wsp. kości.
Tak myślałem żeby współrzędne kości podać również w tym pliku i powstało, by coś takiego (dalsza część pliku):

#Coordinates_bones
b: (1.000000, 0.000000, 1.000000, 0)
b: (2.000000, 0.000000, 1.000000, 1, 0)
b: (3.000000, 0.000000, 1.000000, 2, 1)
#1: |-||| dane z nawiasu to wsp. kości, |V id kości, a V to id pierwszego punktu kości, pierwsza linijka, go nie posiada, ponieważ nie jest kością, to pkt. startowy)

>>>  1.Dobrze o tym myślę?
>>>  2.W jaki sposób opisywać animację obiektu 3d, zrobić to na zasadzie obrotu w stopniach czy też radianach, czy może jeszcze inaczej?
P-59616
xevuel
» 2012-07-07 06:40:50
Przed rozpoczęciem projektowania nowego formatu
A teraz powiedz mi, jak Ty chcesz tworzyć takie pliki. Bo pewnie znalazłeś lepszy sposób od wpisywania tego ręcznie do notatnika, prawda?

Pierwszy nawias- Współrzędne wierzchołka
W ten sposób mogą powstawać baaardzo duże pliki. Zdecydowanie lepiej jest stworzyć tablicę współrzędnych, a potem tylko ID podawać.

Komentarz
Wątpię, żeby tylda była dobrym znakiem do oznaczenia komentarza, dlaczego nie wykorzystasz po prostu "//"? Hmm... tak w ogóle po co Ci komentarze w pliku 3D? Tylko spowalniają jego wczytywanie, a nic przecież nie wnoszą.

Dobrze o tym myślę?
Źle. Czemu nie wykorzystasz popularnych formatów?

zrobić to na zasadzie obrotu
A skalowanie, przesunięcie, być może nawet zmiana materiału?


Generalnie nie rozumiem, czemu chcesz wymyślać koło od nowa.
P-59620
Trix
Temat założony przez niniejszego użytkownika
» 2012-07-07 09:28:04
#1 Eksport w blenderze poprzez PYTHON, a w późniejszym czasie plugin.
#2 OK, poprawie to.
#3 Raczej nie zamierzam stosować komentarzy, ten akurat to było oznakowanie, co jest czym, żebym się nie pogubił. A tak btw. plik zostaje raz wczytany, do listy wyświetlania, potem już nie wczytuje go ponownie tylko korzystam z tablicy w pamięci, więc spowolnienie byłoby tylko podczas wczytywania.
#4 Popularnych, czyli jakich? Na pewno taki format musiałbym odtwarzać animację, mam kod md2 ale nie wiem czy jest warto...
#5 -
P-59641
xevuel
» 2012-07-07 09:41:06
Eksport w blenderze poprzez PYTHON, a w późniejszym czasie plugin.
No to jest jakieś wyjście, ale jak dla mnie za dużo z tym zabawy.

spowolnienie byłoby tylko podczas wczytywania.
Wystarczy, czasem aż nadto.

Popularnych, czyli jakich?
OBJ (bez animacji), 3DS, może MAX, i pewnie jeszcze kilka innych. Pełno do nich gotowców na necie (inna sprawa, że nie zawsze działają prawidłowo, no ale...).
P-59642
Trix
Temat założony przez niniejszego użytkownika
» 2012-07-07 10:52:59
Dobra, posłucham Cię i poszukam jakiś ciekawych formatów, które najlepiej sprawdzałyby się w tego rodzaju projektach.
P-59648
xevuel
» 2012-07-07 10:58:44
Jeśli chcesz stworzyć własny format, stwórz go. Weź tylko pod uwagę, że w tych formatach, które podałem znajdziesz wiele gotowych obiektów, gotowych do użycia. Wytknąłem tylko kilka słabych punktów Twojego pomysłu :)

PS. Jeśli uważasz, że temat rozwiązany, zamknij go :)
P-59651
« 1 »
  Strona 1 z 1