Tworzenie terenu.

W przyszłosci zostanie zaimplementowany algorytm optymalizacyjny typu ROAM, który na podstawie bitmapy wysokosciowej będzie generował siatkę poligonów o gęstości zależnej od stopnia komplikacji rzeźby terenu oraz odległości od obserwatora. Na razie jednak teren można modelować jedynie za pomocą statycznych płaszczyzn definiowanych np. w 3DStudioMax, dobierając dokładność w zależności od rodzaju terenu i odległości od toru.

Jest to dosyć trudne chyba że użyjemy narzędzia DelanuayMesh zawartego w nowej wersji skryptu, które robi triangulacje bazujac na obiektach typu linie (a więc i tory, drogi).
Wystarczy stworzyć linię zamkniętą, otaczającą cały teren, cos w rodzaju linii horyzontu. Powinna ona biec w odległości około 2km od toru po którym się poruszamy. Następnie tworzymy coś w rodzaju drucianego szkieletu: linie, które wioda wzdluz grzbietów oraz dolin górskich itp., oraz w terenie gorzystym linie pomocnicze wzdłuż toru, tworzące płaskie podtorze. Mury oporowe można też robić w ten sposób (dwie linie jedna nad drugą).

(tutaj czarne to grzbiety górskie, zielono-brazowe to mury oporowe, zielone lub jasnoniebieskie to doliny rzek, pozostale to tory, drogi i rzeki)
Linie tworzy się za pomocą zakładki kreacji Shapes.
Jesli tworzymy linie w oknie TopView, to wszystkie są na poziomie zero, toteż chcąc mieć rzeźbę terenu, musimy zaznaczyć daną linię, przejść do zakładki edycji, wybrać dany węzeł i przesunąć go w górę.

Nastepnie zaznaczamy wszystkie obiekty po czym należy (np. trzymajac shift) odznaczyc tory i zwrotnice na stacjach, aby uniknac niepotrzebnego zageszczenia trojkatow, nie moga tez byc zaznaczone tory ktore biegna na mostach, w tunelach i juz istniejacych nasypach:

Potem uruchamiamy funkcje Delanuay i otrzymujemy siatke trojkatow, ktora nalezy oteksturowac:

Pomocnicze linie nie beda eksportowane do .scn, jedynie trójkąty które powstały za ich pomocą.
Jesli chcemy aby czesc terenu (pola, mury oporowe itp) miala inna teksture to musimy zaznaczyc odpowiednie trojkaty i odlaczyc jako inny obiekt, po czym możemy nałożyć inną teksturę.

Przykład działania powyższych procedur w postaci fikcyjnej linii Zaczynek-Konczyny jest spakowany w pliku w formacie .max: DOWNLOAD

Jesli teren koliduje z torem np. go przykrywa, to zwykle wystarczy w 3dstudio przesunac wezel terenu, nie trzeba na ogol na nowo uruchamiac procedury Delanuay.

Można też podzielić teren na kwadraty, przydatne raczej jeœli jest on płaski. Przykładowo obszar o rozmiarach 1x1km podzielony na kwadraty 100x100m można zrobić tak:
Create->Plane, Segments=10, [+] Keyboard Entry -> Length 100m Width 100m, X,Y,Z po uważaniu, [Create]. Tak utworzony kwadrat należy oteksturować np. teksturą trawy. W tym celu w zakładce Rendering naciskamy na ikonkę Material Editor (z 4ma kulkami) (albo ^M) i definiujemy własności materiału tak jak to jest opisane w dziale http://www.eu07.prv.pl/ed3d/
(oprócz tekstury można także zdefiniować kolor podkładu - dzięki temu ta sama tekstura może mieć różne odcienie jasności lub kolorystyki, w przyszłości również dominanta Specular Color będzie definiować stopień połyskliwości materiału).
Gdy materiał jest już zdefiniowany, możemy przyciskiem Assign Material to Selection nałożyć go na wybrany obiekt.
Teraz trzeba zdefiniować orientację tekstury na obiekcie, przykładowo tekstura trawy odpowiada jakiemuś małemu wycinkowi, toteż powinna być zwielokrotniona pod warunkiem że jest bezszwowa (tzw. kafel):
Modify->Modifier List->UVW Map pozwala na skalowanie tekstury (współrzędna W odnosi się do obiektów które nie są płaskie). Jeśli więc uważamy że nasza tekstura trawy o wymiarach 64x64 piksele pokrywa teren o wymiarach 10x10m, to wystarczy w U Tile i V Tile wpisać 10 i 10 co oznacza dziesięciokrotne powielenie tekstury na długości 100m. Następnie dokonujemy konwersji do Editable Mesh i możemy za pomocą Modify->Selection wybrać poszczególne węzły siatki i podnosić je. Potem można jeszcze raz dokonać operacji UVW Map i dobrać właściwy parametr W Tile (np. jeśli podnieśliśmy o 20m w góre to W=2).

cdn

Z powrotem - na główną stronę

Ostatnia modyfikacja: