Autor Wątek:  Dopasowanie pozycji fotela w kabinie  (Przeczytany 9770 razy)

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

Offline janek32

  • Wiadomości: 567
  • EMIT Ghp400M4C
    • Zobacz profil
  • Otrzymane polubienia: 1
Dopasowanie pozycji fotela w kabinie
« dnia: 27 Stycznia 2014, 20:24:50 »
Witam, próbuję ostatnio zrobić kabinę 303e w wersji IC na podstawie EP08 i EP07-10xx @szoguna. Wstawiłem fotel z tego ostatniego i nie znajduje się w tym miejscu co powinien. Jak go cofnąć lekko do tyłu?

Fragment oryginalnego t3d:
//---------------------------------------------------------------------------------
Parent: kabinaa
Type: Mesh
Name: krzeslonanana01
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: 303e_1]elementy_fotel
MaxDistance: 1000
MinDistance: 0
Transform:
           1.0 0.0 0.0 0.0
           0.0 1.0 0.0 0.0
           0.0 0.0 1.0 0.0
           -1.05563 5.98972 2.5255 1.0
NumVerts: 2724

Wstawiony fotel z budynia:
//---------------------------------------------------------------------------------
Parent: kabinaa
Type: Mesh
Name: fotel_pomo
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]elementy_fotel
MaxDistance: 1000
MinDistance: 0
Transform:
           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
NumVerts: 4536

To samo trzeba będzie zrobić z fotelem mechanika.
« Ostatnia zmiana: 27 Stycznia 2014, 20:26:18 wysłana przez janek32 »
-Środa 844012.
-Zgłaszam się.
-Zapytaj energetykę, czy zapłacili rachunki, luzem ciągniemy i jest 2900.

Offline Ra

  • Zasłużony dla Symulatora
  • Wiadomości: 6308
  • Ostatni gasi światło...
    • Zobacz profil
    • Instalator+Starter+Edytor
  • Otrzymane polubienia: 337
Odp: Dopasowanie pozycji fotela w kabinie
« Odpowiedź #1 dnia: 27 Stycznia 2014, 20:27:32 »
Pierwsze 3 liczby w ostatniej linijce Transform: to są współrzędne wstawienia, np. -1.05563 5.98972 2.525. Ich orientacja zależy, do czego dany submodel masz podczepiony w hierarchii.
¯\_( ͡° ͜ʖ ͡°)_/¯ Ra

Polecam: kręgarz Wojciech Walczak, projekt masarni

Offline szogun

  • Wiadomości: 5630
  • Nie matura a chęć szczera zrobi z Ciebie oficera!
    • Zobacz profil
    • szogun Studio
  • Otrzymane polubienia: 562
Odp: Dopasowanie pozycji fotela w kabinie
« Odpowiedź #2 dnia: 27 Stycznia 2014, 20:44:18 »
Lepszy będzie fotel z 303Eb, tylko tekstura do podmiany.
Skoro kot robi MIAU czyli miauczy, to dlaczego pies szczeka a nie hauka?
Informacje o trwających pracach -> facebook.com/szogunstudio

Offline janek32

  • Wiadomości: 567
  • EMIT Ghp400M4C
    • Zobacz profil
  • Otrzymane polubienia: 1
Odp: Dopasowanie pozycji fotela w kabinie
« Odpowiedź #3 dnia: 28 Stycznia 2014, 01:08:18 »
Dzięki za pomoc, zawsze się zastanawiałem, jak się za ten transform zabrać. Ale faktycznie wstawiłem fotele z 303eb, przy okazji dołożyłem też stamtąd sołony przeciwsłoneczne.
Tak to teraz wygląda, gdyby było zainteresowanie, mogę poprawić kilka tekstur pulpitu (na razie robiłem na szybko z DDSów) i wrzucić na testy.
-Środa 844012.
-Zgłaszam się.
-Zapytaj energetykę, czy zapłacili rachunki, luzem ciągniemy i jest 2900.

Offline Sawi

  • Zasłużony dla Symulatora
  • Wiadomości: 9224
  • O.M.D - Electricity, O.M.D - Enola Gay. 01.09.2012
    • Zobacz profil
  • Otrzymane polubienia: 744
Odp: Dopasowanie pozycji fotela w kabinie
« Odpowiedź #4 dnia: 28 Stycznia 2014, 14:27:27 »
Poprawka, to nie fotel z 303eb, tylko jak już ze 104eb.
Życie jest bardzo kruche i w najmniej oczekiwanym momencie tracisz bliskich. Nie widzisz kogoś lata i nagle już tej osoby nie ma :(. Jedynie co tobie zostaje, to wspomnienia http://www.youtube.com/watch?v=Rk_sAHh9s08 "Co mnie nie zabije, to mnie wzmocni".

Offline janek32

  • Wiadomości: 567
  • EMIT Ghp400M4C
    • Zobacz profil
  • Otrzymane polubienia: 1
Odp: Dopasowanie pozycji fotela w kabinie
« Odpowiedź #5 dnia: 28 Stycznia 2014, 14:33:45 »
Poprawka, to nie fotel z 303eb, tylko jak już ze 104eb.
Fotele kopiowałem z t3d kabiny 303eb, zresztą w 104eb OIDP pomocnik ma taki sam fotel jak mechanik.
-Środa 844012.
-Zgłaszam się.
-Zapytaj energetykę, czy zapłacili rachunki, luzem ciągniemy i jest 2900.

Offline Sawi

  • Zasłużony dla Symulatora
  • Wiadomości: 9224
  • O.M.D - Electricity, O.M.D - Enola Gay. 01.09.2012
    • Zobacz profil
  • Otrzymane polubienia: 744
Odp: Dopasowanie pozycji fotela w kabinie
« Odpowiedź #6 dnia: 28 Stycznia 2014, 14:39:34 »
Tak wiem, bo w kabinach 303eb fotel z epoczki wersji z klimą ma tylko mechanik.
Życie jest bardzo kruche i w najmniej oczekiwanym momencie tracisz bliskich. Nie widzisz kogoś lata i nagle już tej osoby nie ma :(. Jedynie co tobie zostaje, to wspomnienia http://www.youtube.com/watch?v=Rk_sAHh9s08 "Co mnie nie zabije, to mnie wzmocni".

Offline janek32

  • Wiadomości: 567
  • EMIT Ghp400M4C
    • Zobacz profil
  • Otrzymane polubienia: 1
Odp: Dopasowanie pozycji fotela w kabinie
« Odpowiedź #7 dnia: 31 Stycznia 2014, 16:51:48 »
Fotele z 303eb i osłony są w tej chwili bezpośrednio pod bananem (czyli_int_42a), żeby nad sobą mieć taki sam transform jak w 303eb. Chciałbym wrzucić je w prawidłowe miejsce, czyli int_42a->int_424->kabinaa (albo b). Co trzeba zmienić w transformie?
Parent: int_42a
Type: Mesh
Name: fotele
Anim: false
Ambient: 180.0 180.0 180.0
Diffuse: 180.0 180.0 180.0
Specular: 229.5 229.5 229.5
SelfIllum: false
Wire: false
WireSize: 1.0
Opacity: 100.0
Map: 303e_b]fotele
MaxDistance: 1000
MinDistance: 0
Transform:
           0.102547 -1.09195 0.0 0.0
           1.09195 0.102547 0.0 0.0
           0.0 0.0 1.09675 0.0
           -0.772034 5.95434 2.33246 1.0
NumVerts: 3732

Przy fotelach z budynia wystarczyło dodać odległości przeciwne do tych z parenta, tutaj to nie skutkuje. Próbowałem na osłonach i zjeżdżały kilkanaście centymetrów w dół.
-Środa 844012.
-Zgłaszam się.
-Zapytaj energetykę, czy zapłacili rachunki, luzem ciągniemy i jest 2900.

Offline Ra

  • Zasłużony dla Symulatora
  • Wiadomości: 6308
  • Ostatni gasi światło...
    • Zobacz profil
    • Instalator+Starter+Edytor
  • Otrzymane polubienia: 337
Odp: Dopasowanie pozycji fotela w kabinie
« Odpowiedź #8 dnia: 31 Stycznia 2014, 17:16:27 »
Tutaj w transformie jest jakiś kosmiczny obrót, normalnie nie powinny występować wartości większe od 1 (jako sinus i cosinus kąta obrotu). Biorąc pod uwagę pozycje "jedynek" (tzn. 1.09195), to ten transform zamienia osie OX i OY, czyli jest to obrót o około 90° w płaszczyźnie poziomej (aczkolwiek płaszczyzny mogą być obracane transformami). Najlepiej podaj/obejrzyj transformy obiektów nadrzędnych. Transform danego submodelu jedynie ustawia ten submodel względem miejsca wstawienia i ewentualnie obraca mu układ współrzędnych, natomiast układ współrzędnych w miejscu wstawienia zdefiniowany jest przez iloczyn transformów obiektów nadrzędnych.
¯\_( ͡° ͜ʖ ͡°)_/¯ Ra

Polecam: kręgarz Wojciech Walczak, projekt masarni

Offline janek32

  • Wiadomości: 567
  • EMIT Ghp400M4C
    • Zobacz profil
  • Otrzymane polubienia: 1
Odp: Dopasowanie pozycji fotela w kabinie
« Odpowiedź #9 dnia: 31 Stycznia 2014, 19:34:08 »
Hierarchia wygląda następująco: int_42a > int_424 > kabinaa/kabinab

int_42a:
Transform:
          1 0 0 0
          0 1 0 0
          0 0 1 0
          0 0 0 1

int_424:
Transform:
          1.0 0.0 0.0 0.0
          0.0 1.0 0.0 0.0
          0.0 0.0 0.94 0.0
          0.0 -0.07 0.145 1.0

kabinaa:
Transform:
           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.0799999 -0.05 1.0

Co ciekawe, zastosowano tu podwójny banan, int_424 też nie zawiera żadnych trójkątów.
-Środa 844012.
-Zgłaszam się.
-Zapytaj energetykę, czy zapłacili rachunki, luzem ciągniemy i jest 2900.

Offline Ra

  • Zasłużony dla Symulatora
  • Wiadomości: 6308
  • Ostatni gasi światło...
    • Zobacz profil
    • Instalator+Starter+Edytor
  • Otrzymane polubienia: 337
Odp: Dopasowanie pozycji fotela w kabinie
« Odpowiedź #10 dnia: 31 Stycznia 2014, 19:43:49 »
W takim razie w int_424 masz skalowanie w osi pionowej (94%), pewnie dlatego w kolejnym jest powiększenie. Żeby zmienić nadrzędny, musisz wymienić nazwę w Parent:. Ale jak tam jest skalowanie, to możesz nie dojść do ładu.
¯\_( ͡° ͜ʖ ͡°)_/¯ Ra

Polecam: kręgarz Wojciech Walczak, projekt masarni

Offline janek32

  • Wiadomości: 567
  • EMIT Ghp400M4C
    • Zobacz profil
  • Otrzymane polubienia: 1
Odp: Dopasowanie pozycji fotela w kabinie
« Odpowiedź #11 dnia: 01 Lutego 2014, 01:04:01 »
Tylko na czym dokładnie polega to skalowanie? Próbowałem przed chwilą wstawić przy osłonach skalowanie 1.06....., tak żeby po wymnożeniu tego przez 0.94 z grubsza wyszło 1 i raczej nie pomogło.
-Środa 844012.
-Zgłaszam się.
-Zapytaj energetykę, czy zapłacili rachunki, luzem ciągniemy i jest 2900.

Offline Ra

  • Zasłużony dla Symulatora
  • Wiadomości: 6308
  • Ostatni gasi światło...
    • Zobacz profil
    • Instalator+Starter+Edytor
  • Otrzymane polubienia: 337
Odp: Dopasowanie pozycji fotela w kabinie
« Odpowiedź #12 dnia: 01 Lutego 2014, 01:43:16 »
Skalowanie polega na tym, że wszystkie współrzędne leżące na skalowanej osi są przemnażane przez jakiś współczynnik. Czyli np. jeśli w modelu będzie koło, to po przeskalowaniu wyjdzie z niego elipsa. Skalowanie jest bardzo niekorzystnym zjawiskiem i powinno być unikane.

Transform:
          1 0 0 0
          0 1 0 0
          0 0 1 0
          0 0 0 1
To jest macierz jednostkowa, która nie wprowadza żadnych zmian do współrzędnych wierzchołków sumodelu, jak również nie ma wpływu na potomne. Można ją zignorować.

Transform:
           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.0799999 -0.05 1.0
To jest macierz definiująca przesunięcie submodelu (i wszystkich jego potomnych) o wektor. Jeśli nadrzędne submodele nie obracają układu współrzędnych, to oś OX będzie skierowana do przodu pojazdu, OY w lewo, a oś OZ do góry. Czyli przesunięcie będzie 8cm w lewo i 5cm w dół.

Transform:
          1.0 0.0 0.0 0.0
          0.0 1.0 0.0 0.0
          0.0 0.0 0.94 0.0
          0.0 -0.07 0.145 1.0
Ta macierz oznacza, że po przesunięciu o 7cm w prawo i 14.5cm w górę, wszystkie dalsze trójkąty będą miały zmniejszoną wysokość do 94%. To znaczy, że jeśli ta jest nadrzędna do poprzedniej, a tam jest przesunięcie -0.05 w transformie, to faktyczne przesunięcie będzie równe -0.047.
¯\_( ͡° ͜ʖ ͡°)_/¯ Ra

Polecam: kręgarz Wojciech Walczak, projekt masarni

Offline muri

  • Wiadomości: 627
    • Zobacz profil
  • Otrzymane polubienia: 5
Odp: Dopasowanie pozycji fotela w kabinie
« Odpowiedź #13 dnia: 02 Lutego 2014, 15:34:40 »
Tutaj masz info: http://pl.wikipedia.org/wiki/Elementarne_macierze_transformacji. Tylko macierze w plikach t3d są transponowane względem tego co masz w wiki (widać po macierze elementarnej - jedynki są na drugiej przekątnej).

Offline janek32

  • Wiadomości: 567
  • EMIT Ghp400M4C
    • Zobacz profil
  • Otrzymane polubienia: 1
Odp: Dopasowanie pozycji fotela w kabinie
« Odpowiedź #14 dnia: 10 Lutego 2014, 20:20:54 »
Ze skalowaniem już doszedłem do ładu, za to mam inne pytanie. Gdzie w transformie są informacje na temat obrotu względem osi X, Y i Z? Z opisu na wiki nie udało mi się wywnioskować, poza tym tam np. translacja o wektor jest podawana w ostatniej kolumnie a nie wierszu.
-Środa 844012.
-Zgłaszam się.
-Zapytaj energetykę, czy zapłacili rachunki, luzem ciągniemy i jest 2900.

Offline Ra

  • Zasłużony dla Symulatora
  • Wiadomości: 6308
  • Ostatni gasi światło...
    • Zobacz profil
    • Instalator+Starter+Edytor
  • Otrzymane polubienia: 337
Odp: Dopasowanie pozycji fotela w kabinie
« Odpowiedź #15 dnia: 10 Lutego 2014, 20:38:26 »
Obroty w macierzach można tłumaczyć w różny sposób, mi się najbardziej podoba koncepcja wektorów jednostkowych. Dla macierzy o postacia d g 0
b e h 0
c f i 0
x y z 1
Wektorami jednostkowymi będą: OX: [a, b, c], OY: [d, e, f], OZ: [g, h, i]. W najprostszym przypadku macierzy jednostkowej, wektory są ustawione tak OX: [1, 0, 0], OY: [0, 1, 0], OZ: [0, 0, 1]. Rozważając np. obrót względem osi OZ, mamy początkowo OX: [1=cos(0°), 0=sin(0°), 0], OY: [0=-sin(0°), 1=cos(0°), 0], a trzecia współrzędna zostaje bez zmian. Chcąc zrobić obrót, wyliczamy wartości sin i cos kąta i wstawiamy je do wektorów jednostkowych w macierzy. Można też sobie wyznaczyć dowolny wektor jako jednostkowy dla którejś z osi submodelu, a pozostałe wyliczyć tak, aby były do niego prostopadłe. Wektory jednostkowe powinny mieć długość 1 (czyli a²+b²+c²=1, d²+e²+f²=1 i g²+h²+i²=1) , inaczej macierz będzie dokonywała również skalowania.
¯\_( ͡° ͜ʖ ͡°)_/¯ Ra

Polecam: kręgarz Wojciech Walczak, projekt masarni

Offline muri

  • Wiadomości: 627
    • Zobacz profil
  • Otrzymane polubienia: 5
Odp: Dopasowanie pozycji fotela w kabinie
« Odpowiedź #16 dnia: 10 Lutego 2014, 21:35:03 »
poza tym tam np. translacja o wektor jest podawana w ostatniej kolumnie a nie wierszu.
No tak, na tym polega transpozycja o której wspominałem:
Tylko macierze w plikach t3d są transponowane względem tego co masz w wiki (widać po macierzy elementarnej - jedynki są na drugiej przekątnej).
Transponowanie macierzy to po prostu "kopnięcie jej o 90 stopni" - i dlatego to co tam masz w wierszu u nas jest w kolumnie.
Gdzie w transformie są informacje na temat obrotu względem osi X, Y i Z? Z opisu na wiki nie udało mi się wywnioskować
Wartości funkcji trygonometrycznych kąta obrotu w danej osi są zawarte na odpowiednich miejscach macierzy. Które gdzie - to masz tutaj: http://pl.wikipedia.org/wiki/Elementarne_macierze_transformacji#Elementarne_macierze_rotacji - tylko pamiętaj o transpozycji! Albo pomęcz @Ra, on to chyba "kuma" najlepiej :)