Creating Buttes in Roblox Studio using MaterialVariant and TerrainDetails

Hey Creators!

I wanted to do a quick write up showing how we made the rocky buttes in the Racing Template using some custom textures, the MaterialVariant system, and the Terrain Details feature. Buttes are geological formations with steep flat-topped hills and are commonplace in semi-arid environments. The technique to create buttes can apply to various types of immersive terrain elements, both for playable areas and background fixtures.

If you’d like to start from scratch, follow the Setup instructions below. Otherwise, open the Sample Placefile and skip to the Technique Section below.

Setup Section

To make buttes like those created for the Racing Template, we will need to make a new MaterialVariant that uses the Terrain Details feature. This setup will be done in the Material Manager.

First, we will want to get our custom textures ready, so we can apply them to a new MaterialVariant in the MaterialManager.

Here are the textures:

Racing_Buttes_B General Terrain Details
Description Shale Textures Butte Face Textures
ColorMap rbxassetid://15178076413 rbxassetid://15154564397
NormalMap rbxassetid://15121734759 rbxassetid://15154564928
RoughnessMap rbxassetid://16370709161 rbxassetid://15154564645

Now that we have our textures listed, we can start creating the MaterialVariants in the Material Manager by plugging those rbxassetids into the ColorMap, NormalMap, and RoughnessMap slots. Since these aren’t metallic materials, we’ll leave the MetalnessMap slot empty, and use the default value there.

Creating the Material Variant

  1. In the MaterialManager, create a new MaterialVariant

  2. In the “General” Section:

    • Set the name to: Racing_Buttes_B
    • Set the Base Material to: Ground
  3. Insert the Texture Maps as follows:

    ColorMap rbxassetid://15178076413
    NormalMap rbxassetid://15121734759
    RoughnessMap rbxassetid://16370709161
  4. Set as Override: Enabled

  5. Set Studs Per Tile to: 20

  6. Pattern: Regular

  7. In the “Terrain Details” Section, set the Name to: ButteSides

  8. Insert the Texture Maps as follows:

    ColorMap rbxassetid://15178076413
    NormalMap rbxassetid://15121734759
    RoughnessMap rbxassetid://16370709161
  9. Set Studs Per Tile to: 60

  10. Pattern: Regular

That’s it! This material will now display the Shale textures on the top/bottom of any terrain, and show the Butte textures on the sides.

Technique Section

Now that we’ve either opened up the Sample Placefile, or created this material from scratch in our own scene, let’s use this material to sculpt a Butte!

  1. In the Terrain Editor, select the “Draw” tool, and in the Brush Settings, choose:

    • Brush Mode: Add
    • Brush Shape: Cube
    • Base Size: 5
    • Height: 5
    • Pivot Position: Bot
  2. Then select the “ground” material in Material Settings, which we have overridden with our MaterialVariant “Racing_Buttes_B”

Navigate the 3d viewport to an open area of your placefile and begin stamping down some tall, thin rectangles of “ground” material, to block in the butte shape.

Usually, Buttes have tall, blade-like forms, with towers and column-like shapes buffering throughout. So let’s stamp down a wider base, and build up the form until it is about 20 studs tall. The base should be larger than the top.

  1. Next, let’s switch to the “Smooth” brush and use its default settings to smooth out some of these forms to reduce the harsh rectilinearity of the blocky forms we just created.

Now we want to create the massive shale field at the bottom of the butte. When a butte is formed, they tend to have massive skirts of shale rock at the bottom, from the stone structure crumbling over eons.

  1. To create the shale skirt, lets switch to the “Sculpt” brush
    • Strength: 0.25.
    • Material: Ground

Then, sculpt in the skit form around the base of your new Buttes.

  1. With the same settings on your sculpt brush, go back into the main form of the Butte and sculpt in some more forms to refine the shape of the butte. Remember, the materialVariant we’re using will automatically put the shale on horizontal surfaces, and the vertical surfaces will display butte-rock faces.

Now switch back to the smooth brush and smooth out any areas where the voxel terrain is pinching, or you’d like to see more sloped forms.

  1. As a final step, switch to the “Paint” brush and paint some grass on the tops, or use other MaterialVariants to break up the repeating surface of the buttes, and expand the shale skirt.

And there we have it! Try messing around with different shapes and forms to make some truly MASSIVE Buttes and mesas! Enjoy!

42 Likes

Super cool, i’m thinking about experimenting with terrain alot more since some of the new terrain updates.

3 Likes

nice but the example place is not editable or even playable…

2 Likes

sorry for the inconvenience, try now!

3 Likes

A writeup on how the Modern City template was designed and the ambient soundscape would be nice :wink: The map doesn’t stretch on for that long but the city feels MASSIVE!

2 Likes

This is cool but I really wish we could create new source materials. This limits our workflow a lot.
I’ll stick with Unreal until Roblox makes their tools useful, you are on a good path though!

2 Likes

Love this idea! I’ll talk with the team about it.

1 Like

what is the link to this, to check it out?

Hey thanks for checking it out, and I appreciate the comment here. If you have time to tell me a little more about this, I’d love to hear your thoughts. Part of my role is to improve the platform, so hearing from people like you - with specifics - helps us guide our roadmaps.

2 Likes

“creating buttes”

I read that title soo wrong…

But I appreciate the hard work with your recent posts.

1 Like

I agree with contemplatingmodeler. Thses buttes are a cool application. But there only being 21 material slots for terrain material variants is crazy limited. Unreal lets you make infinite materials and infinite material instances on top of that. People make whole different levels/places just to be able to make water a different colour in Roblox. Im having to think very seriously about whether I can make a mining system and have enough material slots for different types of rock. or I should give up on terrain and stick to parts. I won’t be able to make forest and a mining system at the same time… incredibly limiting. The voxel based terrain could facilitate so much but this material limit sabotages the final step to really creative applications

2 Likes

haha yes, buttes and mesas :slight_smile: I can see how that might be misread!

1 Like

Thanks for taking the time to write this down - this are valid criticisms and I can see how a lot of developers, creators, builders etc. would run into these hard limits.

I can’t speak to the technical justifications for why these hard limits were decided on by our software designers and engineers, but I can say that the studio toolset is under constant and permanent iteration for improvement.

I agree with your angle here - I too would love limitless slots for materials, or even simply MORE slots. Next time I get a chance to chat with the teams responsible for these tools I’ll be sure to (continue to) advocate.

1 Like

There is a Sample File here that you can use to get started. The materials are already set up.

Also, if you want you could just open up the Racing Template in Studio, and the same content exists there.

As someone else stated I also would like to see how the City was designed and also, I’m interested in knowing how to create the Road pieces as seen in the Template. I also agree with another commenter about wanting the ability to create more Source Materials in Studio; Like the Terrain Materials we have to override instead of being able to create our own without overriding them

1 Like

You create your own and just don’t override them, and just select them as a material variant… which you prob know…

But it is always nice to learn more about creating

1 Like

Can’t we just create our own terrain materials instead of overriding them? this seems very limited when it comes to making detailed terrains.

2 Likes

The MaterialVariant system is currently the only way to have custom materials on terrain - but your feedback here is noted and I’ll pass it onward to our rendering and terrain teams.

1 Like

Pardon for bumping this again, but I just thought of having multiple terrain biomes.
Having savanna and grasslands are impossible because you are limited to a single grass material.

1 Like

I agree with this, it would be cool to be able to have custom materials. As it would allow us to have custom dirt, grasses and other materials to suit our games.

1 Like