Autor Wątek:  Obliczanie transformu po zmianie parenta  (Przeczytany 3843 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline Maciej

  • Zasłużony dla Symulatora
  • Wiadomości: 1195
    • Zobacz profil
  • Otrzymane polubienia: 192
Obliczanie transformu po zmianie parenta
« dnia: 23 Lutego 2018, 15:22:22 »
Chciałbym spróbować zmienić w notatniku parenta jednego z submodeli, ale problem jest w tym, że po takiej zmianie znika ten submodel. W związku z tym myślę, że należałoby zmienić jego transform. I tu moje pytanie: jak obliczany jest transform w symulatorze, że dany submodel wyświetlany jest w takim a nie innym miejscu? Wszystkie liczby znajdujące się w transformie "rodzica" są wymnażane przez liczby znajdujące się w transformie "dziecka" czy jak to działa?

Offline Stele

  • Zasłużony dla Symulatora
  • Wiadomości: 10133
    • Zobacz profil
  • Otrzymane polubienia: 2610
Odp: Obliczanie transformu po zmianie parenta
« Odpowiedź #1 dnia: 23 Lutego 2018, 17:16:11 »
Teoretycznie mnożysz macierze od najmłodszego dziecka, przez macierze kolejnych rodziców i uzyskasz transform względem origina. Z tym, że w t3d transformy były transponowane względem openGL z tego co wiem.
http://www.opengl-tutorial.org/beginners-tutorials/tutorial-3-matrices/#cumulating-transformations
http://www.opengl-tutorial.org/assets/faq_quaternions/index.html#Q11

Nie prościej jednak postawić blendera i przepiąć hierarchię by przy eksporcie klocka przeliczył geometrię niż liczyć kwaterniony na kartce?
Mój kanał youtube

Offline Maciej

  • Zasłużony dla Symulatora
  • Wiadomości: 1195
    • Zobacz profil
  • Otrzymane polubienia: 192
Odp: Obliczanie transformu po zmianie parenta
« Odpowiedź #2 dnia: 23 Lutego 2018, 19:15:43 »
Mi na Blenderze żaden model nie chce się importować niestety i w tym cały problem :/.

A co się dzieje, jeżeli rodzic ma wpisane w transformie 0, a dziecko inną liczbę, np. 0.6489? To wtedy przecież chyba i tak dla dziecka wyjdzie 0, bo 0.6489*0=0.
« Ostatnia zmiana: 23 Lutego 2018, 19:30:49 wysłana przez Maciej »

Offline szogun

  • Wiadomości: 5631
  • Nie matura a chęć szczera zrobi z Ciebie oficera!
    • Zobacz profil
    • szogun Studio
  • Otrzymane polubienia: 566
Odp: Obliczanie transformu po zmianie parenta
« Odpowiedź #3 dnia: 23 Lutego 2018, 19:35:50 »
To nie jest tak hop siup, kazdy wierzcholek jest pozycjonowany wzgledem pivota (transforma). Niby wszystko da sie przeliczyc ale nie do konca, eystarczy inny obrot jest I zaczynaja sie schody.
Skoro kot robi MIAU czyli miauczy, to dlaczego pies szczeka a nie hauka?
Informacje o trwających pracach -> facebook.com/szogunstudio

Offline Stele

  • Zasłużony dla Symulatora
  • Wiadomości: 10133
    • Zobacz profil
  • Otrzymane polubienia: 2610
Odp: Obliczanie transformu po zmianie parenta
« Odpowiedź #4 dnia: 23 Lutego 2018, 19:40:56 »
Cały wiersz zer ma? Na przekątnej nie może, bo byłby wynicowany. Ogarniasz ogólnie rachunek macierzowy? Nie rób tego na kartce, wklep sobie w excela. W internecie też pełno jest kalkulatorów.
Mój kanał youtube

Offline Maciej

  • Zasłużony dla Symulatora
  • Wiadomości: 1195
    • Zobacz profil
  • Otrzymane polubienia: 192
Odp: Obliczanie transformu po zmianie parenta
« Odpowiedź #5 dnia: 23 Lutego 2018, 20:25:54 »
Właśnie dłubię w excelu. I teraz tak: mam wymnożone macierze przy oryginalnym przyparentowaniu. Teraz zmieniam parenta. I co mam dalej z tym zrobić? W excelu mam tylko dwie funkcje: MACIERZ.ILOCZYN (mnożenie macierzy) i MACIERZ.ODW (odwrotność macierzy).

Offline Milek7

  • Administrator
  • Wiadomości: 1051
    • Zobacz profil
  • Otrzymane polubienia: 906
Odp: Obliczanie transformu po zmianie parenta
« Odpowiedź #6 dnia: 23 Lutego 2018, 20:36:09 »
Jak wychodzisz ze struktury w górę to mnożysz transform ze starego parenta przez transform tego co przesuwasz. Jak wchodzisz wgłąb struktury to chyba mnożysz transform przez odwrotność transforma nowego parenta. Ale nie jestem pewny, może lepiej sprawdź czemu skrypty do blendera nie wczytują.

Offline Maciej

  • Zasłużony dla Symulatora
  • Wiadomości: 1195
    • Zobacz profil
  • Otrzymane polubienia: 192
Odp: Obliczanie transformu po zmianie parenta
« Odpowiedź #7 dnia: 23 Lutego 2018, 21:01:40 »
Bardzo Wam dziękuję. Udało się obliczyć transformy. Lampka została przeparentowana i została na swoim miejscu. Jeszcze raz ogromne dzięki. Wątek zamykam.