Proceduralnie generowana mapa terenu. Mieszaj przejścia między typami terenu


10

Pytanie nie jest najlepszym sformułowaniem, jakie kiedykolwiek przeprasza.

Uczyłem się i tworzyłem prototypy materiałów do generowania tekstur i terenu i natknąłem się na coś, w czym możesz mi pomóc.

Jak to działa: generuję proceduralnie mapę wysokości terenu. Można przewijać bez końca w dowolnym kierunku. (zdjęcie 1) Zaciskam i mieszam kolory w zależności od wartości mapy wysokości (zdjęcie 2)

Działa to bardzo dobrze i działa obecnie bardzo szybko, w końcu jest w tej chwili bardzo uproszczone.

Muszę znaleźć dobry sposób na rozmycie / zniekształcenie między przejściami w terenie. Jak widać obecnie ma bardzo prążkowane linie i nie wygląda tak naturalnie. Biorąc pod uwagę, że to wszystko jest generowane proceduralnie, oczywiście muszę znaleźć algo do mieszania, które można uruchomić w locie. Próbowałem trochę drgać pikseli i po prostu źle to wyglądało. Również to, czego kiedykolwiek używam, musi być możliwe do rozstawienia, aby zachować spójność (choć wątpię, że będzie to problem, ponieważ najprawdopodobniej wszystkie będą działały losowo).

GreyScaleHeightMap ColorHeightMap
Wszelkie informacje będą mile widziane. Jeśli udało mi się pominąć wszelkie potrzebne informacje w pośpiechu, aby to opublikować, daj mi znać.

Odpowiedzi:


14

Kiedy to zrobiłem, ostatecznie stworzyłem prosty plik gradientu (xml lub obraz, nie ma znaczenia), który z góry ustalił kolor używany w określonej odległości między podstawowymi kolorami wysokości (na przykład trawa vs. piasek). W ten sposób istniały między sobą stany. Wspaniałe jest to, że masz pełną kontrolę nad przejściami.

Przypuszczam, że można również napisać coś, co odnalazłoby kolor mieszany na podstawie odległości między kolorem podstawowym w wysokości przez pewnego rodzaju mieszanie, ale nie będąc programistą poza hobby, nie znam jeszcze takich technologii.

Oto niektóre gradienty, których użyłem. Pamiętaj, że możesz dostosować kolory w oparciu o aktualną wysokość:

Bardziej trawiasty / przybrzeżny: wprowadź opis zdjęcia tutaj

Pełne spektrum: wprowadź opis zdjęcia tutaj

A oto jak to wyglądało. Nieźle jak na fraktal przy niskiej szczegółowości ...

wprowadź opis zdjęcia tutaj


To jest doskonałe. Nie wiem, dlaczego nie pomyślałem o użyciu gradientu. Dzięki.
Feltope

Świetny! Cieszę się, że mogłem pomóc: D
Kevin Peno,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.