Autor Wątek:  Reakcja obiektu na kąt obrotu.  (Przeczytany 10731 razy)

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

Offline Sm 42 driver

  • Wiadomości: 320
  • Trasopisarz
    • Zobacz profil
  • Otrzymane polubienia: 70
Reakcja obiektu na kąt obrotu.
« dnia: 18 Czerwca 2008, 21:35:37 »
Witam. Dzisiaj przy tworzeniu sceneri pojawił się porblem.

Mam wpis w scenerii:
include;sceneria/las_p.inc;none;1620.0;0.2;66.0;90.0;end
gdzie jak wiemy '90.0' jest kątem obrotu modelu w stopniach.

Następnie zmieniam kąt obrotu na '0.0'
czyli wpis:
include;sceneria/las_p.inc;none;1620.0;0.2;66.0;0.0;end
i odpalam swoją scenerię, ale obiekt, któremu zmieniłem kąt obrotu zostaje w takiej pozycji jak poprzednio. [Nie obrócił się]
Czy jest na to jakaś rada?
Za pomoc z góry dzięki :)
Pzdr

Offline firefoxfan

  • Wiadomości: 244
    • Zobacz profil
  • Otrzymane polubienia: 0
Odp: Reakcja obiektu na kąt obrotu.
« Odpowiedź #1 dnia: 18 Czerwca 2008, 21:42:16 »
Pokaż plik 'las_p.inc', wtedy można coś powiedzieć na ten temat.
(pewnie nie ma przypisanego parametru (p5) do rotate - jeśli w ogóle jest w inc)

Offline Sm 42 driver

  • Wiadomości: 320
  • Trasopisarz
    • Zobacz profil
  • Otrzymane polubienia: 70
Odp: Reakcja obiektu na kąt obrotu.
« Odpowiedź #2 dnia: 18 Czerwca 2008, 21:57:28 »
Pokaż plik 'las_p.inc', wtedy można coś powiedzieć na ten temat.
(pewnie nie ma przypisanego parametru (p5) do rotate - jeśli w ogóle jest w inc)
las_p.inc jest zdefiniowany w pliku *.inc ;)
treść:
origin (p2) (p3) (p4)
rotate 0 (p5) 0


include;tree.inc;Plants/#brzoza1.tga;-46.152;0.0;1.25471;0.0;8.15;5.0;end


include;tree.inc;Plants/#brzoza1.tga;-60.2047;0.0;75.0314;0.0;8.15;5.0;end


include;tree.inc;Plants/#brzoza1.tga;-65.6897;0.0;35.8846;0.0;8.15;5.0;end


include;tree.inc;Plants/#brzoza1.tga;-30.5839;0.0;94.0605;0.0;8.15;5.0;end


include;tree.inc;Plants/#buk1.tga;-24.3675;0.0;29.8706;0.0;10.0;5.0;end


include;tree.inc;Plants/#buk1.tga;-44.9447;0.0;26.3574;0.0;10.0;5.0;end


include;tree.inc;Plants/#buk1.tga;-34.4051;0.0;79.055;0.0;10.0;5.0;end


include;tree.inc;Plants/#buk1.tga;-63.5143;0.0;95.6171;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo6.tga;-47.4541;0.0;48.9421;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo6.tga;-29.3863;0.0;68.0136;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo6.tga;-32.3976;0.0;47.4365;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo6.tga;-26.375;0.0;12.3047;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo6.tga;-61.973;0.0;19.833;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo8.tga;-8.80916;0.0;56.9722;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo8.tga;-41.9334;0.0;17.8254;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo8.tga;-27.8807;0.0;2.76897;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo8.tga;-21.8581;0.0;87.587;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo8.tga;-47.9559;0.0;69.0174;0.0;10.0;5.0;end


include;tree.inc;Plants/#Jesion1.tga;-15.3336;0.0;10.7991;0.0;10.0;5.0;end


include;tree.inc;Plants/#Jesion1.tga;-19.8506;0.0;48.4402;0.0;10.0;5.0;end


include;tree.inc;Plants/#Jesion1.tga;-23.3637;0.0;79.055;0.0;10.0;5.0;end


include;tree.inc;Plants/#Jesion1.tga;-49.4616;0.0;97.1228;0.0;10.0;5.0;end


include;tree.inc;Plants/#Sosna2.tga;-20.1513;0.0;23.8767;0.0;10.0;5.0;end


include;tree.inc;Plants/#Sosna3.tga;-8.97244;0.0;4.35811;0.0;10.0;5.0;end


include;tree.inc;Plants/#Sosna4.tga;-9.50478;0.0;26.8933;0.0;10.0;5.0;end


include;tree.inc;Plants/#Sosna5.tga;-11.8115;0.0;42.3307;0.0;10.0;5.0;end


include;tree.inc;Plants/#Sosna5.tga;-71.7617;0.0;2.10959;0.0;10.0;5.0;end


include;tree.inc;Plants/#Sosna5.tga;-58.9859;0.0;7.78773;0.0;10.0;5.0;end


include;tree.inc;Plants/#Sosna6.tga;-18.5405;0.0;64.4252;0.0;10.0;5.0;end


include;tree.inc;Plants/#Sosna6.tga;-10.3781;0.0;94.9452;0.0;10.0;5.0;end


include;tree.inc;Plants/#Sosna7.tga;-12.33;0.0;72.0552;0.0;10.0;5.0;end


include;tree.inc;Plants/#Sosna7.tga;-11.7977;0.0;84.1213;0.0;10.0;5.0;end


include;tree.inc;Plants/#Sosna7.tga;-49.238;0.0;85.3633;0.0;10.0;5.0;end


include;tree.inc;Plants/#Sosna7.tga;-39.3012;0.0;58.3922;0.0;10.0;5.0;end


include;tree.inc;Plants/#Sosna7.tga;-67.6646;0.0;60.8581;0.0;10.0;5.0;end


include;tree.inc;Plants/#Sosna7.tga;-39.4269;0.0;38.9376;0.0;10.0;5.0;end


include;tree.inc;Plants/#Sosna7.tga;-54.9853;0.0;38.4357;0.0;10.0;5.0;end


include;tree.inc;Plants/#Sosna7.tga;-58.7494;0.0;54.7469;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo5.tga;-90.9702;0.0;1.18119;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo5.tga;-94.7343;0.0;9.71318;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo5.tga;-97.2437;0.0;21.0055;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo5.tga;-90.2174;0.0;33.3016;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo5.tga;-100.506;0.0;43.3393;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo5.tga;-91.2211;0.0;48.609;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo5.tga;-82.4382;0.0;56.1373;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo5.tga;-93.2287;0.0;61.9089;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo5.tga;-88.2098;0.0;69.939;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo5.tga;-93.4796;0.0;76.2125;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo5.tga;-89.7155;0.0;85.4974;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo5.tga;-97.2437;0.0;92.2728;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo5.tga;-89.2136;0.0;99.0482;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo5.tga;-84.4457;0.0;96.0369;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo5.tga;-81.9363;0.0;79.7257;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo8.tga;-84.5712;0.0;0.365629;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo8.tga;-87.3315;0.0;6.63915;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo8.tga;-89.7155;0.0;12.7872;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo8.tga;-90.9702;0.0;18.4334;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo8.tga;-92.8522;0.0;27.8437;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo8.tga;-94.7343;0.0;38.6341;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo8.tga;-96.7418;0.0;46.4133;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo8.tga;-86.6745;0.0;52.1173;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo8.tga;-92.0698;0.0;55.3795;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo8.tga;-86.0472;0.0;62.4058;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo8.tga;-93.0735;0.0;67.4247;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo8.tga;-85.9217;0.0;77.2114;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo8.tga;-91.9443;0.0;80.85;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo8.tga;-84.6494;0.0;85.0704;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo8.tga;-93.8764;0.0;89.329;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo8.tga;-86.7787;0.0;91.9906;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo8.tga;-92.723;0.0;96.338;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo8.tga;-88.3143;0.0;27.0675;0.0;10.0;5.0;end


include;tree.inc;Plants/#drzewo8.tga;-88.8162;0.0;43.1277;0.0;10.0;5.0;end


include;tree.inc;Plants/#lipa2.tga;-86.3068;0.0;10.5054;0.0;10.0;5.0;end


include;tree.inc;Plants/#lipa2.tga;-87.2927;0.0;15.4442;0.0;10.0;5.0;end


include;tree.inc;Plants/#lipa2.tga;-91.64;0.0;23.2517;0.0;10.0;5.0;end


include;tree.inc;Plants/#lipa2.tga;-88.2686;0.0;31.2365;0.0;10.0;5.0;end


include;tree.inc;Plants/#lipa2.tga;-90.8416;0.0;36.4711;0.0;10.0;5.0;end


include;tree.inc;Plants/#lipa2.tga;-93.7693;0.0;43.4801;0.0;10.0;5.0;end


include;tree.inc;Plants/#lipa2.tga;-84.0988;0.0;38.7778;0.0;10.0;5.0;end


include;tree.inc;Plants/#lipa2.tga;-84.622;0.0;49.7852;0.0;10.0;5.0;end


include;tree.inc;Plants/#lipa2.tga;-88.888;0.0;59.3209;0.0;10.0;5.0;end


include;tree.inc;Plants/#lipa2.tga;-82.7399;0.0;65.8454;0.0;10.0;5.0;end


include;tree.inc;Plants/#lipa2.tga;-84.7475;0.0;72.2444;0.0;10.0;5.0;end


include;tree.inc;Plants/#lipa2.tga;-87.8842;0.0;87.0499;0.0;10.0;5.0;end


include;tree.inc;Plants/#lipa2.tga;-89.2644;0.0;80.0236;0.0;10.0;5.0;end


include;tree.inc;Plants/#lipa2.tga;-83.2418;0.0;90.6886;0.0;10.0;5.0;end


include;tree.inc;Plants/#lipa2.tga;-85.2494;0.0;102.671;0.0;10.0;5.0;end


include;tree.inc;Plants/#lipa2.tga;-84.1957;0.0;24.3822;0.0;10.0;5.0;end

rotate 0 0 0
endorigin
Pzdr

Offline firefoxfan

  • Wiadomości: 244
    • Zobacz profil
  • Otrzymane polubienia: 0
Odp: Reakcja obiektu na kąt obrotu.
« Odpowiedź #3 dnia: 18 Czerwca 2008, 22:01:50 »
Taka sprawa, że rotate nie działa na .inc (jest nadpisywane przez rotate w include).

Offline AtapiCl

  • Zasłużony dla Symulatora
  • Wiadomości: 4426
    • Zobacz profil
    • O warszawskiej części linii kolejowej nr 7 Warszawa – Lublin i nie tylko ;)
  • Otrzymane polubienia: 212
Odp: Reakcja obiektu na kąt obrotu.
« Odpowiedź #4 dnia: 18 Czerwca 2008, 22:12:25 »
Wywal stąd:

Cytuj
origin (p2) (p3) (p4)
rotate 0 (p5) 0

...

rotate 0 0 0
endorigin

Każdemu obiektowi musisz osobno zmieniać kąt obrotu, jeśli chcesz aby każdy był obrócony inaczej.

Z 'origin' możesz jedynie (po zamienieniu w każdym wpisie parametru obrotu:
Cytuj
include;tree.inc;Plants/#brzoza1.tga;-46.152;0.0;1.25471;0.0;8.15;5.0;end
na (p5):
Cytuj
include;tree.inc;Plants/#brzoza1.tga;-46.152;0.0;1.25471;(p5);8.15;5.0;end
Obrócić wszystkie obiekty dookoła własnej osi, co z resztą mija się z celem.

Offline Sm 42 driver

  • Wiadomości: 320
  • Trasopisarz
    • Zobacz profil
  • Otrzymane polubienia: 70
Odp: Reakcja obiektu na kąt obrotu.
« Odpowiedź #5 dnia: 18 Czerwca 2008, 22:44:58 »
@ZiomalCl: Ja wiem, że można każdemu drzewku przypisać kąt obrotu. Tutaj chodziło o to, żeby robić, ale się nie narobić, czyli zrobić jeden wpis zamiast kilkudziesięciu wpisów drzewek ;) [Oraz o to, żeby cały "kawałek lasu" się obrócił]
Dzięki za rady
Pozrdawiam

PS. Panie moderatorze, proszę jeszcze nie zamykać wątku, mogę mieć jeszcze jakieś pytania. Dziękuję.

Offline Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3925
    • Zobacz profil
  • Otrzymane polubienia: 277
Odp: Reakcja obiektu na kąt obrotu.
« Odpowiedź #6 dnia: 18 Czerwca 2008, 23:10:24 »
Nie do końca zrozumiałem o co chodzi, ale domniemam, iż chcesz ileś tam drzewek przesunąć i obrócić o te same wartości. Co do obrotu pewny nie jestem (powinno to rotate zadziałać również), ale przesunięcie musi zadziałać.
W Testowie cała część scenerii jest przesunięta za pomocą orgin i działa. Ja zrobiłbym na początek tak:
1)zapisał te drzewka w jednym pliku
2)w głównym module scn napisałbym:
origin coś coś coś
include nazwa_pliku_z_drzewkami end
endorigin
3)Sprawdził, czy przesunięcie zadziałało-powinno (bo to działa w Testowie)
4)Wziął się za ten obrót, czyli rotate, wpisałbym:
origin coś coś coś
rotate coś coś coś
include nazwa_pliku_z_drzewkami end
endorigin
5)Sprawdził - też powinno zadziałać, bo niby dlaczego przesunięcie tak, a rotate nie?
6)Jeśli zadziała, to kombinowałbym właśnie z jednym inc, gdzie byłyby parametry określone (przesunięcie i obrót)

Zasady przy takim kombinowaniu: ponieważ nie wiadomo co jest przyczną nie takiego zachowania, jakie oczekiwaliśmy, nie wiemy gdzie leży błąd, to maksymalnie upraszcza się coś i sprawdza się krok po kroku jakie to przyniosło efekty. Zawężamy tym samym krąg podejrzeń.
« Ostatnia zmiana: 18 Czerwca 2008, 23:16:27 wysłana przez Mariusz1970 »

Offline AtapiCl

  • Zasłużony dla Symulatora
  • Wiadomości: 4426
    • Zobacz profil
    • O warszawskiej części linii kolejowej nr 7 Warszawa – Lublin i nie tylko ;)
  • Otrzymane polubienia: 212
Odp: Reakcja obiektu na kąt obrotu.
« Odpowiedź #7 dnia: 18 Czerwca 2008, 23:34:23 »
@ZiomalCl: Ja wiem, że można każdemu drzewku przypisać kąt obrotu. Tutaj chodziło o to, żeby robić, ale się nie narobić, czyli zrobić jeden wpis zamiast kilkudziesięciu wpisów drzewek ;) [Oraz o to, żeby cały "kawałek lasu" się obrócił]

Obróci się - zrób tak jak Mariusz napisał. Tylko mówię, obrócą się wszystkie - każde jedno indywidualnie wokół własnej osi.

Tylko ja nie rozumiem jednego.

Piszesz, że masz kąt 90 i zmieniasz na 0.

Cytuj
Mam wpis w scenerii:
include;sceneria/las_p.inc;none;1620.0;0.2;66.0;90.0;end
gdzie jak wiemy '90.0' jest kątem obrotu modelu w stopniach.

Następnie zmieniam kąt obrotu na '0.0'
czyli wpis:
include;sceneria/las_p.inc;none;1620.0;0.2;66.0;0.0;end

I (jeśli to nie jest wartość wymyślona dla przykładu i naprawdę tak wpisujesz w scenerii) w ten sposób nie zauważysz nawet obrócenia drzewek, bo składają się one z 2 plane'ów każde - i środek mają na połowie każdego z nich i jedno jest obrócone względem drugiego pod kątem 90*. Widok z góry wygląda tak: +

Gdy obrócisz o 90* to też wygląda tak: +

Chyba wiesz o co mi chodzi... Ale podkreślam to co napisałem wyżej - jeśli ten obrót o 90* nie jest dla przykładu, tylko tak robisz w scenerii. (Wiem, czepiam się szczegółów takich, że nie ma 'np.' ;d)

Offline Żabek

  • Wiadomości: 546
  • Gdzie jest guzik rezygnacji?
    • Zobacz profil
  • Otrzymane polubienia: 2
Odp: Reakcja obiektu na kąt obrotu.
« Odpowiedź #8 dnia: 19 Czerwca 2008, 09:10:29 »
Obróci się - zrób tak jak Mariusz napisał. Tylko mówię, obrócą się wszystkie - każde jedno indywidualnie wokół własnej osi.

Dawno tego nie sprawdzałem ale OIDP - mylisz się :) Powinny się obrócić wokół osi wskazywanej przez argumenty origin.
Ja sprawdziłbym wstecz czy wszystkie poprzednie pliki *.inc (włącznie z tree.inc) zawierają wpis: rotate 0 0 0
endorigin
The Frog

Offline Sm 42 driver

  • Wiadomości: 320
  • Trasopisarz
    • Zobacz profil
  • Otrzymane polubienia: 70
Odp: Reakcja obiektu na kąt obrotu.
« Odpowiedź #9 dnia: 19 Czerwca 2008, 10:23:55 »
Witam :) Tu nie chodziło o to, żeby drzewka się obróciły, tylko żeby cały segment drzewek się obrócił.
Czyli:

++++++++++++++++++++
++++++++++++++++++++
++++++++++++++++++++
++++++++++++++++++++
to jest nasz segment drzewek i chcemy go obrócić, żeby wyglądał tak:

++++
++++
++++
++++
++++
++++
++++
++++
++++
Mam nadzieję, że dobrze to pokazałem.
Ps. Mariusz, dzięki za wytłumaczenie, pokombinuję jeszcze z tym :)
Pozdrawiam

Offline youBy

  • Deweloper
  • Wiadomości: 6163
  • Co tam?
    • Zobacz profil
    • Automat Weryfikujący Regulację i Lambdę
  • Otrzymane polubienia: 865
Odp: Reakcja obiektu na kąt obrotu.
« Odpowiedź #10 dnia: 19 Czerwca 2008, 11:21:04 »
Zrób je w t3d, wtedy powinno być więcej FPS i możliwość obrotu.
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 Krzysiek626

  • Zasłużony dla Symulatora
  • Wiadomości: 5925
  • EXIT
    • Zobacz profil
    • Krzysiek626
  • Otrzymane polubienia: 443
Odp: Reakcja obiektu na kąt obrotu.
« Odpowiedź #11 dnia: 19 Czerwca 2008, 12:15:53 »
Zrób je w t3d, wtedy powinno być więcej FPS i możliwość obrotu.
Prawda to, mozna też zapisać do pliku  *.scm, te do tej pory udawało się przesuwać i obracać bez problemu.

Offline AtapiCl

  • Zasłużony dla Symulatora
  • Wiadomości: 4426
    • Zobacz profil
    • O warszawskiej części linii kolejowej nr 7 Warszawa – Lublin i nie tylko ;)
  • Otrzymane polubienia: 212
Odp: Reakcja obiektu na kąt obrotu.
« Odpowiedź #12 dnia: 19 Czerwca 2008, 12:49:39 »
Dawno tego nie sprawdzałem (...)

Ja też ;d

Cytuj
ale OIDP - mylisz się :)

I pewnie dlatego mi się pomyliło. Zdarza się.

Offline Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3925
    • Zobacz profil
  • Otrzymane polubienia: 277
Odp: Reakcja obiektu na kąt obrotu.
« Odpowiedź #13 dnia: 19 Czerwca 2008, 15:59:37 »
Cytuj
Zrób je w t3d, wtedy powinno być więcej FPS

Powiedz mi yB, czy symek liczy współrzędne podczas wczytywania się scenerii, czy na bieżąco?
Innymi słowy, na jakim etapie pracy symulatora, przesunięcia (orgin) o pewne wartości są obliczane (nie bierzemy pod uwagę eventów w moim pytaniu, bo one zmieniają często położenie obiektów w przestrzeni np. szlabany)?
« Ostatnia zmiana: 19 Czerwca 2008, 16:12:03 wysłana przez Mariusz1970 »

Offline youBy

  • Deweloper
  • Wiadomości: 6163
  • Co tam?
    • Zobacz profil
    • Automat Weryfikujący Regulację i Lambdę
  • Otrzymane polubienia: 865
Odp: Reakcja obiektu na kąt obrotu.
« Odpowiedź #14 dnia: 19 Czerwca 2008, 16:45:52 »
Podczas wczytywania scenerii.

Natomiast dla niektórych obiektów trójkąty są zapisywane do listy (np. t3d) i wywoływane przy renderingu, a dla niektórych są tworzone na bieżąco (np. szyny).
« Ostatnia zmiana: 19 Czerwca 2008, 17:16:21 wysłana przez youBy »
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 Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3925
    • Zobacz profil
  • Otrzymane polubienia: 277
Odp: Reakcja obiektu na kąt obrotu.
« Odpowiedź #15 dnia: 19 Czerwca 2008, 16:59:42 »
No bo o co chodzi, mianowicie swego czasu dla całej oryginalnej przesuniętej orginem części Testowa, zmieniałem współrzędne każdego obiektu, aby pozbyć się orginu i FPS ani tyci się nie zmienił.

Offline youBy

  • Deweloper
  • Wiadomości: 6163
  • Co tam?
    • Zobacz profil
    • Automat Weryfikujący Regulację i Lambdę
  • Otrzymane polubienia: 865
Odp: Reakcja obiektu na kąt obrotu.
« Odpowiedź #16 dnia: 19 Czerwca 2008, 17:29:47 »
No niestety, nie ma podstaw do wzrostu ilości FPS w konstruckcji symulatora po tej operacji.
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 Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3925
    • Zobacz profil
  • Otrzymane polubienia: 277
Odp: Reakcja obiektu na kąt obrotu.
« Odpowiedź #17 dnia: 19 Czerwca 2008, 17:32:39 »
A są jeśli chodzi o operację jeśli chodzi o te drzewka?
Jeśli są, to jakie?

Już wiemy,
1)że orgin na drzewkach nie ma wpływu na FPS.
2)
Cytuj
Podczas wczytywania scenerii.

Natomiast dla niektórych obiektów trójkąty są zapisywane do listy (np. t3d) i wywoływane przy renderingu, a dla niektórych są tworzone na bieżąco (np. szyny).

Ja z ww punktów, mam  tezę, iż to:
include;tree.inc;Plants/#brzoza1.tga;-46.152;0.0;1.25471;0.0;8.15;5.0;end


include;tree.inc;Plants/#brzoza1.tga;-60.2047;0.0;75.0314;0.0;8.15;5.0;end
....
i zawartość tree.inc:
//---------------drzewo---------------
//parametry: tekstura, x, y, z, kat, wysokosc, rozpietosc
origin (p2) (p3) (p4)
rotate 0 (p5) 0

node 500 0 none triangle_strip (p1)
0,0,(p7) 0,0,0 1,0 end
0,(p6),(p7) 0,0,0 1,1 end
0,0,-(p7) 0,0,0 0,0 end
0,(p6),-(p7) 0,0,0 0,1 end
0,0,(p7) 0,0,0 1,0 end
0,(p6),(p7) 0,0,0 1,1
endtri

node 600 0 none triangle_strip (p1)
-(p7),0,0 0,0,0 1,0 end
-(p7),(p6),0 0,0,0 1,1 end
(p7),0,0 0,0,0 0,0 end
(p7),(p6),0 0,0,0 0,1 end
-(p7),0,0 0,0,0 1,0 end
-(p7),(p6),0 0,0,0 1,1
endtri

rotate 0 0 0
endorigin


Jeśli to jakoś zamienimy na t3d nie zwiększy nam FPS.
I tu i tu, ilość trójkątów czy tekstur do wyświetlnia się nie zmieni, a współrzędne oblicznane są podczas wczytywania się scenerii (jak domniemam dla drzewek).
« Ostatnia zmiana: 19 Czerwca 2008, 17:55:37 wysłana przez Mariusz1970 »

Offline AtapiCl

  • Zasłużony dla Symulatora
  • Wiadomości: 4426
    • Zobacz profil
    • O warszawskiej części linii kolejowej nr 7 Warszawa – Lublin i nie tylko ;)
  • Otrzymane polubienia: 212
Odp: Reakcja obiektu na kąt obrotu.
« Odpowiedź #18 dnia: 19 Czerwca 2008, 18:01:32 »
FPS może i by wzrósł... Ale nie wiem, nawet nie próbowałem się z tym bawić ze względu na to, że nie dało by się już zmieniać dowolnie wysokości i szerokości każdego drzewa. Musiało by to być stałą liczbą dla wszystkich rodzajów drzew, no chyba że zaczęli byśmy robić każdy rodzaj drzewa jako inny model. Ale też wysokości/szerokości byśmy już nie zmienili dla każdego osobno.

Offline Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3925
    • Zobacz profil
  • Otrzymane polubienia: 277
Odp: Reakcja obiektu na kąt obrotu.
« Odpowiedź #19 dnia: 19 Czerwca 2008, 18:07:16 »
Ja to tak rozumiem, tworzymy las drzewek pod nazwą las.t3d. Dla każdego elementu (drzewa) opisujemy wszystko co trzeba, aby opisać pojedyncze drzewo. Teraz tworzymy inc, który będzie np. nazywał się las.inc, gdzie byłyby parametry jak ten las ulokować w przestrzeni.
Następnie w scm za pomocą instrukcji include + parametry dodajemy ten las. Tak ja zrozumiełem yB.

Nie sądzę, aby to wpłynęło na FPS, ale się nie upieram. Wynik jest mi nie znany, a jedynie mogę się domyślać na podstawie własnych, czy cudzych doświadczen.
« Ostatnia zmiana: 19 Czerwca 2008, 18:10:08 wysłana przez Mariusz1970 »

Offline youBy

  • Deweloper
  • Wiadomości: 6163
  • Co tam?
    • Zobacz profil
    • Automat Weryfikujący Regulację i Lambdę
  • Otrzymane polubienia: 865
Odp: Reakcja obiektu na kąt obrotu.
« Odpowiedź #20 dnia: 19 Czerwca 2008, 18:10:01 »
Czekaj, to masz tezę, że include? Przynajmniej tak żeś to zapisał (za dużo wtrąceń i skrótów myślowych), ale da się zrozumieć :P

Cytuj
I tu i tu, ilość trójkątów czy tekstur do wyświetlnia się nie zmieni, a współrzędne oblicznane są podczas wczytywania się scenerii (jak domniemam dla drzewek).
Zmienia się ilość node - elementów scenerii. Teraz jedno drzewko to 2 takie obiekty, a n drzewek - 2n. Jeżeli zamienimy teraz owe drzewka na model t3d, to uzyskamy 1 obiekt (node ... model). Oznacza to zmniejszenie ilości obliczeń związanych z każdym takim obiektem przy renderingu (np. liczenie odległości). Poza tym, jak wspominałem w poprzednim poście, póki co obiekty node ... triangle_strip i triangle są niejako tworozne od nowa co klatkę, co również nie nalezy do najlepszych rozwiązań.
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 Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3925
    • Zobacz profil
  • Otrzymane polubienia: 277
Odp: Reakcja obiektu na kąt obrotu.
« Odpowiedź #21 dnia: 19 Czerwca 2008, 18:14:08 »
Cytuj
Zmienia się ilość node - elementów scenerii. Teraz jedno drzewko to 2 takie obiekty, a n drzewek - 2n. Jeżeli zamienimy teraz owe drzewka na model t3d, to uzyskamy 1 obiekt (node ... model). Oznacza to zmniejszenie ilości obliczeń związanych z każdym takim obiektem przy renderingu (np. liczenie odległości). Poza tym, jak wspominałem w poprzednim poście, póki co obiekty node ... triangle_strip i triangle są niejako tworozne od nowa co klatkę, co również nie nalezy do najlepszych rozwiązań.

Przepraszam, a t3d, nie wymaga obilczeń?
Samo się to maxdistance, macierze itp. dla każdego trójkąta, obiektu się liczą?
Dobrze rozumiem?
Skoro tak, to modelarze nie ma co się przejmować ilością poly w modelach t3d.


Cytuj
node ... triangle_strip i triangle są niejako tworozne od nowa co klatkę, co również nie nalezy do najlepszych rozwiązań.

To do mnie przemawia i tu widzę uzasadnienie t3d a zwiększenie FPS

PS
Poprzedni twój post był za bardzo ogólny, by wysnuć wniosek jak to się ma z drzewami. A mój post, hmmmm, czy za dużo skrótów myślowych, rzecz dyskusyjna. Ja nie zauważam ani jednego :P
Napisz jaki masz plan yB w związku z tym lasem, aby nie było nieporozumień.

« Ostatnia zmiana: 19 Czerwca 2008, 18:25:40 wysłana przez Mariusz1970 »

Offline youBy

  • Deweloper
  • Wiadomości: 6163
  • Co tam?
    • Zobacz profil
    • Automat Weryfikujący Regulację i Lambdę
  • Otrzymane polubienia: 865
Odp: Reakcja obiektu na kąt obrotu.
« Odpowiedź #22 dnia: 19 Czerwca 2008, 18:24:30 »
Przepraszam, a t3d, nie wymaga obilczeń?
Samo się to maxdistance i te różne trójkąty się liczą?
Dobrze rozumiem?
Skoro tak, to modelarze nie ma co się przejmować ilością poly w modelach t3d.
No nie do końca. Trójkąty też się liczą, ale dużo trójkątów zgrupowanych w jednym modelu i kilku submodelach powinno być liczone szybciej, niż wybieranie ich z kilkudziesięciu/-set grupek.

Cytuj
PS
Poprzedni twój post był za bardzo ogólny, a mój post, hmmmm, czy za dużo skrótów myślowych, rzecz dyskujyjna. Ja nie zauważam ani jednego :P
Cóż, to taki modny zwrot swego czasu był :)

Cytuj
Napisz jaki masz plan yB w związku z tym lasem, aby nie było nieporozumień.
Zrobić ładną teskturkę z połączenia kilku składowych, w 3dsie zrobić drzewka (skrzyżowane plane), zmapować ładnie teksturką (jedną, góra dwoma); zrobić z tego jeden model (najlepiej jak najmniej submodeli) i wyeksportować do t3d. Wtedy można się nim posługiwać jak zwykłym modelem (obracać i przesuwać bez problemów).
Do tego można użyć opcji "light", żeby uzyskać kilka wariacji lasu w jednnym modelu :)
« Ostatnia zmiana: 19 Czerwca 2008, 18:30:54 wysłana przez youBy »
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 Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3925
    • Zobacz profil
  • Otrzymane polubienia: 277
Odp: Reakcja obiektu na kąt obrotu.
« Odpowiedź #23 dnia: 19 Czerwca 2008, 18:28:51 »
Cytuj
No nie do końca. Trójkąty też się liczą, ale dużo trójkątów zgrupowanych w jednym modelu i kilku submodelach powinno być liczone szybciej, niż wybieranie ich z kilkudziesięciu/-set grupek.

Jeśli to jest liczone w trakcie ładowania się scn, to nie ma znaczenia, ale chyba już jest jasne, skoro dla node liczy się co jakiś czas w trakcie symulacji.
To może być ważna uwaga dla trasopisarzy, aby unikali node.

Cytuj
Wtedy można się nim posługiwać jak zwykłym modelem (obracać i przesuwać bez problemów).
Do tego można użyć opcji "light", żeby uzyskać kilka wariacji lasu w jednnym modelu :)

A i tak to trzeba później do include :)
« Ostatnia zmiana: 19 Czerwca 2008, 18:32:47 wysłana przez Mariusz1970 »

Offline youBy

  • Deweloper
  • Wiadomości: 6163
  • Co tam?
    • Zobacz profil
    • Automat Weryfikujący Regulację i Lambdę
  • Otrzymane polubienia: 865
Odp: Reakcja obiektu na kąt obrotu.
« Odpowiedź #24 dnia: 19 Czerwca 2008, 18:33:10 »
Jeśli to jest liczone w trakcie ładowania się scn, to nie ma znaczenia, ale chyba już jest jasne, skoro dla node liczy się co jakiś czas w trakcie symulacji.
Pytałeś o korzystanie z origin - współrzędne wierzchołków ustala się tylko raz wtedy. Natomiast jest jeszcze kwestia przygotowania trójkątów do wyświetlania. Z wypadku modeli t3d jest to robione przy wczytywaniu modelu i zapisywane w pamięci, natomiast w przypadku trójkątów luzem operacja ta dokonuje się co klatkę.

To może być ważna uwaga dla trasopisarzy, aby unikali node.
W pewnym sensie jest to racja, ale z drugiej strony to przejmować się tym mozna tylko przy ekstremalnej optymalizacji.

A i tak to trzeba później do include :)
Głupie pytanie: no i co z tego? :P Poza tym można bez ;]
« Ostatnia zmiana: 19 Czerwca 2008, 18:35:19 wysłana przez youBy »
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 Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3925
    • Zobacz profil
  • Otrzymane polubienia: 277
Odp: Reakcja obiektu na kąt obrotu.
« Odpowiedź #25 dnia: 19 Czerwca 2008, 18:39:56 »
Cytuj
Głupie pytanie: no i co z tego? :P Poza tym można bez ;]

Głupia jest twoje pytanie!
Ja pytania nie zadawałem, tylko stwierdziłem.
Ja wiem, yB, że rozumy wszystkie pozjadałeś :P
A co z tego, nic, poprostu includujemy.

Cytuj
Z wypadku modeli t3d jest to robione przy wczytywaniu modelu i zapisywane w pamięci, natomiast w przypadku trójkątów luzem operacja ta dokonuje się co klatkę.

Ok.
Pewno są odstępstwa od tego np. w przypadku taboru, bo tam jesli byłoby tylko raż, to ilość poly w t3d modelu nie miajłaby znaczenia, a ma. Chociaż tabor jest zapisywany jako node i stąd samo t3d może być niewystraczającym elementem to zwiększenia FPS.

PS
Weź poprawkę yB zjadaczu wszystkich rozumów, iż to Ty grzebiesz w exe, a ja się muszę tylko domyślać pewnych rzeczy...
Jeśli masz zamiar robić mi głupie docinki, to sobie podaruj geniuszu.
« Ostatnia zmiana: 19 Czerwca 2008, 18:52:49 wysłana przez Mariusz1970 »

Offline youBy

  • Deweloper
  • Wiadomości: 6163
  • Co tam?
    • Zobacz profil
    • Automat Weryfikujący Regulację i Lambdę
  • Otrzymane polubienia: 865
Odp: Reakcja obiektu na kąt obrotu.
« Odpowiedź #26 dnia: 19 Czerwca 2008, 18:53:13 »
Ok, ale pewno są odstępstwa, coś mi się nie zgadza w stosunku co do taboru.
Masz na myśli pewnie wszelakie animacje. Otóż są to przekształcenia przestrzeni w której dany submodel (czyli lista trójkątów się znajduje), natomiast nie dotyka to już bezpośrednio trójkatów (znaczy w sumie dotyka, ale nie bawimy się z konkretnymi wierzchołkami).
Cytuj
Pewno są odstępstwa od tego np. w przypadku taboru, bo tam jesli byłoby tylko raż, to ilość poly w t3d modelu nie miajłaby znaczenia, a ma. Chociaż tabor jest zapisywany jako node i stąd samo t3d może być niewystraczającym elementem to zwiększenia FPS.
Cytuj
Pewno są odstępstwa od tego np. w przypadku taboru, bo tam jesli byłoby tylko raż, to ilość poly w t3d modelu nie miajłaby znaczenia, a ma.
Ilość trójkątów ma bardzo duże znaczenie w procesie renderingu, który tutaj nie był brany pod uwagę. Ja ciągle pisałem o procesach przygotowawczych do samego aktu wyświetlenia.



Głupia jest twoje pytanie!
Ja pytania nie zadawałem, tylko stwierdziłem.
Ja wiem, yB, że rozumy wszystkie pozjadałeś :P
A co z tego, nic, poprostu includujemy.
Kontekst mi się rozszerzył troszkę i tyle :)

Tylko nie edytuj co chwilę, proszę, bo się trudniej odpowiada :)
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 Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3925
    • Zobacz profil
  • Otrzymane polubienia: 277
Odp: Reakcja obiektu na kąt obrotu.
« Odpowiedź #27 dnia: 19 Czerwca 2008, 19:06:34 »
Cytuj
Kontekst mi się rozszerzył troszkę i tyle :)

To niech Ci się nie rozszerza :)

Cytuj
Tylko nie edytuj co chwilę, proszę, bo się trudniej odpowiada :)
A bo to co chwilę coś mi nowego w głowie się rodzi, a nie znam czasu odp. i myślę, że zdążę za nim przeczytasz i odpowiesz :)

Cytuj
W pewnym sensie jest to racja, ale z drugiej strony to przejmować się tym mozna tylko przy ekstremalnej optymalizacji.
Chyba nie do końca, o czym świadczy twoja propozycja odnośnie drzewek, a nie uwżam jej za ekstremalną optymalizację.

PS
Coś tam próbuje sobie poskładać to w całość tę dyskusję. Warto może napisać jakiś tutorial jak to się dzieje, iż symek wyświetla. Poznając mechanizm, mamy ułatwioną drogę do optymalizacji.
« Ostatnia zmiana: 19 Czerwca 2008, 19:28:30 wysłana przez Mariusz1970 »

Offline ShaXbee

  • Administrator
  • Wiadomości: 1984
    • Zobacz profil
  • Otrzymane polubienia: 2
Odp: Reakcja obiektu na kąt obrotu.
« Odpowiedź #28 dnia: 19 Czerwca 2008, 21:51:32 »
Mariuszu sprawa jest stosunkowo prosta, dla każdego  node'a symulator musi wykonać przy każdej klatce pewny stały zestaw operacji OpenGL. Jeśli mamy dużo prostych node'ów to narzut tych operacji jest wiekszy niz przy jednym nodzie z duza geometria.

Offline Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3925
    • Zobacz profil
  • Otrzymane polubienia: 277
Odp: Reakcja obiektu na kąt obrotu.
« Odpowiedź #29 dnia: 19 Czerwca 2008, 22:46:03 »
Dzięki Shax.