Terrain & Material Variants

Hello,
I made a system on which you can create planets with lands & oceans. I wanted to know if it was possible to modify some terrain materials (by keeping the default texture) without having to modify the part material? Let me explain:

What I currently have

This is what I currently have with standard terrain:

As you can see, the more I go down, the browner the grass is (because it becomes dirt). That is because terrain has 3 possible faces:

  • Top face,
  • Side face,
  • Bottom face.

On the grass material, the top face will correspond to green grass, and the side/bottom faces will correspond to dirt:

What I want to achieve

I simply want ALL FACES of the terrain to be grass!

This can be done using MaterialVariants & TerrainDetails like displayed below:
Hierarchy in MaterialService
image

Grass property of MaterialService
image

As you can see, I am using a MaterialVariant which also contains TerrainDetails to modify how terrain behaves.

I took grass files from %LocalAppData%\Roblox\Versions\<CurrentVersion>\PlatformContent\pc\textures\grass. I found 3 files there:

  • diffuse.dds,
  • normal.dds,
  • reflection.dds

(There is a “normaldetail.dds” file, however I did not use it)
Here are the 3 files in order

Files



I put the diffuse in the ColorMap channel of the MaterialVariant, the normal in the NormalMap channel, and the reflection in the RoughnessMap (I don’t quite know where to put it, I am not a texturing expert).

This is the result for parts with Grass material:

As you can see, it’s janky.

Now, I wanted to add textures for the TERRAIN grass material, as those are different from PARTS materials. I went into %LocalAppData%\Roblox\Versions\<CurrentVersion>\PlatformContent\pc\terrain but only to find out that diffuses, normals & reflections were made on a grid…:


The diffuse is even pink, which makes it unusable the way I intend to use it. Without having the ability to implement those, here is the grass material on terrain:

It is shiny and not implementable.

Inquiries

Would you be able to help me out with this?
Would I be able to ONLY override terrain materials WITHOUT HAVING TO OVERRIDE part materials?

Thanks for having read,
@Varonex_0

1 Like

You can use Snipping Tool if ur in windows and cut the part from the grid that you want or use window’s build-in photo editor.

I have a software to edit those files, and extracted a material from it (I’m unsure on whether or not it is grass because of the magenta color). There’s still an issue with how shiny textures are, and the fact the diffuse file is magenta makes it worse. I could still edit this in photoshop for sure

Either way, the end result isn’t really great

I decided to color snow in green for now, maybe I’ll find a solution in the future

1 Like

I found useful asset IDs in Materials | Documentation - Roblox Creator Hub !
There’s a whole table containing everything : for both Pre2022 textures & current ones !