Is there any way to do that without using the paint tool on my whole map? Thank you.
The only way is by using the ‘Paint’ tool in your editor explorer.
I clearly said that I didnt want to use the paint tool.
Well as I said, by using the paint tool is pretty much the only way, unless you use a plugin.
I haven’t tested this, but I found this method:
If it works correctly you should be able to create Region3’s of your snow and change the material to grass.
A way to approach this, is by using Region3, which is basically a data type used to represent an imaginary axis-aligned 3D rectangular body in a 3D space, in which with given arguments, we can assign the size and location of that rectangular body via Region3. By using Region3, we can manipulate anything inside a given space.
To assign a Region3, we would use the constructor Region3.new(Vector3.new(min), Vector3.new(max))
with min and max representing two opposing corners of the new region.
Using @Pavalineox’s suggestion, if you want to manipulate the material of the terrain in a certain region, we can store the Region3 as a variable, then manipulate that Region3 by using the Terrain:ReplaceMaterial() function with the stored Region3 as an argument.
local region = Region3.new(Vector3.new(-51, 0.5, -21), Vector3.new(73.85, 32.5, 113.7))
region = region:ExpandToGrid(4) --we use ExpandToGrid to make the Region3 compatible with Roblox's terrain grid
workspace:WaitForChild("Terrain"):ReplaceMaterial(region, 4, Enum.Material.Snow, Enum.Material.Grass)
--workspace.Terrain:ReplaceMaterial(Region3.new(min, max), 4, materialToReplace, replacementMaterial)
Here is a visual example of how this code would run using the given arguments on this blob of land (the two parts are used to visualize the minimum and maximum):
Of course, if you want to adjust it to your map, you would adjust the minimum and maximum value to two Vector3 values sufficient enough to make a prism that can fill a volume equivalent to the size of your map.