Autor Wątek:  [SCN] - Własna sceneria - krok po kroku  (Przeczytany 43301 razy)

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

Offline MaciejM

  • Wiadomości: 4116
    • Zobacz profil
  • Otrzymane polubienia: 1317
[SCN] - Własna sceneria - krok po kroku
« dnia: 27 Lipca 2012, 18:36:31 »
Zapraszam do korzystania z wersji PDF poradnika:




Lektury obowiązkowe:
http://eu07.pl/forum/index.php/topic,6439.0.html
http://eu07.pl/forum/index.php/topic,25594.0.html
Ostatnia aktualizacja: 23.08.2016 r.

Menu:
I - początki i przygotowanie programu 3ds Max
II - podstawowe funkcje
III - wstawianie poszczególnych elementów
IV - tworzenie łuku
V - Eksport scenerii do symulatora
VI - Tworzenie terenu płaskiego
VII - wstawianie budynków i wszystkiego
VIII - Warstwy - uproszczenie przy poruszaniu się po scenerii
IX - Warstwy - uzasadnienie
X - Wstawianie roślinności
XI - Wskaźniki & semafory
XII - wstawianie i edycja torów i rozjazdów
XIII - tworzenie łuku
XIV - szybkie wstawianie torów
XV - dokładne ustawianie terenu (Snaps Toogle)
XVI - drogi (roads)
XVII - tworzenie "poduszki" ziemnej na końcu toru
XVIII - jak zrobić ładnie wyglądające wzniesienie
XIX - peron jako "box"
XX - tworzenie "gładkiego" terenu [PLANE]
XXI - zmiana właściwości elementów scenerii z poziomu 3ds'a.
XXII - jak przypisać sygnalizator do toru?
XXIII - Roślinność na równi z terenem
XXIV - Ściana lasu jako Plane


Jako że ten: http://eu07.pl/forum/index.php/topic,6244.0.html poradnik autorstwa kolegi @bohuna uważam jako trochę "przeterminowany" i napisany dość chaotycznie, postaram się tutaj nieco porządniej przekazać te i inne informacje dot. budowy scenerii. Nie zrobię wszystkiego hurtem tylko przez najbliższy czas będę wstawiać tutaj opisy poszczególnych czynności związanych ze scenerią.
I
Od czego zacząć?

Programem umożliwiającym swobodne tworzenie plików scenerii jest przykładowo 3ds Max. Ten poradnik będzie bazował na wersji 10 (3ds Max 10). Kolejną ważną (chyba najważniejszą) rzeczą są SKRYPTY do tego programu umożliwiające edytowanie elementów scenerii.

Skrypty do 3ds Max dostępne są tutaj: http://eu07.pl/userfiles/4220/priv-skrypty.rar.

Po pobraniu tej paczki tworzymy nowy folder o nazwie eu07 w miejscu zainstalowania 3ds Max: Autodesk/3ds Max 2010/Scripts/eu07. Do niego bezpośrednio wsadzamy wszystkie pliki z tej paczki skryptów.

Teraz tworzymy nowy plik *.max. Można mu nadać roboczą nazwę lub po prostu jakąkolwiek, nie ma to żadnego znaczenia:


Otwieramy ten plik, proces uruchamiania 3ds Max może trochę potrwać, z reguły nie dłużej niż minutę (przynajmniej na moim sprzęcie).

Po otwarciu warto zmienić widok obrazu na dwa okna. Klikamy na + (plus) a następnie Configure...


Następnie przechodzimy do zakładki Layout, zaznaczamy 2 pionowe okna. Klikając na jeden z dwóch prostokątów poniżej odwzorowujących podział okien można zmienić ich ustawienie kamery. Ja polecam ustawić 2 widoki: Top (widok z góry) po lewej oraz Perspective po prawej.



Klikamy OK. Aby powiększyć jedno okno na cały ekran należy kliknąć na przycisk na dole po prawej stronie (patrz screen). Aby przywrócić widok, nacisnąć ponownie.


Poruszanie kamery - pobawimy się w widoku TOP. Aby przesunąć kamerę należy wcisnąć kółko w myszce i dopiero wtedy zmieniać (przesuwać) widok. Wiele początkujących miało z tym problem.

No dobra, pobraliśmy i wypakowaliśmy poprawnie skrypty to czas się nimi pobawić. Zanim rozpoczniemy cokolwiek działać, należy ustawić jednostki miary (na metry oczywiście). Wszystko po to aby sceneria wyszła wymiarowa. Z górnego panelu wybieramy Customize > Units setup.


Następnie zaznaczamy tak, jak mamy tutaj (zaznaczamy Metric i wybieramy Meters)


Świetnie, teraz rozpoczynamy z zabawę ze skryptami. Z górnej belki wybieramy zakładkę MAXScritps > Run Scripts


Teraz wybieramy wcześniej utworzony folder eu07 oraz uruchamiamy skrypt main.ms:







II
Obsługa podstawowych funkcji w skryptach

Po uruchomieniu pliku main.ms otworzy się takie oto okienko:



Przeanalizujmy poszczególne elementy:

Trasa (szczegółowe opisy funkcji później)
Mamy tutaj 5 buttonów:
  • tory: ten służy do wstawiania torów (prostych jak i łuków). Można tutaj określić teksturę podsypki, szyny jak i inne elementy.
  • zwrotnice: służy do wstawiania zwrotnic i rozjazdów, można określić tex rozjazdu jak i tex szyn itp.
  • drogi: wstawianie dróg, można wybrać tex drogi i inne elementy
  • rzeka: opis w przygotowaniu
  • nasyp/wykop: służy do prostego tworzenia nasypów i wykopów

Include/node
  • Include: jedna z ważniejszych funkcji, dzięki niej możemy wstawić wszystko to, czego nie możemy wstawić czymś innym, czyli wszelkie budynki, wskaźniki, wiaty, elementy ozdobne, WSZYSTKO. Możemy tutaj wybrać plik INC modelu oraz łatwo określić jego nazwę.
  • Semafory: można wstawić dowolny semafor, określić jego nazwę oraz wstawić tabliczkę.
  • Zieleń: kolejna ważna rzecz. Skrypt, który pozwala na proste i szybkie wstawianie roślinności.
  • Model: opis w przygotowaniu
  • Wskaźniki: tym narzędziem również można wstawiać wskaźniki
  • Słupki hektometrowe: proste narzędzie do wstawiania słupków hekto
  • Dźwięki: opis w przygotowaniu

Eksportery
 
To kolejna ważna rzecz. Funkcje zamieszczone tutaj pozwalają na wyeksportowanie tworzonych plików do symulatora.
  • scn/inc Export: eksportowanie (3ds -> symulator)
  • scm Export: eksportowanie (3ds -> symulator)

Inne
  • Delanuay mesh - ważna rzecz, automat dzielący elementy terenu na trójkąty.
  • Scn Importer - też ważna rzecz, import (symulator -> 3ds) plików inc/scm do 3ds'a

Opisałem funkcje najważniejszych elementów. Ich dokładniejsze opisy pojawią się później.





III
Wstawianie poszczególnych elementów

Tory
Uruchamiamy main.ms (MAXScripts > Run Script... > eu07 > main.ms), klikamy na button Tory. Otwiera się okno wstawiania torów.

SCREEN

Nazwa - określa się tutaj nazwę toru. Następnie do wyboru mamy łuk lub prostą. Przy wyborze łuku należy podać takie wartości jak długość toru, promień, kąt oraz kierunek odchylenia. Przy prostej tylko długość. Trochę niżej mamy do wyboru opcje takie jak tex1 i tex2. Tex1 odpowiada za teksturę szyny, tex2 natomiast za teksturę podsypki. Pliki tekstur powinny znajdować się w folderze /textures. Następnie mamy możliwość automatycznego dodania nazwy eventu 0/1/2 przypisanego do tego toru, jednakże prościej jest robić to ręcznie, podczas pisania scenariusza. Podobnie jest z elementem Szybkość. Ten dodaje we wpisie toru fragment Velocity ... .

Aby wstawić tor do scenerii należy po wypełnieniu wszystkich potrzebnych opcji kliknąć button STWÓRZ a następnie kliknąć LPM w odpowiednim miejscu w 3ds-ie (najlepiej w widoku TOP). Aby dodać kolejny taki sam odcinek > Dodaj do poprzedniego.
« Ostatnia zmiana: 14 Października 2017, 00:10:12 wysłana przez macius5991 »
PKP Intercity Zakład Centralny w Warszawie

14 lat z MaSzyną!

Offline MaciejM

  • Wiadomości: 4116
    • Zobacz profil
  • Otrzymane polubienia: 1317
Odp: Własna sceneria - krok po kroku
« Odpowiedź #1 dnia: 13 Sierpnia 2012, 21:41:07 »
IV
Łączenie dwóch różnych styków torów

Konstrukcyjne tworzenie sieci torowiska nie sprawdza się przy łączeniu dwóch niepołączonych sieci. Tutaj pokażę jak dowolnie połączyć dwa tory łukiem. Dajmy na to mamy taką sytuację, że musimy połączyć 2 tory:

SCREEN

Opisywany wcześniej sposób był czasochłonny i niedokładny. W przygotowaniu nowy opis. Dzięki za podpowiedzi @SKP i @hunter :)

Zatem... wchodzimy w button Tory i wybieramy tworzenie "flexa":



A potem:



I gotowe!



V

Eksport scenerii (3ds -> Symulator)

Dobra, gadam tutaj o jakiś tam torach, jednostkach, ja chcę zobaczyć to w symulatorze! Nie ma problemu :) Mamy taki kawałeczek scenerii:


Zaznaczamy wszystkie elementy (możemy zrobić to myszką lub Ctrl+a). Następnie przechodzimy do panelu Eksportery w skrypcie main.ms. Klikamy na scm Export, koniecznie zaznaczamy Export Selected Only i zapisujemy plik scenerii w folderze /scenery.



Konstrukcja pliku *.scn


Plik *.scn to plik który wczytywany jest przez starter przed wczytaniem scenerii. Najlepiej jest zrobić kopię jednego z obecnych plików (np. scenery/td.scn). Zmieniamy jego nazwę na dowolną (np. MojaPierwszaSceneria.scn) i kasujemy zawartość. Na początku wklejamy taką formułkę:

include ścieżka dostępu do zapisanego wcześniej pliku *.scm z eksportu end

Jeżeli przy eksporcie dałeś nazwę sceneria, wpis include w pliku *.scn powinien wyglądać tak:

include sceneria.scm end

Jeżeli przy eksporcie wrzuciłeś plik do folderu /scenery/stefan wpis powinien wyglądać tak:

include stefan/sceneria.scm end

W pliku *.scn musisz podać dokładną ścieżkę dostępu do plików scenerii.



Konstrukcja wpisu trainset

Wpis trainset definiuje pojazdy na scenerii, opisuje ich tor na którym mają się znajdować oraz prędkość początkową. Wpis ten musi być koniecznie w pliku *.scn i koniecznie po komendzie FirstInit. Wygląda on tak:

trainset nazwa_rozkładu nazwa_toru przesunięcie_w_metrach prędkość_początkowa
wpis_taboru
endtrainset


Co do nazwy rozkładu - można wpisać po prostu rozklad.
Analizując ten wpis:
trainset rozklad szlakdwojka 0 60
node -1 0 182_156-0 dynamic PKP\181_V1 182_156-0 182  0 headdriver 3 0 enddynamic
endtrainset
Skoda 181 będzie stała na torze "szlakdwojka", nie zostanie przesunięta i będzie się poruszać z Vpoczątkową 60km/h.

Wpis toru:

node 1000 0 nazwa_toru track normal 50.0 1.435 0.25 25.0 20 0 flat vis
 rail_screw_used1 4 tpd1 0.2 0.5 1.1 | tex. szyny "rail_screw..." oraz tex. podsypki "tpd1"
-177.08 0.2 -462.617  0.0  //point 1 | współrzędne wierzchołków toru
0.0 0.0 0.0  //control vector 1
0.0 0.0 0.0  //control vector 2
-156.527 0.2 -417.037  0.0  //point 2
0
event0 nazwa_eventu
event1 nazwa_eventu  |Tutaj event0/1/2, dotyczy tworzenia scenariuszy
event2 nazwa_eventu
Velocity 40 | prędkość w torze, "widzi" je pociąg sterowany przez komputer, czyli AI

endtrack



Po wpisaniu do pliku tekstowego MojaPierwszaSceneria.scn ścieżki dostępu do eksportowanego wcześniej pliku *.scm należy dać komendę FirstInit i tam dać wszelkie wpisy trainset pojazdów. Następnie zapisać, uruchomić starter i wczytać scenerię! Tak wygląda przykładowo mój plik *.scn modernizowanej właśnie scenerii Moczniki:

//$n Sceneria Moczniki_v2


sky cgskj_altostratus004.t3d endsky
atmo 0 0 0 1000 3000 0.745 0.714 0.655 endatmo
light 1000 3000 -4000 0.627 0.627 0.627 0.941 0.941 0.941 0.42 0.443 0.4 endlight

include moczniki_v2/moczniki_infrastruktura.scm end
include moczniki_v2/moczniki_teren.scm end
include moczniki_v2/moczniki_tory.scm end
include moczniki_v2/moczniki_trakcja.scm end
include moczniki_v2/moczniki_lampy.scm end
include moczniki_v2/moczniki_fabryka.scm end
include moczniki_v2/moczniki_drzewa.scm end
include moczniki_v2/events.inc end



FirstInit
trainset rozklad szlakdwojka 0 60
node -1 0 182_156-0 dynamic PKP\181_V1 182_156-0 182  0 headdriver 3 0 enddynamic
endtrainset


trainset rozklad road1 0 40
node -1 0 a43619 dynamic ROAD\AROSA none AROSA 0 headdriver 0 0 enddynamic
endtrainset

Jak można zauważyć, przed wpisami include warto, aby znalazł się tam wpis ATMO określający niebo i warunki oświetleniowe.

  Dodano: 14 Sierpnia 2012, 14:10:53




VI
Tworzenie terenu
Tworzenie terenu to jedna z najbardziej skomplikowanych i jednocześnie jedna z najważniejszych rzeczy.

Tworzymy kształt naszego terenu. Z górnego panelu wybieramy Create > Shapes > Line. W teraz stawiając punkty wyznaczamy granice terenu. Co ważne! teren musi być zamknięty. Po wyświetleniu się opcji "Close spline" akceptujemy.



Ważny krok! Należy podzielić teren na trójkąty. Uruchamiamy skrypt main.ms, szukamy i klikamy na button Delanuay mesh. Teraz zaznaczamy nasz fragment terenu i klikamy na button Make (wykonaj). Skrypt sam podzieli obiekt na trójkąty.

Po podzieleniu na trójkąty zaznaczamy nasz teren i wciskamy klawisz M. Następnie postępujemy wg. screenów:

http://eu07.pl/userfiles/8463/priv-mps4-3.PNG Zaznaczamy wolną kulkę, otwieramy zakładkę Maps

http://eu07.pl/userfiles/8463/priv-mps4-4.PNG Wybieramy wolną pozycję None oraz wybieramy opcję Bitmap.

http://eu07.pl/userfiles/8463/priv-mps4-5.PNG Idziemy do folderu /textures i wybieramy przykładową teksturę (tutaj grass_new.dds). Nasza kulka przybierze karnację tekstury.

http://eu07.pl/userfiles/8463/priv-mps4-6.PNG Postępujemy wg. tych kroków. Niczego nie należy pominąć.

http://eu07.pl/userfiles/8463/priv-mps4-7.PNG Następnie należy otworzyć z górnego panelu Modifiers > UV Coordinates > UVW Map.

http://eu07.pl/userfiles/8463/priv-mps4-8.PNG Po prawej stronie pokaże się takie okienko. Zaznaczamy planar oraz wpisujemy przykładowo 10 metrów na wysokość i szerokość tekstury.

Aby zobaczyć jak nasza tekstura wygląda, można wcisnąć klawisz F3. Teraz można ewentualnie zmienić wartości szerokości i wysokości tekstury. Ogólnie polecam eksperymentować z tymi opcjami, można uzyskać ciekawe efekty.



Teraz tradycyjnie eksportujemy i możemy zobaczyć nasz teren w symulatorze.

  Dodano: 14 Sierpnia 2012, 22:09:22




VII
Wstawianie budynków i pochodnych
Mamy tory, teren a teraz czas na jakieś budyneczki. Wszelkie pliki *.inc tych elementów znajdują się w folderze /scenery i w podfolderach. Przy otwieraniu tego folderu powinno wyskakiwać jakieś okienko w stylu "Witaj w krainie wiecznego bałaganu" lub "Czwarty krąg piekielny pozdrawia". Bałagan tam jest niewyobrażalny. Trwają prace nad uporządkowaniem tamtejszych terenów, jednakże ilość pracy jaką trzeba włożyć aby to uporządkować jest wielka. Mam nadzieję, że Cię nie zniechęciłem :) Miło też, że dotarłeś aż tutaj.

Także gdy już przekroczysz bramę folderu /scenery i ujrzysz wizualizację rodem z "Komedii" Dantego, dotrzesz do wielkiej bazy wszelkiego rodzaju różnych plików *.scm, *.scn oraz *.inc. Nas interesują właśnie te ostatnie: *.inc. To są pliki, które pozwalają na wstawienie do 3ds'a wszelkiego rodzaju budynków, wskaźników, semaforów... po prostu wszystkiego.

Poniżej przedstawiam skan kartki zrobionej przeze mnie niedawno. Opisałem mniej-więcej zawartość folderów.
http://eu07.pl/userfiles/8463/priv-scenerykartka.jpg


Aby wstawić...
...cokolwiek musimy jak zwykle odpalić skrypt main.ms, przejść do buttona Include. Tam musimy wybrać plik *.inc:



Przykładowo .inc ludzika (w folderze /posers):



Potem możemy zdefiniować jego nazwę. W 3ds-ie będzie to sześcian, można mu nadać nazwę człowiek lub inną go identyfikującą. Przy większej ilości elementów (sześcianików - tzw. helperów) wszystko może się pokiełbasić.



Następnie klikamy "Create" i LPM (lewy przycisk myszy) wstawiamy w pożądane miejsce do scenerii. 



Jak już wspomniałem, widzimy tutaj sześcianik, czyli tzw. helper. Nie ma możliwości zobaczenia tego obiektu na poziomie tworzenia w 3ds-ie. Dopiero po eksporcie można skorygować położenie czy obrót elementów.

Tym sposobem należy wstawiać wszelkie budynki, nastawnie itp. a także wskaźniki i semafory (choć do tych jest też inna, prostsza opcja).

I tak mamy nasz efekt -> ;-)

Życzę powodzenia w odkrywaniu krainy Dantego.


  Dodano: 14 Sierpnia 2012, 22:37:41



VIII
Layery - czyli jak łatwiej poruszać się po budowanej scenerii
W budowie...

  Dodano: 14 Sierpnia 2012, 23:17:15
Jednym z niepisanych standardów wydawania scenerii jest jej podział na różnie warstwy (layery) zawierające poszczególne elementy scenerii takie jak tory, sieć trakcyjną, roślinność, semafory, drogi itp. Jest to po prostu podzielenie scenerii na różne pod-pliki. Każdy rodzaj obiektu należy wyeksportować do osobnego pliku *.scm, a w pliku *.scn dodać odpowiedni wpis include ... end. Podam tutaj moim zdaniem jeden z prostszych sposobów na podział scenerii. Wykorzystamy tutaj kilka możliwości 3ds'a.

Mamy taką sytuację: sceneria z różnymi elementami (tory, rozjazdy, drzewa, teren i inne).



Należy każdy rodzaj wyeksportować do osobnych plików *.scm. Aby tego dokonać, musimy na początek podzielić te obiekty w samym 3ds'ie. W tym celu otwieramy okno Layerów.

 

Następnie klikamy na pierwszy button "Create New Layer...". Dajemy mu nazwę "teren". Teraz trzeba przypisać odpowiednie obiekty do tej warstwy, czyli nasz obiekt terenu. Zaznaczamy go, a potem klikamy PPM na linijkę warstwy "teren" oraz wybieramy "Add Selected Objects":



Teraz tworzymy nową warstwę o nazwie "trees" lub "drzewa". Nie ma to najmniejszego znaczenia, abyś wiedział o co chodzi. Aby "za jednym zamachem" zaznaczyć wszystkie drzewa, wybieramy z górnego panelu Edit > Select By... > Color. Zaznaczone zostaną wszystkie obiekty tego samego koloru jak obiekt zaznaczony jeden raz. Roślinność dodawana przez skrypt Zieleń ma ten sam kolor, co ułatwia sprawę. Zatem klikamy na jedno drzewko i zaznaczają się wszystkie.



Teraz PPM na warstwę "trees" i klikamy "Add Selected Objects". Tak samo postępujemy z ewentualnie zrobioną siecią trakcyjną, torami, semaforami i budynkami.





IX
Jak mi to pomoże?

Opcja ta pozwala ukryć niepotrzebne w danej chwili elementy (np. duża ilość drzew spowalnia pracę programu, można je ukryć). Przy wstawianiu drzew niepotrzebnie widzę siatkę terenu - można ukryć. Jak ukryć?

Trzecia kolumna w oknie warstw nazywa się Hide, z angielskiego "Schowaj". Aby ukryć aktualnie niepotrzebny element należy kliknąć w tej kolumnie na wysokości odpowiedniej linijki. Po pojawieniu się niebieskiej żaróweczki obiekt zostanie ukryty.



Można też łatwo zaznaczyć wszystkie elementy z danej warstwy. Przy eksporcie wystarczy zaznaczyć opcję "Export selected only". W takim przypadku ta i tylko ta warstwa zostanie wyeksportowana do symulatora.

 

Druga kolumna z "ptaszkiem" określa warstwę na której akurat pracujemy. Jeżeli dodajesz roślinność - zaznaczasz warstwę "trees". Jeżeli dodajesz tory/rozjazdy - zaznaczasz warstwę "tory". Masz w ten sposób pewność, że ukryjesz sobie odpowiednie elementy i że nie położysz czegoś kilka razy.

Ten zabieg dzielenia scenerii skraca też nieco pracę. Nie trzeba eksportować całej scenerii tylko przykładowo jej jeden fragment. Przykładowo dodałeś teraz kilka drzew i chcesz zobaczyć jak to wygląda, nie musisz eksportować od nowa całej scenerii, wystarczy że wyeksportujesz tylko element (warstwę) drzew.

Należy pamiętać o wpisach include ... .scm end w pliku *.scn! Aby wszystkie warstwy były "zincludowane" w tym pliku.






X
Proste i szybkie wstawianie roślinności

Podsumujmy... mamy teren, tory, budynki... czas na trochę drzewek. Może na początek coś o samych drzewkach. W najnowszej paczce całościowej w folderze scenery mamy pliki tree.inc oraz grass.inc. Plik tree.inc to 2 skrzyżowane plane'y (w taki sposób: +), natomiast grass.inc to to samo, tylko że w sposób *(gwiazdki). Po wstawieniu takiego pliku *.inc za pomocą buttona Include musielibyśmy ręcznie poprawiać każdą linijkę, aby dopisać mu odpowiednią teksturę drzewa/trawy. Jednakże jest druga możliwość aby szybko wstawiać roślinność. W skrypcie main.ms należy znaleźć button Zieleń.




Skrypt wstawiania zieleni potrzebuje pliku zielen.txt (w folderze ze skryptem). Są tam opisane wszelkie tekstury zieleni w folderze /textures. Można go dowolnie edytować. Ja przedstawiam tutaj zawartość swojego pliku zielen.txt. Zainteresowani mogą podmienić.

http://eu07.pl/userfiles/8463/priv-zielen.txt

Po podmianie należy ponownie uruchomić skrypt main.ms!






XI
Wskaźniki & semafory

Mamy teren, na tym terenie jest tor, obok kilka drzewek i budynków. Na tym torze widzimy stonkę pędzącą ile sił. Kiedy ma się zatrzymać? Kiedy zwolnić? Od tego są wskaźniki i semafory. Do ich wstawienia również jest skrypt, który pozwala na ich szybsze wstawienie.

Pliki *.inc semaforów znajdują się w folderze /scenery (są tam "luzem"). Tutaj jest legenda aby odczytać ich nazwy:

W przypadku plików INC semaforów, tarcz i sygnalizatorów powtarzających, stosuje się ich następujące nazewnictwo:
Pierwsze dwie litery określają rodzaj sygnalizatora (SS – semafor świetlny, SK – semafor kształtowy, PS – sygnalizator powtarzający, MS – tarcza manewrowa świetlna, MK – tarcza manewrowa kształtowa, TS – tarcza ostrzegawcza świetlna, TK – tarcza ostrzegawcza kształtowa) – wyjątkiem są INC semaforów SBL. Następnie podana jest liczba komór (w przypadku sygnalizatorów świetlnych – UWAGA! Pas świetlny też się liczy jako komora) lub liczba ramion (w przypadku semaforów kształtowych). Sygnalizatory świetlne dalej mają w nazwie wyszczególnione kolejne komory (od góry, kolorami): p – pomarańczowe, c – czerwone, z – zielone, b – białe, n – niebieskie. Dalsze oznaczenie -z lub z- oznacza zielony pas świetlny. W przypadku -p lub p- będzie to pas pomarańczowy. Kolejne litery mówią, czy sygnalizator jest na słupie prostym, czy odchylonym (i w która stronę). Litera I oznacza słup prosty, litera Y odchylony, litery YN sygnalizator odchylony stojący z lewej strony toru. Na końcu nazwy inc sygnalizatora mogą znajdować się informacje o wskaźnikach umieszczonych na danym sygnalizatorze (np. W19, W20, W24). W przypadku kilku wskaźników należy umieścić je wg kolejności (np. W20W24).


Można semafory wstawiać za pomocą buttona Include lub szybciej i prościej za pomocą buttona Semafory.
.

Poprawne wstawienie
Po wstawieniu do 3ds'a semafora będzie on w postaci helpera. Aby semafor/tarcza był w odpowiedniej odległości od toru, krawędź helpera musi przylegać do osi toru.



Takie umiejscowienie owocuje takim wyglądem w symulatorze:



Tak też można zmienić nazwę semafora:



« Ostatnia zmiana: 16 Sierpnia 2012, 14:00:05 wysłana przez macius5991 »
PKP Intercity Zakład Centralny w Warszawie

14 lat z MaSzyną!

Offline MaciejM

  • Wiadomości: 4116
    • Zobacz profil
  • Otrzymane polubienia: 1317
Odp: Własna sceneria - krok po kroku
« Odpowiedź #2 dnia: 15 Sierpnia 2012, 19:36:26 »
XII
Wstawianie i edycja torów i rozjazdów

Dotychczas nie opisałem wstawiania torów, jest to dla mnie tak oczywista kwestia, że z rozpędu po prostu to olałem. Ale niech będzie, jedziemy. Zacznijmy od rozjazdów. Klikamy button Zwrotnice w skrypcie main.ms.


Tutaj opisałem mniej-więcej poszczególne elementy:



Jeżeli chcesz zmienić tex rozjazdu, musisz każdorazowo przy wstawianiu zmienić odpowiednie pole w tym oknie. Tekstury znajdują się w folderze /textures. Co do tex1 i tex2 - opisałem to na obrazku (tekstury szyn). Plik *.inc rozjazdu wybiera się sam po wybraniu rozjazdu.

L/P/Y - rozjazd w lewo/prawo/typu Y. Następna cyfra to długość rozjazdu w metrach. Potem jest podany promień rozjazdu.

Wstawianie toru

Aby wstawić tor/łuk wchodzimy w button Tory, tam dajemy pożądane ustawienia:

Nazwa - określa się tutaj nazwę toru. Następnie do wyboru mamy łuk lub prostą. Przy wyborze łuku należy podać takie wartości jak długość toru, promień, kąt oraz kierunek odchylenia. Przy prostej tylko długość. Trochę niżej mamy do wyboru opcje takie jak tex1 i tex2. Tex1 odpowiada za teksturę szyny, tex2 natomiast za teksturę podsypki. Pliki tekstur powinny znajdować się w folderze /textures. Następnie mamy możliwość automatycznego dodania nazwy eventu 0/1/2 przypisanego do tego toru, jednakże prościej jest robić to ręcznie, podczas pisania scenariusza. Podobnie jest z elementem Szybkość. Ten dodaje we wpisie toru fragment Velocity ... .

Aby wstawić tor do scenerii należy po wypełnieniu wszystkich potrzebnych opcji kliknąć button STWÓRZ a następnie kliknąć LPM w odpowiednim miejscu w 3ds-ie (najlepiej w widoku TOP). Aby dodać kolejny taki sam odcinek > Dodaj do poprzedniego.




XIII
Tworzenie ładnego łuku

Wchodzimy w skrypt tworzenia torów, wybieramy opcję "Flex". Przy kładzeniu torów warto włączyć opcję Snaps Toogle, która pozwala na ich dokładniejsze układanie!


Mamy 2 tory które chcemy połączyć łukiem. Wybieramy tworzenie "flexa". Klikamy i przytrzymujemy na pierwszym wierzchołku, a następnie przeciągamy CAŁY CZAS TRZYMAJĄC! do wierzchołka kolejnego toru. Tworzy się w ten sposób łuk.





Tory proste - zmiana pozycji i obrót

Po wstawieniu torów potrzeba je czasem tam obrócić i zmienić ich pozycję. Zaznaczamy tor, z górnego panelu wybieramy opcję obrotu lub zmiany położenia:



Przy przesuwaniu potrzeba czasem przesunąć równo względem jednej z osi (x,y). Można "zablokować" przesuwanie klikając na tę oś. Kliknąć ponownie aby odblokować.


Po zaznaczeniu kwadratu można dowolnie przesuwać obiekt.



Obrót:



TYM SAMYM SPOSOBEM MOŻNA ZMIENIAĆ POŁOŻENIE I OBRACAĆ WSZELKIE OBIEKTY NA SCENERII - SEMAFORY, WSKAŹNIKI, BUDYNKI, ROZJAZDY, DRZEWA itp.




XIV
Szybkie układanie i wstawianie torów

Tutaj: http://www.kontrakt-bhp.com.pl/paul/projektowanie/6_szybkie.html




XV
Dokładne ustawianie terenu

Aby dokładnie ustawiać teren (aby każdy wierzchołek przywarł do drugiego) polecam używać opcji Snaps Toogle. Narzędzie to pomaga dokładnie ustawić punkty.











W taki sposób idealnie połączyliśmy dwa obiekty terenu.

Efekt




XVI
Drogi (roads)

Drogi tworzy i edytuje się tak samo jak tory. Tak samo używa się prostych, łuków i flexów. Należy jednak spełnić te dwa warunki:
1. Szerokość drogi musi być większa lub równa 6 metrów. Inaczej auta nie będą się mijać.
2. Przy przejazdach kolejowych, gdzie nie chcemy używać płyt przejazdowych droga musi być podniesiona o 10 cm (0.1m).



Tekstury drogi znajdują się w folderze /textures.



Dla wysokości toru 0.2m, wysokość drogi to 0.3m (mowa tutaj o położeniu Z).

Efekt:


Tutaj: http://eu07.pl/userfiles/8463/priv-1-mojapierwszasceneria.rar plik *.scn, na którym pracuję przy pisaniu poradnika. Plik .scn proszę wstawić bezpośrednio do katalogu /scenery. Można sobie podpatrzeć i ewentualnie na nim pracować/uczyć się :)


XVII
Jak stworzyć "poduszkę" ziemną na końcu toru?
Poduszka ziemna

Nie wstawia się poduszki jako obiekt przez Include. Trzeba ją wymodelować samemu. Jest to bardzo proste. Z górnego panelu wybieramy Create > Standard Primitives > Plane


...i tworzymy plane w odpowiednim miejscu na scenerii tak, jak byśmy chcieli zaznaczyć kilka elementów. Zmieniamy wartości plane'a na podane na rysunku:



Po tym odpowiednio obracamy i przesuwamy plane na środek osi toru.



Musimy teraz zmienić jego kształt. Klikamy na niego PPM > Convert To... > Editable Mesh. W tej chwili możemy ten plane edytować.



Zaznaczamy opcję "Vertex":



I przesuwamy wierzchołki do takiego kształtu.



Następnie zaznaczamy 4 środkowe wierzchołki. Polecam zaznaczać je kolejno z przytrzymanym klawiszem Ctrl! Z narzędziem zmiany położenia podnosimy je o 40 centymetrów do góry zmieniając wartość Z z dolnej belki.



Następnie odznaczamy opcję "Vertex".



Kształt jest gotowy. Teraz trzeba wybrać teksturę poduszki.



Można zrobić podgląd klawiszem F3. W razie potrzeby można zmienić wygląd tekstury tak samo jak przy tworzeniu terenu: Z górnego panelu Modifiers > UV Coordinates > UVW Map. Mapping zostawiamy na "Planar", aby zmienić wygląd tekstury należy zmienić odpowiednio jednostki Lenght i Width.

Nie trzeba dzielić tego obiektu na trójkąty!




XVIII
Jak zrobić ładnie wyglądające wzniesnienie?

Można tworzyć tego typu wzniesienie odpowiednio edytując teren płaski. Jednakże jest prostsza i znacznie szybsza opcja - skryptowe Nasypy/Wykopy. Na przykładzie wzniesienia toru pokażę w jaki sposób tego używać.

Tworzymy tory w mniej-więcej takiej odległości (1. kratka - 10 metrów). Można w tym przypadku "na oko".



Aby zrobić wzniesienie, jeden tor musi być wyżej niż drugi.



Teraz tworzymy łuk pomiędzy nimi łącząc te tory "flexem". Opis korzystania z "flexa" jest gdzieś powyżej.



Teraz mamy tory na zróżnicowanej wysokości, połączone łukiem. Aby szybko stworzyć nasyp uruchamiamy skrypt main.ms i szukamy buttona Nasyp/Wykop:



Mamy tam kilka pól opisanych jako H1/H2/H3 itd... tutaj opisałem mniej-więcej o co chodzi.

   

Wysokość od toru: tutaj należy zostawić -0,2m. Chodzi o to, że tor jest tworzony na wysokości 0,2m. Aby się zrównał z terenem dookoła, tworzony nasyp musi być obniżony o te 0,2 metra.

Szerokość H1: szerokość płaskiego terenu wokół toru.

Długość segmentu: długość segmentu :) Przy wpisanych 10. metrach, na torze o dł. 100m. zostanie utworzonych 10 segmentów.

Wys. H3: Dodanie NASYP, ujemne WYKOP.

Szerokość H2: szerokość na krańcach wykopu/nasypu. H2 > H1! ! !


Ogólnie polecam eksperymentować z tym.

Aby stworzyć nasyp należy po ustawieniu wszystkich pól kliknąć Create (stwórz) a następnie kliknąć na tor. Utworzy się wtedy odpowiedni nasyp/wykop.



Teksturowanie

Tak samo jak obiekt terenu, zaznaczamy obiekt, klikamy M i tak dalej... . Dokładny opis pojawił się na początku przy rozdziale tworzenia terenu płaskiego. Tak samo tutaj można edytować mapowanie tekstury Modifiers > UV Coordinates > UVW Map. Dokładniejszy opis jest przy terenie płaskim. Należy używać mapowania typu PLANAR!




XIX
Peron jako "box"
Tworzenie peronu jako Box jest bardzo proste. Z górnej belki w 3ds'ie wybieramy Create > Standard primitives > Box:



Tworzymy kształt naszego peronu i nadajemy odpowiednie wymiary:



Następnie klikamy PPM > Convert To > Editable poly:



Zaznaczamy opcję POLYGON, obracamy kamerę pod peron i zaznaczamy dolną, niewidoczną część. Następnie usuwamy ją klikając klawisz DETELE:







Teraz ważny krok. Do jednego obiektu może być przypisana tylko jedna tekstura. Jeżeli chcemy odpowiednio nadać teksturę peronowi i jego bokom musimy oddzielić te dwa obiekty (peron od boku). Klikamy na górną część peronu, klikamy DETACH z prawej rolety. Klikamy następnie OK (można nadać nazwę nowego obiektu). W ten sposób oddzieliliśmy bok od peronu.



Dwa oddzielne obiekty:



Teraz należy im dać teksturę. Klikamy na górną część peronu, klikamy M i wybieramy teksturę. Następnie, aby nadać odpowiednie mapowanie z górnej belki wybieramy Modifiers > UV Coordinates > UVW Map. Górną część peronu mapujemy opcją Planar:



Boki natomiast mapujemy opcją BOX:



Aby odpowiednio zmapować należy zmieniać ustawienia Lenght i Width.

Tutaj widok po zmianie tekstury i eksporcie do symulatora:



XX
Teren jako PLANE

Chwila, chwila... na początku piszę, że teren należy tworzyć opcją Line > Denaluay Mesh > Teksturowanie... a teraz odwalam jakiś "plane". O co chodzi? O to, że człowiek uczy się całe życie :) Wyższość tworzenia terenu "plejnem" nad standardową metodą jest taka, że tworzy się go nieco szybciej (na początku zawsze trzeba poświęcić więcej czasu, później przychodzi z łatwością), jest większa swoboda edycji i wygląda o niebo lepiej. Aha, i nie trzeba dzielić na trójkąty.

Właściwie to dlaczego? Przecież aby symulator mógł wyświetlić jakikolwiek obiekt, musi on być podzielony na trójkąty. Otóż przy tworzeniu terenu opcją Line > ... tworzyliśmy nowy obiekt, którego kształt my nadawaliśmy. Tworząc obiekty z "3ds-owego" przybornika (box, plane etc.) wstawiamy gotowe obiekty, które już z góry są podzielone na trójkąty (mimo tego, że nie widać tego w 3ds'ie). Dlatego też nie ma sensu (ani możliwości) używać skryptu Denaluay Mesh do dzielenia na trójkąty tych obiektów.

Tworzenie
Jeżeli uważnie przeczytałeś, plane należy stworzyć używając 3ds'owego przybornika:



Nadajemy mu pożądany kształt (kształt naszego przyszłego terenu) oraz dzielimy przykładowo 8x8 segmentów.

Następnie PPM > Convert To > Editable Poly



Zaznaczamy opcję Vertex. Teraz przystępujemy do tworzenia górek i dołków. Właśnie tutaj plane wygrywa ze standardowym Line. Możemy dowolnie edytować kształt naszego terenu. Ponadto polecam opcję "Soft Selection" (patrz obrazek).





Teksturowanie tak samo jak przy terenie płaskim. Zaznaczamy obiekt, klikamy M, wybieramy teksturę. Można dodatkowo edytować mapowanie: z górnej belki Modifiers > UV Coordinates > UVM Mapping i z prawej strony okna edytujemy wartości Lenght i Width. Polecam przykładowo 20x20 (m).



EFEKT :)

Metoda ta pozwala również na tworzenie "gładkiego" terenu, pozwala na uniknięcie tworzenia kanciastych górek/dołków. Jest też moim zdaniem nieco szybsza w tworzeniu.
« Ostatnia zmiana: 20 Sierpnia 2012, 22:04:44 wysłana przez macius5991 »
PKP Intercity Zakład Centralny w Warszawie

14 lat z MaSzyną!

Offline MaciejM

  • Wiadomości: 4116
    • Zobacz profil
  • Otrzymane polubienia: 1317
Odp: Własna sceneria - krok po kroku
« Odpowiedź #3 dnia: 24 Grudnia 2012, 23:18:31 »
XXI
Zmiana właściwości elementów scenerii z poziomu 3ds'a.

Aby zmienić poszczególne właściwości elementów scenerii (np. wymienną teksturę budynku czy inny parametr) nie musimy niczego usuwać i stawiać od początku. Od tego jest opcja "Object Properties". Zaznaczamy JEDEN obiekt, klikamy PPM, przechodzimy do opcji "Object Properties", następnie do karty User Defined:

Dla toru:

Type = normal
Radius1 = 0
Roll1 = 0.0
Roll2 = 0.0  przechyłki toru
MaxDist = -1
MinDist = 0
TrackWidth = 1.435 rozstaw szyn
Friction = 0.25 tarcie, wartość 0.25 jest domyślna, aby zmniejszyć wystarczy zastosować 0.13 aby było wesoło podczas jazdy
SoundDist = 25.0
Quality = 20
DamageFlag = 0
Environment = Flat
Visibility = vis
Tex1 = rail_screw_unused1 tekstura szyny
TexLength = 4 opisuje mapowanie (?) podsypki na teksturze
Tex2 = tpd-old4 tekstura podsypki
TexPar1 = 0.2
TexPar2 = 0.5
TexPar3 = 1.1  informacje o kształcie podsypki
Length = 100.0

Dla rozjazdu:

Type = switch
Length = 34.0 Długość rozjazdu 
Roll1 = 0.1 Przechyłka dla toru na wprost 
Roll2 = -0.1 Przechyłka dla toru na bok
Radius1 = 0 Promień toru na wprost (r=0)
Radius2 = 300.0 Promień toru na bok (r=300) 
MaxDist = -1
MinDist = 0
TrackWidth = 1.435 Rozstaw szyn
Friction = 0.24 Tarcie
SoundDist = 15.0
Quality = 20
DamageFlag = 2
Environment = Flat
Visibility = vis
Tex1 = rail_screw_used1 Tekstura SZYNY  toru na wprost
TexLength = 4
Tex2 = rail_screw_used1   tekstura SZYNY toru na bok
TexPar1 = 0.2
TexPar2 = 2.75
TexPar3 = 2.5
ExportString = include;ZwrL34R300.inc;%;%;%;%;%;zwrot34r300pods-old;end

plik *.inc rozjazdu/ tekstura rozjazdu

Jakby coś było niejasne lub niezrozumiałe - postaram się to opisać dokładniej. Piszcie śmiało poprzez PW.

PKP Intercity Zakład Centralny w Warszawie

14 lat z MaSzyną!

Offline MaciejM

  • Wiadomości: 4116
    • Zobacz profil
  • Otrzymane polubienia: 1317
Odp: Własna sceneria - krok po kroku
« Odpowiedź #4 dnia: 04 Czerwca 2013, 18:31:24 »
XXII
JAK PRZYPISAĆ SEMAFOR DO TORU?
Samo postawienie semafora (poprzez wstawienie go jako INCLUDE) obok toru nie sprawi, że pociągi kierowane przez AI (automatycznie, przez symulator) będą na sygnały przez ten semafor wydawane reagować. Należy zatem przypisać do toru komendę:
nazwasemafora_sem_info
Przykładowo - mamy taką sytuację jak na screenie:


Aby jadący skład zaczął reagować na sygnały na semaforze semafor_A, należy do toru PRZED dopisać komendę event1/2 semafor_a_sem_info. Można to zrobić z poziomu 3ds'a:


W taki sam sposób można (a nawet trzeba) zorganizować automatyczne wygaszanie sygnalizatorów:

1. Zaznaczamy tor ZA sygnalizatorem.

2. Vertex selection.

3. W zależności od koloru punktu w Object Properties wpisać należy:

DLA SEMAFORA: Event2 = semafor_a_s1 //Event2 = ... lub Event1 = ... w zależności od punktu z którego wjeżdża skład

DLA TARCZY MANEWROWEJ: Event2 = nazwa_tm1_ms1 //Event2 = ... lub Event1 = ... w zależności od punktu z którego wjeżdża skład

W taki sam sposób można dopisywać do torów różne zdarzenia, nie tylko dotyczące semaforów, ale również innych, dowolnych zdarzeń.
« Ostatnia zmiana: 04 Czerwca 2013, 22:12:09 wysłana przez macius5991 »
PKP Intercity Zakład Centralny w Warszawie

14 lat z MaSzyną!

Offline MaciejM

  • Wiadomości: 4116
    • Zobacz profil
  • Otrzymane polubienia: 1317
Odp: Własna sceneria - krok po kroku
« Odpowiedź #5 dnia: 24 Stycznia 2014, 20:48:32 »
Roślinność na równi z terenem
Aby wstawiać roślinność na równi z trójkątami terenu: http://eu07.pl/userfiles/8463/foto-face.PNG
1. Zaznaczamy opcję SNAPS TOOGLE (magnesik).
2. Klikamy na ikonkę PPM.
3. Zaznaczamy opcję FACE.
4. Ustawiamy roślinność (lub inny dowolny obiekt) na miejscu trójkątów, a wysokość (współrzędna Z) zostanie automatycznie zmieniona.

PKP Intercity Zakład Centralny w Warszawie

14 lat z MaSzyną!

Offline MaciejM

  • Wiadomości: 4116
    • Zobacz profil
  • Otrzymane polubienia: 1317
Odp: Własna sceneria - krok po kroku
« Odpowiedź #6 dnia: 23 Sierpnia 2016, 16:09:53 »
Pionowa ściana lasu jako plane
1. Wybieramy Create -> Standard primitives -> Plane z górnej belki menu.
http://eu07.pl/userfiles/8463/foto-plane_1.PNG   148.38 KB

2. Ustawiamy Plane, w prawym oknie Parameters można ustawić długość, szerokość oraz liczbę segmentów (zalecam ustawiać 1 segment na ok. 100 metrów, chyba że po łuku to więcej).
http://eu07.pl/userfiles/8463/foto-plane_2.PNG   138.55 KB

3. Po ustawieniu należy oteksturować teksturą lasu (w folderze /textures). Należy zaznaczyć Plane, dalej wcisnąć M (otworzy Material editor), wybrać teksturę, następnie wg kroków zaznaczonych na jednym z wcześniejszych screenów: http://eu07.pl/userfiles/8463/priv-mps4-6.PNG

4. Mapowanie: wybrać typ mappingu jako Box, następnie ułożenie tekstury na dł/wys/szer (zazwyczaj odpowiada wysokości lasu, trzeba się pobawić), można obrócić teksturę poprzez zaznaczenie opcji Flip, zazwyczaj w osi V, czasem trzeba ukierunkować teksturę poprzez zaznaczenie odpowiedniego punktu X/Y/Z.
http://eu07.pl/userfiles/8463/foto-plane_3.PNG   479.24 KB

Inny sposób (@Stele): http://eu07.pl/forum/index.php/topic,28113.msg425554.html#msg425554

« Ostatnia zmiana: 23 Sierpnia 2016, 23:48:34 wysłana przez macius5991 »
PKP Intercity Zakład Centralny w Warszawie

14 lat z MaSzyną!