Jaki jest najlepszy sposób na wdrożenie funkcji szczegółowej, takiej jak droga, w terenie opartym na mapie wysokości?
Aktualizacja: Na obrazie jest trochę trudny do zauważenia, ale droga schodzi ze szczytu kamieniołomu, aby zrobić swoją bazę.
To, co jest świetne w obrazach, to to, że zwykle osadzają do 4 kanałów (czerwony, zielony, niebieski i alfa). Ponieważ mapa wysokości wymaga tylko jednego wymiaru, możesz po prostu użyć czerwonego kanału do przechowywania informacji o wysokości (nadal masz 256 poziomów dla wysokości), a następnie użyć innych kanałów do innych celów (takich jak użycie zielonego kanału do mapowania dróg , niebieski kanał dla wody / wilgoci) itp ...
W ten sposób możesz mieć pewność, że podczas budowania terenu strefy, w których należy zbudować drogę, będą płaskie, zamiast podążać za gradientem wysokości.
Sposób, w jaki to robię, to oddzielenie mapy wysokości (używam na przykład liczb zmiennoprzecinkowych, na przykład 513 * 513) i splatmapy („tekstury kontrolnej”), które często wymagają większej rozdzielczości (używam 32-bitowych bitm / s, 512x512).
Mapa wysokości tworzy siatkę (teren, trójkąty).
Mapa kontrolna obejmuje cały teren, a każda z jej warstw (RGBA) mówi, ile mówi Kamień, Brud, Droga itp., Które powinieneś zobaczyć Na terenie.
W ten sposób możesz użyć edytora, aby: a) stworzyć teren ib) Namalować teren (za pomocą skały, brudu, drogi itp.)
Zrób szybki przegląd „malowania mapy wysokości”, „mapy wysokości” i innych, aby uzyskać bardziej szczegółowe wyjaśnienia lub pobierz powiedz Unity3D, aby sprawdzić, jak może działać w „rzeczywistości”.
źródło