Symulator EU07 (i nie tylko) > Publikacje
Wykolejnice
Paul:
--- Cytat: "Mati_An" ---Na razie wymyśliłem takie coś, wklejam całość zdarzeń żeby było łatwiej:
--- Koniec cytatu ---
Dzięki, działa, ale tu jest jeden problem - lok który przejeżdża mi przez taką "wykolejnicę" ulega raczej zepsuciu a nie wykolejeniu, co trochę śmiesznie wygląda. Tamten patent z DamageFlag był lepszy, tylko dalej nie wiem jak zmieniać zdarzeniami DamageFlag toru (wyskakuje mi to okienko cannot find node Wk1tor_status). O, widzę że z Andrychowa jesteś? Ja z Kęt :-)
Pozdrawiam, Paweł
Mati_An:
Też kombinowałem z tym DamageFlag, ale trzeba by zrobić coś co zmienia definicję w torze z wykolejnicą, a do tego jeszcze nie doszłem (a Scenery.doc przerobiłem z 10 razy).
Pozdrawiam, Mateusz
Można powiedzieć, że Kęty to mój drugi dom (6 lat chodziłem tu do szkoły).
Paul:
Po lekturze Scenery.doc uświadomiłem sobie że źle używałem komendy PutValues - ona wysyła informacje nie do toru tylko do memcell... Więc zmodyfikowałem to tak ale dalej nie działa (podczas odpalenia (p1)to nie zmienia DamageFlag ze 128 (początkowa wartość DamageFlag tego toru po eksporcie z 3ds) na 0):
--- Kod: ---
node -1 0 memcell_(p1)tor memcell (p2) (p3) (p4) DamageFlag 0 1 (p1)tor endmemcell
event (p1)to updatevalues 0.0 memcell_(p1)tor DamageFlag 0 1 endevent
event (p1)tz updatevalues 0.0 memcell_(p1)tor DamageFlag 128 1 endevent
event (p1)z multiple 1 none (p1)_Wz1 (p1)_belka1 (p1)tz endevent
event (p1)o multiple 1 none (p1)_Wz2 (p1)_belka2 (p1)to endevent
--- Koniec kodu ---
Może ktoś bardziej wtajemniczony w obsługę eventów by to wyjaśnił? Bo ja w tym za bardzo obeznany nie jestem. Za co właściwie odpowiada ten drugi parametr po DamageFlag?
Pozdrawiam, Paweł
piotpal:
Nie jestem żadnym ekspertem, ale mam pewien pomysł co do tej wykolejnicy. Nie wiem czy wykonalny.
Chodzi głównie o to, aby w miejscu wykolejnicy dać rozjazd w którym niewidoczny byłby tor na zboczenie jak i wskaźnik zwrotki. Jeżeli wykolejnica byłaby nałożona na tor, rozjazd wskazywałby na zboczenie, które by się kończyło. Po przejechaniu takiej wykolejnicy z rozjazdem, po prostu wyskakiwałby błąd, no i koniec gry. Gdyby natomiast wykolejnica była zdjęta z toru rozjazd ułożony byłby na wprost.
Jeżeli to jest wykonalne to trzeba byłoby albo stworzyć nową wykolejnicę z niewidocznym rozjazdem, bądź sam rozjazd. Co o tym sądzicie?
Qba_S:
Przeglądając ostatnio forum natrafiłem na ten (dosyć dawno już opuszczony) wątek na temat wykolejnic. Z powodu chwilowego nadmiaru wolnego czasu postanowiłem przyjrzeć się bliżej problemowi modyfikowania właściwości DamageFlag torów. Doszedłem do wniosku, że nie jest możliwe edytowanie właściwości torów podczas uruchomienia symulatora (trzeba to zrobić przed, we właściwościach toru). Tory nie są obiektami aktywnymi, więc parametry takie jak DamageFlag, Quality czy Friction mogą być ustawiane tylko i wyłączne w momencie definiowania toru. Jedyną wartością jaką można sterować jest Velocity, ale do niej został stworzony specjalny rodzaj eventu (TrackVel). Tak czy inaczej udało mi się znaleźć ciekawe rozwiązanie problemu z wykolejnicą. Jest to połączenie sposobów zaproponowanych przez kolegów Żabka i piotpala.
Wygląda to mniej więcej tak:
Przed i za wykolejnicą wstawiamy dwie zwrotnice, o długości 3m i parametrze unvis. Jeśli zwrotnica jest skierowana prosto to wykolejnica jest wyłączona i pociąg wjeżdża na wprost, na zwykły, pięciometrowy kawałek toru (także tu warto ustawić unvis, aby był niewidzialny). Jeśli jednak zwrotnica jest skierowana w bok, to pociąg wjeżdża na niewidzialnego flexa (na obrazu zaznaczony na brązowo) z ustawionym DamageFlag na 128, co powoduje jego natychmiastowe wykolejenie. Flex ten łączy odgałęzienia zwrotnic.
Sposób ten umożliwia w każdym momencie cofnięcie wykolejnicy (wystarczy przestawić zwrotnice na wprost). Ponieważ zwrotnice i tory je łączące są niewidzialne należy podłożyć pod to wszystko kawałek zwykłych torów, trochę dłuższych od całego modułu wykolejającego (np. o 10 cm), ale nie połączonych z żadnymi torami(w tym wypadku będzie to prosty kawałek o długości 11,1m). Bardzo ważne jest, aby zwrotnice były niewidzialne oraz nie miały podsypki i latarni (po wygenerowaniu tego w 3ds max'ie należy ręcznie usunąć podsypkę z pliku scenerii).
Teraz wystarczy tylko napisać eventy do sterowania wszystkim (ponieważ nie dołączyliśmy podsypki i latarni zwrotnicami musimy sterować bezpośrednio za pomocą funkcji switch).
Dołączam przykładową scenerię z działającą wykolejnicą:
http://www.sendspace.com/file/ptj3lc
Shift+1 -> wykolejnica zdjęta
Shift+2 -> wykolejnica założona
Nawigacja
[#] Następna strona
Idź do wersji pełnej