- Symulator MaSzyna -

Symulator EU07 (i nie tylko) => Pomoc w tworzeniu => Wątek zaczęty przez: BLE_Maciek w 26 Września 2009, 16:10:58

Tytuł: Eksport do T3D w Gmax i rozsypywanie się modelu - w 3DS się da, a w Gmax ?
Wiadomość wysłana przez: BLE_Maciek w 26 Września 2009, 16:10:58
Witam.

Przy eksporcie do T3D w Gmaksie, następuje efekt podobny jak tu już opisywano, niektóre obiekty zostają dziwnie obrócone a czasem też i przesunięte. Znalazłem wątek (http://eu07.pl/forum/index.php/topic,1923.0.html) w którym opisane jest jak temu zaradzić w 3D Studio. Niestety w Gmaksie w menu "Graph Editors" nie ma opcji "New Schematic View". Jest jakiś sposób żeby ustawić tę hierarchię obiektów? W menu "hierarchy" po prawej stonie nie widać nic odpowiedniego do tego celu.

A tak swoją drogą to czy ktoś doszedł do tego co powoduje to dziwne rozsypywanie? Czy to wina gmax/3ds?

Mam też pytanie dotyczące samego formatu T3D: Co oznaczają parametry znajdujące się w sekcji "Transform:", zaraz po nagłówku obiektu? Czy zmieniając wartości w niej można dany obiekt obrócić, przesunąć, skalować w danej osi?

Z góry dzięki za odpowiedzi.
Tytuł: Odp: Eksport do T3D w Gmax i rozsypywanie się modelu - w 3DS się da, a w Gmax ?
Wiadomość wysłana przez: libertyn89 w 26 Września 2009, 16:18:59
A tak swoją drogą to czy ktoś doszedł do tego co powoduje to dziwne rozsypywanie? Czy to wina gmax/3ds?
Symulator jest tak skonstruowany, ze w danym modelu pierwszy submodel ma miec Parent: none a pozostale musza byc 'podpiete' pod niego.
 
Czy zmieniając wartości w niej można dany obiekt obrócić, przesunąć, skalować w danej osi?
Dokladnie tak.
Tytuł: Odp: Eksport do T3D w Gmax i rozsypywanie się modelu - w 3DS się da, a w Gmax ?
Wiadomość wysłana przez: PEKAP w 26 Września 2009, 16:58:22
A co do hierarchii to w gmaxie z tego co pamiętam używało się ikonki "Select and Link" czy coś takiego (symbol łańcuszka łączącego dwa kwadraciki na górze w menu) i po wybraniu tej opcji metodą "przeciągnij i upuść" przypisywało się do siebie poszczególne obiekty.
Tytuł: Odp: Eksport do T3D w Gmax i rozsypywanie się modelu - w 3DS się da, a w Gmax ?
Wiadomość wysłana przez: BLE_Maciek w 26 Września 2009, 19:41:04
Faktycznie, pomogło, modele już się nie rozsypują, dzięki!

Dziwną rzeczą jest jednak że wtedy wszystkie części modelu robią się białe, ratuje je tylko teksturowanie. :-( Parametry ambient, diffuse i specular są ignorowane. No ale najważniejsze że wszystko jest w całości.

Co do "Transform:" to udało mi się odkryć że da się wykonać tylko skalowanie i przesuwanie. Obrotów nie, zresztą zawartość
1.0 0.0 0.0 0.0
0.0 1.0 0.0 0.0
0.0 0.0 1.0 0.0
0.0 0.0 0.0 1.0
jaka jest w zlinkowanych do głównego obiektach, sugeruje że jest to prawdopodobnie macierz przez którą mnożone są współrzędne verteksów.

Udało mi się odkryć co następuje:
- zmiana wartości na przekątnej głównej w pierwszych trzech rzędach skaluje obiekt odpowiednio w danej osi
- zmiana wartości w dolnym rzędzie w pierwszych trzech kolumnach powoduje odpowiednie przesuwanie obiektu
- zmiana wartości w rzędzie 4 kolumnie 4 powoduje skalowanie całego obiektu odwrotnie proporcjonalnie - mniejsza wartość to większy obiekt
- zmiana w dowolnym innym miejscu deformuje obiekt zupełnie - jest bezużyteczna
Tytuł: Odp: Eksport do T3D w Gmax i rozsypywanie się modelu - w 3DS się da, a w Gmax ?
Wiadomość wysłana przez: libertyn89 w 26 Września 2009, 19:46:39
Odnosnie wartosci w rzedzie 4 kolumnie 4:
Cytuj
1.0 0.0 0.0 0.0
0.0 1.0 0.0 0.0
0.0 0.0 1.0 0.0
0.0 0.0 0.0 1.0

Niech pogrubiona wartosc to x. Wtedy kazda liczba z tej macierzy jest tak na prawde mnozona przez 1/x.

zmiana w dowolnym innym miejscu deformuje obiekt zupełnie - jest bezużyteczna

Nie, trzeba po prostu wiedziec co gdzie wpisac. Przykladowo w celu obrotu musisz ta macierz przemnozyc (ja robie to w Excelu) przez macierz obrotu i wpisac otrzymana macierz w miejsce starej. Mozesz takze laczyc rozne operacje. Na przyklad najpierw mozesz obrocic obiekt o 90* wokol osi OX, a potem przeskalowac go 2-krotnie wzdluz osi OZ. W tym celu musisz wymnozyc ta macierz:
Cytuj
1.0 0.0 0.0 0.0
0.0 1.0 0.0 0.0
0.0 0.0 1.0 0.0
0.0 0.0 0.0 1.0
przez macierz obrotu. Otrzymana macierz pomnoz przez macierz skalowania, a otrzymana tablice wpisz do pliku z modelem.