The ability to paint smooth terrain materials more than one color

As a developer on Roblox, it is currently impossible to paint a single smooth terrain material multiple colors in one game. In order to change the color of a smooth terrain material, you have to edit it’s color in the Terrain object under Workspace.
Unfortunately, this applies the color to all the terrain of that material in the game.

Imagine the possibilities if we could paint certain areas of smooth terrain different colors! For example:

  • What if you want to have a big, blue ocean and a muddy pond in the same game. Right now, it isn’t very easy to achieve this using regular smooth terrain water. However, if this was a feature then all you’d have to do is paint each body of water a different color!
  • You could create multiple levels in a single game that each have different themes to them, and use the same materials in each level, with different colors! What if one level is a nice big open field, with bright green grass, and then you want to have another candy themed level, with bright pink grass?

To sum it up, I believe this feature could benefit many developers! (especially people who make showcases… or even just game levels!)

The solution

I figure that an easy solution to this problem is to add a new terrain tool (or perhaps even add on to the current terrain painting tool) that allows the developer to paint colors onto the terrain.
This tool could function just like the terrain painting tool we have now, which paints the terrain a different material wherever the user chooses.
However, instead of painting the terrain a different material, it paints it the chosen color!

What about the properties for terrain colors under the Terrain object in Workspace?

Not completely sure, but I imagine they could just be removed. If people wanted a quick way to paint all the terrain of a certain material at once, that could likely easily be built into the terrain color painting tool.

63 Likes

As a Roblox developer, it is currently too hard to make varied worlds with the terrain tool.

I have recently noticed that if the player wants to create terrain such as water it must all be the same color throughout A place. This would dramatically improve game experience for both builders and players in being able to experience A variety of textures.

Use Cases:

  • In realistic worlds changing the RGB value can make A distinctive difference in what the player experiences. However, if the same material is to be used it means that this can become impossible.

    This water is blue and shows the player it is safe.

    However this water is green and show the player it is polluted right now we cannot use both of these effects in the same place.
  • Certain materials have different shapes which we may want for separate things such as canyons and mountains :

    Here the Basalt Cobblestone and Snow are examples of separate areas. If the player wants to use the same material but different colors they have to choose A material with A different texture if they want the same shape. This can be seen with Snow and grass and basalt and Cobble Stone.
  • Finally, for effects players would not have to use textures as often such as the sewers in JailBreak.
    Jailbreak - Roblox

    As JailBreak uses Blue water the sewers had to use textures which may be in some case favourable but they function less like A liquid. The same could be said for solid textures having to use parts which can degrade for A realistic smooth style.
    If Roblox is able to address this issue, it would improve my development experience because …
    Including the reasons above this would support experience for all builders in allowing A more complex terrain allowing imagination through use of different shapes ad colors in A more functional way therefore reducing needs for parts and textures overall making my experience and that of the player better.
25 Likes

Custom Terrain

Roblox is still lacking a lot of features when it comes to terrain. One of which is localized properties. I’d like to use this post as reference.

Currently, we can change the colors of materials in the properties of Terrain. That’s great and all, but the issue is that it changes the color globally. What if you need multiple shades of grass? What if you want a snowy version of cobblestone as well as the original?

My suggestion for a solution is to allow the paint tool to also color terrain. It would also be nice to be able to modify these properties before adding terrain as well.

To further add to this, aside from color, it would be incredibly useful if we also had the option to locally change the property of water. For example, what if you want a river that flows into a large body of water such as a lake or river? Rivers are actually moving and might even have a different color, where was lakes are mostly still. While there is a solution for rivers (that being creating a custom river), you can’t really recreate the “wave” effect that terrain water has.

One last thing to add to this is the ability to paint Tall Grass instead of grass terrain simply spawning it. This way, we can still use normal non-leafy grass without using tall grass. Coloring said Tall Grass would be very useful as well.

TL;DR Version:

  • Allow the paint tool to locally change the properties of terrain (example being color)
  • Give the add tool properties for the terrain being added
  • Allow water to have different properties (similar to color, but also for water flow)
  • Separate Tall Grass from regular grass and add it to the paint tool
  • Allow Tall Grass to be colored separately, just like the other terrain in this suggestion

Alternative Solution:

While the above would probably be easiest for the user, it might be easier just to allow devs to create their own custom materials with their own properties (custom textures would also be nice, but that isn’t the focus here).

Instead of having localized properties, you could instead create a custom terrain material with the set properties you want. That way you can simply color the material itself and still have the original. Tall Grass and the color of said Tall Grass should be included in it, as well as water settings, so that those can be separated and customized as well.

I think this solution would be the fastest way to implement this overall suggestion and would probably be the best option in the end anyway as it could still be used via the paint tool.

22 Likes

As a Roblox developer, it is currently too hard to have areas of smooth terrain with the same material while showing different colors.

Let’s say I have a world in which one area of grass is drier than the other.

I want one section of grass to be yellow:
image

And one to be green:
image

Or, let’s say I want one part of the world to have red water:

image

And the other part to be blue:

image

But with today’s terrain capabilities that isn’t possible.

This applies to essentially all materials, but with water and grass in particular.

Since both of these materials have unique properties, it wouldn’t be possible to substitute another material.

And for any other material, the texture simply won’t be the same.

Compare rock:

image

How can I have a rocky texture without using rock itself?

It would act similar to how painting on terrain works today, except instead of painting a material on you’d be painting a color.

If Roblox is able to address this issue, it would improve my development experience because I would be able to create more immersive worlds with more regions with color variants without having to create multiple games.

35 Likes

As a Roblox developer, it is currently too hard to make “biomes”, or multiple custom colors, in the current Roblox terrain.

If Roblox is able to address this issue, it would improve my development experience because I could make terrain with more variations, and even better looking terrain.

Adding a color value on each voxel cell will allow us to create, or script a much better terrain, and “biomes”.
It will open up a door for us, developers, to create more realistic terrain.

Example:

Say you have a nice large “grass field”, and it looks very boring. It has absolutely no variation at all.
So what do you want to do with it? Maybe add some dead grass (less saturated grass) in some areas? Maybe some dry grass? Maybe some wet grass?
That will make your “grass field” look a lot better, just by adding some terrain color to it.

Use cases:

  • Making Biomes
  • Better terrain scripting
  • Painting realistic terrain (So it doesn’t look plain and bad.)
  • In a cave, using unique colors could make for ores, and such.

I’m currently working on a infinite chunk-based terrain generator, and it looks plain and bad, I wish this would be a feature soon enough.

20 Likes

This is very necessary for making large maps.

I can’t use two different grass colours for different regions. The only way to do it would be with a script changing the colour when you enter a different region, which looks weird.

15 Likes

Bump, this is still needed. Roblox, please listen to us.

3 Likes

Bump x2, I would really appreciate this right about now for my open world game

2 Likes

I currently have to write a complex terrain material color loading system for my games to have somewhat diverse terrain. It’d be much better if the terrain colors were embedded into the voxels themselves, instead of only being able to be controlled globally, as it would allow for even more diverse and colorful looking terrain.

1 Like

I made a post about it recently and no change since:

Please respond to it so it goes at the top of engine features and get the attention: Features that needs to be added to the Terrain System