-
Notifications
You must be signed in to change notification settings - Fork 31
[Feature Request] Improved color controls and region-specific textures for terrain #155
Description
I'll preface this by saying that I'm not particularly experienced at making parallax configs, so take what I'm saying with a grain of salt. But I've been tinkering with it, and two specific things really bugged about the terrain system: the way it handles color data, and the fact that textures can only be defined by altitude, rather than a certain region on a planet.
1: Terrain Color Diversity
I'll drop a few pictures in here to show what I mean. (I have no idea how github is gonna format them lmao)



Picture 1 is Duna's scaled space version, picture 2 is the stock terrain shader, and picture 3 is parallax's terrain shader (with the default stock config and textures). Immediately you can see a pretty big difference in the colors of those pictures. The first two (scaled space and stock terrain) look almost identical in terms of their colors. But the parallax version is somewhat washed out, with pale colors and much less contrast.
Currently in parallax the primary way to add color to terrain is via influence maps. This seems like a bit of an odd choice to me, and it kind of limits what you can do with the colors. It makes it pretty difficult to create color diversity in the terrain; for example, kerbin's green grassy surface is applied universally across the planet. Most of the time this isn't a problem, but it becomes much more apparent when you go to regions like the desert. Here's some more pictures (first is stock, second is parallax):
You can see the slight green-ness of the desert, and it feels kind of muddy in comparison to the bright yellow sand in stock. It feels like an old lawn that's slowly dying.
In comparison, the stock terrain shader gets all of its color data from the vertex color of the planet, which is why it almost perfectly matches the scaled space version. Stock terrain is just a grayscale texture multiplied by the vertex color.
Basically, I think the parallax terrain should more closely match the behavior of the stock terrain when it comes to color. The primary source of color data would be the vertex color of the planet, and influence maps could be used to add nice levels of detail and variation. When the influence is set to zero, the colors of the terrain should be a near-exact match to the scaled space version and the vertex colors.
2: Regional Terrain Textures
This one is pretty self-explanatory. Parallax only has at maximum 4 texture sets for any planet, 3 of which are defined by altitude, and one of which is the rocky one for steep ledges and mountains. Having the textures all be based on altitude rather than something like a biome or a coverage map limits their functionality. I touched on this already, with how kerbin's deserts look a little lackluster when it's filled with dying grass rather than bright yellow sand.
So I think it would be great to have either custom coverage maps or biome-specific textures. Maybe both, for extra flexibility. Instead of a highlands, lowlands, and midlands texture, you could have a texture for deserts and beaches, one for grasslands and forests, and an icy one for mountain tops and ice caps. (And maybe also have more than 3 textures perchance?)
Anyways, that basically sums up my complaining. Again, take all this with a grain of salt because I'm not good at making parallax configs yet, and I have no idea how difficult this would be to code. thank you for reading my essay lmao

