We are excited to release a new feature for the Terrain tools, Material Search and Replace
To use it :
Go to the Terrain Editor
Click Replace
Pick if you’d like to use a Box for a large region or a Brush for a smaller region For a Box , use the region direct manipulation handles or Map Settings text fields to move and resize the region to the area you’d like to search for and replace materials. For a Brush, pick your Brush settings.
Under Material Settings, choose the source material you will be replacing and pick the desired target material to replace the source with.
If using the Box tool, after you have your desired settings, click Replace. If using the Brush tool, paint on your terrain to swap materials.
Hotkeys :
To set the source material directly from existing terrain, hold down Alt/Option and left-click on the source material.
To set the target material directly, hold down Alt/Option + Shift and left-click on the target material.
Finally, we are aware that the icon doesn’t render properly in dark mode. You’ll have a fixed icon next week.
Please let us know what you think! We can’t wait to see what you can do with Terrain!
Terrain Material Search & Replace is bigger than you think.
Ok, let’s start!
What is with the near constant updates? Finally attention to terrain!
This is going to be so damn useful as a terrain developer. I’ve always had to use Eventive’s revamped terrain converter, but no longer!
Link:
Finally, one of the most useful plugins for anyone dealing with terrain has finally been fully implemented into Roblox itself. Their plugin was honestly kind of clunky and hard to use, not to discredit their creation.
But seriously, thank you so much!
I literally cannot stress how important this is. If you’ve ever used terrain before, you know how useful this will be.
Changing seasons? Done in literally under a minute! No need to worry about having to use brushes to individually paint the terrain, or use the plugin to, still, do this manually.
I’ve searched Youtube tutorials for this for a very long time. If I accidentally used one terrain material it was a pain to switch it over.
Thank goodness!
EDIT: I. Literally. Cannot. Stress. How. Important. This. Is!
This post will have examples on how to use this in your day-to-day terrain creation.
Look me straight in the face and tell me that’s the same thing. Try me.
Hasta la vista to Sea Level, baby!
What’s that? I can just do air > water?
Indeed, indeed my dudes! Simply amazing. Great for precision.
This is what I’m talking about! I had this issue literally yesterday, and now it’s been quelled. Fast an easy for precise water, or really anything.
Second Topic: Thank goodness for a large selection box!
The plugin by Eventive was useful because of brushes, but it’s region box wasn’t functional. Today, though, that changes!
No longer will I have to use Part to Terrain to quickly make large areas. No longer will I have to use sea level and meticulously paint over it to get the desired size.
In fact, the canyon you above was made with part to terrain. Not any longer! Through the use of turning air to a certain material I can create large areas in a jiffy!
16384 x 16384 x 16384 is how big the box above is, and trust me, it’s huge.
Third Topic: Oops, I made a mistake!
You’re finished making your map when you realize: All the sand is supposed to be limestone!
Will you, one by one, paint over the sand and hope you follow the general outline, or,
More freaking amazing things: Either 1 or 2 can be turned to limestone. How cool! One at a time, or everything!
More Positives:
Unlike the “Region” Tool, you actually save where the box was! Yay!
Slight Negative
The only annoying thing is that the handles are just like sea level; way too huge. Not good for precise terrain. Okay, we can use brushes, but the point still stands.
I’m the product manager who owns Terrain We have some great improvements we’re working on to make Terrain in Roblox world-class. We have a big vision with a lot to do, and we’re working to make sure we stage it in a smart way to continuously deliver improvements to you. However, I’d prefer not to comment on release dates because our focus is shipping high-quality, reliable, and useful tools to you even if they take longer than initially expected.
And if you have a specific feature request, please let me know!
Wow, thank you! It’s great to hear that Terrain is going to get big updates! I love Terrain, but it hasn’t gotten very much attention recently, glad to hear that’s changing.
My 2 biggest terrain requests are: custom terrain materials (I know, it’s been said a lot), and being able to paint different colors on the same terrain material in different places. My biggest problem with terrain is that I can’t easily make lots of different biomes in the same world, because there is only 1 grass, stone, sand, etc. color.
Sorry, I know this was a bit off-topic from the OP. This tool is a great addition too!
I wish there was an eye dropper for picking source the material (and perhaps the target material as well) easily because I’m just gonna put it out there, I’m a terrain noob. It’d take me forever to select the right material from the choices, so an eye dropper would be amazing to have. (EDIT: Oops, I misread the OP!)
We should be able to select multiple source materials at a time since a selection of terrain can host a wide variety of them, and it’d be slow to pick each of them individually and convert to another material.
It’d be nice to have these functionalities within scripts (if not already), as an automatic season-changer would benefit a lot from this. Maybe like :ReplaceSourceMaterial(source, target), whatever the name, but it’d be great for scripts. This is using the behavior that @Elttob requested for. (EDIT: This exists, thankfully!)
I don’t think Air should be an option for the brush source material as its already given by Grow/Add. Plus, replacing or converting to air is very unstable as it can create/pave away terrain way too fast to keep up with preference.
Nevertheless, this is a great addition and thanks to everyone who worked on this!
Keep it up, Roblox!
This is awesome! No longer will I have to brush in extremely specific areas to get rid of chunky areas that I need to clean up. Definitely will save a lot of time when polishing terrain work!
I agree with all points except for point number four. If you’ve ever worked with terrain, you’ll know that Grow, Erode, Add, and Subtract are small-scale and not useful for big areas.
You might be asking, what about the Region Tool? Still small scale. It’s maximum size is tiny compared to the sizes you get in this update.
And, remember that this is one terrain material specific, so what if you want to only get rid of all the rocks in, say, a grassy field? So useful!
Please, do not remove air as an option for the brush.
Plus, replacing or converting to air is very unstable as it can create/pave away terrain way too fast to keep up with preference.
This is a bug that’ll be fixed in the next release. For now, turn on plane lock for the air material to behave correctly.
Also, one key improvement the replace tool has over add is it’ll replace just the air. Here I’m trying to fill in a lake with water. The add tool replaces the grass too leaving an ugly result, but the replace tool keeps the smooth sides
And that’s now more hours of development time saved. I wasn’t aware myself that some terrain swapping plugins existed or anything and usually would paint over materials I wanted to replace myself because trying to automate the task through a script is painful and would take longer. I’m thankful.
Is it currently possible, either through Terrain.ReplaceMaterial or the plugin, to globally replace terrain materials? I have some expansive terrain-based maps in storage for projects that sprinkle terrain over large distances so if I want to update it all at once. For example, changing every cell of grass to snow for a winter update. Not a safe option for everyone but a QoL for some.
Through the plugin, you can simply expand the selection box to as big as you want! (Specifically 16384 x 16384 x 16384.) That should be plenty enough. it’s the maximum for heightmaps, sea level, etc. And should be sufficient in size. Through scripting I’m not sure, but this is a (kind of hack?) that you can try.
Is it currently possible, either through Terrain.ReplaceMaterial or the plugin, to globally replace terrain materials?
The box mode in the tool has a very large maximum size, so you can drag it over your entire map and replace. If you want to script it, Terrain:ReplaceMaterial() is capped in maximum region size (the same limit as :FillBlock()), but you can split your world up into multiple Region3s and call it for each (that’s how we do it ).
There isn’t an API to get the non-empty extents of the terrain, or perform an operation globally. If you have a good use case for this, file a feature request