Autor Wątek:  [MOD] - Edycja modeli T3D za pomocą Notatnika  (Przeczytany 18173 razy)

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

Offline szogun

  • Wiadomości: 5627
  • Nie matura a chęć szczera zrobi z Ciebie oficera!
    • Zobacz profil
    • szogun Studio
  • Otrzymane polubienia: 552
[MOD] - Edycja modeli T3D za pomocą Notatnika
« dnia: 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
  • Ciemnoniebieski: odpowiada za skalowanie obiektu po poszczególnych osiach (zazwyczaj odpowiednio długość, szerokość, wysokość).
  • Szary: ustawianie obiektów po poszczególnych osiach (dla zaawansowanych)
  • Zielony: odpowiada za ustawianie obiektu względem obiektu nadrzędnego. Tu jest to przesuwanie przód-tył.
  • Fioletowy: jak wyżej z tym że lewo-prawo.
  • Pomarańczowy: jak wyżej tylko że góra-dół.
  • Brązowy: z tego co wiem odpowiada za skalowanie (im mniejsza wartość tym większy obiekt).
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.
« Ostatnia zmiana: 28 Listopada 2016, 01:03:50 wysłana przez macius5991 »
Skoro kot robi MIAU czyli miauczy, to dlaczego pies szczeka a nie hauka?
Informacje o trwających pracach -> facebook.com/szogunstudio

Offline Tolein

  • Wiadomości: 483
  • Kanapowy Toromistrz
    • Zobacz profil
  • Otrzymane polubienia: 1
Odp: Edycja modeli T3D za pomocą Notatnika
« Odpowiedź #1 dnia: 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ć?
« Ostatnia zmiana: 28 Lipca 2012, 12:26:36 wysłana przez Tolein »
"Podejrzewam, że:
1. poświęcają na to niewiele czasu,
2. mają ograniczoną liczbę zwojów mózgowych, przez co są w stanie wykonywać tylko proste i powtarzalne czynności,
3. wydaje im się, że mogą nawet podbić kosmos, ale życie weryfikuje im to negatywnie."

Offline matfre96

  • Zasłużony dla Symulatora
  • Wiadomości: 594
  • m-sta
    • Zobacz profil
  • Otrzymane polubienia: 40
Odp: Edycja modeli T3D za pomocą Notatnika
« Odpowiedź #2 dnia: 28 Lipca 2012, 11:17:33 »
Ambient, Diffuse i Specular powinny być na 3x255.
Autoryzacja: EU07, EP07, EP08, EP09, EU160, ED160, ED161, ED250, SM42, 18D, 6Dh-1, 15D, E6ACTd, E6ACTadb, T448p, 6Dg

Offline Ra

  • Zasłużony dla Symulatora
  • Wiadomości: 6301
  • Ostatni gasi światło...
    • Zobacz profil
    • Instalator+Starter+Edytor
  • Otrzymane polubienia: 330
Odp: Edycja modeli T3D za pomocą Notatnika
« Odpowiedź #3 dnia: 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.
¯\_( ͡° ͜ʖ ͡°)_/¯ Ra

Polecam: kręgarz Wojciech Walczak, projekt masarni

Offline Lelek

  • Zasłużony dla Symulatora
  • Wiadomości: 265
    • Zobacz profil
  • Otrzymane polubienia: 13
Odp: Edycja modeli T3D za pomocą Notatnika
« Odpowiedź #4 dnia: 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?
M.

Offline Stele

  • Zasłużony dla Symulatora
  • Wiadomości: 10133
    • Zobacz profil
  • Otrzymane polubienia: 2609
Odp: Edycja modeli T3D za pomocą Notatnika
« Odpowiedź #5 dnia: 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?
Mój kanał youtube

Offline youBy

  • Deweloper
  • Wiadomości: 6163
  • Co tam?
    • Zobacz profil
    • Automat Weryfikujący Regulację i Lambdę
  • Otrzymane polubienia: 865
Odp: Edycja modeli T3D za pomocą Notatnika
« Odpowiedź #6 dnia: 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.
Xoov
Powyższy post wyraża jedynie opinię autora w chwili publikacji. Autor zastrzega sobie prawo do zmiany poglądów bez podawania przyczyny, jak również informowania o tym.

Offline Lelek

  • Zasłużony dla Symulatora
  • Wiadomości: 265
    • Zobacz profil
  • Otrzymane polubienia: 13
Odp: Edycja modeli T3D za pomocą Notatnika
« Odpowiedź #7 dnia: 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.
M.