- Symulator MaSzyna -

Symulator EU07 (i nie tylko) => Pomoc w tworzeniu => Poradniki => Wątek zaczęty przez: szogun w 30 Czerwca 2010, 11:00:15

Tytuł: [MOD] - Edycja modeli T3D za pomocą Notatnika
Wiadomość wysłana przez: szogun w 30 Czerwca 2010, 11:00:15
Witam! Chciałem się podzielić się tym co wiem o edytowaniu modeli w Notatniku. A więc co trzeba wiedzieć na początek? Otwierając plik T3D Notatnikiem widzimy dziesiątki takich "bloków":
//---------------------------------------------------------------------------------
Parent: KabinaA
Type: Mesh
Name: pomocniczy
Anim: false
Ambient: 255.0 255.0 255.0
Diffuse: 255.0 255.0 255.0
Specular: 229.5 229.5 229.5
SelfIllum: false
Wire: false
WireSize: 1.0
Opacity: 100.0
Map: 4E_2]hamulce.dds
MaxDistance: 1000
MinDistance: 0
Transform:
           1.0 0.0 0.0 0.0
           0.0 0.0 1.0 0.0
           0.0 -1.0 0.0 0.0
           1.30401 5.94685 2.48653 1.0
NumVerts: 138
1
0.00931001 -0.0268855 0.0270729 0.813965 0.0982224
0.00931001 -0.00328875 0.0273657 0.813965 0.0982224
0.000135303 -0.0269091 0.0289783 0.738593 0.088218

1
0.000135303 -0.00331235 0.0292711 0.738593 0.088218
0.000135303 -0.0269091 0.0289783 0.738593 0.088218
0.00931001 -0.00328875 0.0273657 0.813965 0.0982224
itd...
To jest akurat fragment kranu pomocniczego. Ale jak się połapać co jest czym?
Parent: KabinaA Tu jest zdefiniowane do którego obiektu ma być przypisany "nasz" obiekt czyli po prostu hierarchia obiektów. Jeżeli zamieniłoby się to na Parent: none bądź zmieniło się część do której obiekt jest przypisany w tym momencie po uruchomieniu symulatora mogłyby się dziać różne dziwne rzeczy np. kran hamulca wiszący sobie swobodnie poza kabiną itp.
Name: pomocniczy Tu jest nazwany nasz obiekt. Nazwy nie powinny się powtarzać. Jeżeli edytujemy jakiś obiekt interaktywny (krany hamulców, nastawniki, lampki, przełączniki) to bez znajomości MMD lepiej nazw tychże obiektów nie zmieniać.
Ambient: 255.0 255.0 255.0
Diffuse: 255.0 255.0 255.0
Specular: 229.5 229.5 229.5

Tu są zdefiniowane między innymi kolory obiektu. Dzięki odpowiedniemu edytowaniu tych parametrów można sprawić że kontrolki mimo iż na teksturze są szare w kabinie mają różne kolory.
SelfIllum: false Tu jest parametr odpowiadający za świecenie obiektu w ciemności. False - nie świeci, zaś true - świeci.
Map: 4E_2]hamulce.dds Nazwa tekstury która jest nałożona na obiekt. Jeżeli np. skopiujemy kran hamulca z 4E do SU46 to należy zmienić również nazwę tekstury, i przenieść ją do katalogu z edytowanym modelem.
MaxDistance: 1000
MinDistance: 0

Maksymalna i minimalna odległość (w metrach) z której obiekt jest widoczny.

Teraz jedna z ważniejszych rzeczy czyli co oznaczają poszczególne liczby?
Cytuj
Transform:
           1.0 0.0 0.0 0.0
           0.0 0.0 1.0 0.0
           0.0 -1.0 0.0 0.0
           1.30401 5.94685 2.48653 1.0
Dalej mamy
Cytuj
NumVerts: 138
1
0.00931001 -0.0268855 0.0270729    0.813965 0.0982224
0.00931001 -0.00328875 0.0273657    0.813965 0.0982224
0.000135303 -0.0269091 0.0289783    0.738593 0.088218
itd...
To są wierzchołki obiektu i mapowanie. Jeżeli usunęlibyśmy ich część to po uruchomieniu symulatora nasz obiekt byłby w strzępach.
(Uwaga! Tutaj dałem tylko malusieńki fragmencik ponieważ wierzchołków może być od kilkudziesięciu do kilku tysięcy!)

Następnym razem postaram się opisać jak z pomocą tej wiedzy zamienić jakieś obiekty w kabinach, bądź zrobić podświetlenie przyrządów.
Tytuł: Odp: Edycja modeli T3D za pomocą Notatnika
Wiadomość wysłana przez: Tolein w 28 Lipca 2012, 02:32:14
To ja może kwestią uzupełnienia zapytam (przepraszam, że odgrzebuję temat sprzed przeszło 2 lat):
NumVerts z trzeciej z opisywanych sekcji, jak się domyślam, po prostu określa liczbę wierzchołków w obiekcie (wierzchołków trójkątów, a nie wierzchołków samej siatki (typowa ściana w kształcie czworokąta będzie się składać z dwóch trójkątów, więc łącznie wierzchołków będzie 6, a nie 4; przykładowo dla sześcianu daje nam to 6 ścian = 12 trójkątów = 36 wierzchołków trójkątów, pomimo, że siatka sześcianu ma zaledwie 8 wierzchołków)).

Natomiast jakoś nie mogę dojść do czego służy magiczna liczba znajdująca się tuż pod NumVerts, w następnej linijce.

Udało mi się jedynie zauważyć taką prawidłowość, że jeśli subobiekt, który scaliliśmy do eksportowanego mesha, był prostopadłościanem, to liczby te przyjmują potęgi liczby 2 o wykładniku rosnącym dla kolejnych ścian (pierwsze dwa trójkąty mają tą liczbę równą 2, kolejne dwa trójkąty równą 4, dalej 8, 16, itd, aż do 64 - 2^6 - 6 ścian - 12 trójkątów). Dla innych brył nie udało mi się dostrzec żadnej prawidłowości.
Czy ktoś jest w stanie wytłumaczyć, co ta liczba konkretnie oznacza?

Inne pytanie mi się nasuwa (być może odpowiedź znalazła się już w innym wątku): skoro Ambient, Diffuse oraz Specular definiują kolor obiektu (domyślam się, że w systemie RGB), a ja nie chciałbym, żeby te wartości zmieniały jakoś kolor tekstury, to jakie wartości powinienem im nadać?
Tytuł: Odp: Edycja modeli T3D za pomocą Notatnika
Wiadomość wysłana przez: matfre96 w 28 Lipca 2012, 11:17:33
Ambient, Diffuse i Specular powinny być na 3x255.
Tytuł: Odp: Edycja modeli T3D za pomocą Notatnika
Wiadomość wysłana przez: Ra w 28 Lipca 2012, 15:01:08
Te dodatkowe liczby przed wierzchołkami są maską wygładzania. Jeśli w jednym punkcie spotykają się wierzchołki wielu trójkątów, to jeśli mają ustawione wspólne bity w masce (w notacji C++: x & y != 0) , to wektor normalny zostanie wyliczony jako średnia, co da efekt zaokrąglenia w tym wierzchołku. Jeśli iloczyn logiczny masek wychodzi 0, to wektor normalny będzie liczony oddzielnie dla każdego trójkąta.

Gdybyś chciał wymodelować kulę, to wszystkie trójkąty wielościanu musiałyby mieć tę samą maskę (dowolną), aby nie tworzyły się załomy. Gdybyś chciał wymodelować sześcian z ostrymi krawędziami, potrzeba co najmniej 3 różne liczby (np. 2, 4, 16); przeciwległe ściany mogą mieć tę samą maskę, ponieważ ich trójkąty się nie stykają. Gdybyś chciał wymodelować bułkę z pojedynczym poprzecznym nacięciem, musiałbyś użyć oddzielnych masek dla każdej strony na wierzchu (np. 1 i 8) oraz ich sumy (tu: 9) dla spodu, aby utworzyły się tam zaokrąglenia światła.
Tytuł: Odp: Edycja modeli T3D za pomocą Notatnika
Wiadomość wysłana przez: Lelek w 31 Sierpnia 2015, 14:20:34
Odgrzewam kotleta :) I'm trying to make new texture for 810 and I have noticed, that wheels are turning bad direction and little bit levitate over rail. Is it possible to correct it by editing T3D file in Notepad?
Tytuł: Odp: Edycja modeli T3D za pomocą Notatnika
Wiadomość wysłana przez: Stele w 31 Sierpnia 2015, 16:14:24
Well, it is. Wheels have pivot in the middle, so turning them by 180 deg around Z in transform matrix will do the trick. As for levitation, moving whole wheel set by pivot point might throw it out of its rotation axis and in this case you would have to multiplay every vertex in it. Maybe I'll just make it for you in 3ds?
Tytuł: Odp: Edycja modeli T3D za pomocą Notatnika
Wiadomość wysłana przez: youBy w 31 Sierpnia 2015, 16:37:18
No, it doesn't. Position of vertices in submodel are written as relative to pivot. It means, that moving pivot (changing last row in transform matrix in t3d file) is also moving axis of rotation and vertices, so animation stays correct.
Tytuł: Odp: Edycja modeli T3D za pomocą Notatnika
Wiadomość wysłana przez: Lelek w 31 Sierpnia 2015, 16:41:15
Thanks for offer of help. There is maybe more things on model, which needs to be corrected for proper look of my texture. When the texture will be ready, I'll put it in tests with those and other known bugs and discus it with betas how to solute it. Than you'll be able to correct all issues on model at once.