Postanowiłem trochę poeksperymentować z numerycznym modelem terenu oraz danymi OSM i stworzyłem bardzo ubogi (lecz działający) program, który tworzy:
- Podkłady
- Budynki
- Rzeźbę terenu
W chwili obecnej program pozwala na wygenerowanie terenu tylko do nowej scenerii, na której nie jest jeszcze nic zbudowane. Planuję oczywiście zrobić możliwość generowania budynków itd. do scenerii z już zbudowanym układem torowym. Mimo, że jakość tak wygenerowanych obiektów nie będzie się raczej nadawać do bliskiego otoczenia stacji, to już użycie takich obiektów w pewnej odległości może znacznie przyśpieszyć pracę nad otoczeniem scenerii bez dużej utraty jej jakości.
Przykłady, które pokażę poniżej zawierają jeszcze masę błędów, niedociągnięć itp. ale chcę pokazać jakie możliwości daje taka generacja obiektów już na wczesnym etapie rozwoju programu.
Kilka uwag zanim pokażę przykłady:
- Na razie w ramach testów program generuje tylko budynki, planuję dodać roślinność, zbiorniki wodne itp.
- Baza budynków, których używam przy generowaniu to tylko 5 modeli (jeżeli ktoś chciałby pomóc powiększyć bazę, zapraszam do kontaktu) i nie zrobiłem jeszcze uwzględniania typu budynku (czy to blok, sklep, czy dom) oraz ilości pięter. To wszystko jest w planach. Na razie program dobiera budynki po zajmowanej powierzchni. Także kąt obrotu budynku jest losowy, pracuję nad tym żeby odpowiednio go dobierać.
- Generowanie terenu pochłania bardzo duże ilości terrain pointów, które wliczają się w limit colliderów na scenerii. Obszar 1 km kwadratowego przy dokładności siatki wysokościowej 10m to 10 000 terrain pointów. Nie jest to najlepsze rozwiązanie.
Przykład 1. Kawałek Warszawskiej Pragi Południe, wygenerowane budynki i podkłady. Opcja bez terenu - wszystko jest na płasko.
Fragment, dla którego generowano budynki i podkłady:Wynik generacji w symulatorze: Przykład 2. Fragment Żywca, wygenerowane budynki, podkłady i teren. Widok z perspektywy uruchomionej scenerii.
Generowany fragment:Wynik generacji w symulatorze: Przykład 3. Sama siatka terenu w dokładności 10m