Doing roads in Roblox that interact organically with smooth terrain is an incredibly difficult task. Not only is it time-consuming to grade roads as seen here, but optimizing the part count with roads made in Archimedes 2 is frustrating too. I have seen people suggest doing roads in Blender to fix this problem, and then porting them into Roblox afterward (a great idea at first). But how would the collisions be done? How exactly would I fix the grading issue with these kinds of roads? I have so many questions and I was hoping to get some advice from more experienced builders on the subject.
I have a decent amount of experience just duct taping part roads to smooth terrain but I’ve never got a result that was truly efficient or visually satisfying. Any advice is helpful.
Oh, then from what I know (which isn’t much) the best way for it to look like how you want it is to manually grade them it might be time consuming but the end product will probably be better than using plugins.
I usually place down my road then duplicate all the roads and bring them down a bit, rename them to “Ditch”, then in command bar do this for the ditch:
for i,v in pairs(workspace:GetChildren()) do if v.Name == "Ditch" then workspace.Terrain:FillBlock(v.CFrame,v.Size,Enum.Material.Material) end end
then for the road simply change “Ditch” to “Road” and change material to air.
Incredible! Definitely a little rough around the edges and it definitely will not operate well with mesh roads, but it will speed up the process by a lot!
Alright, another update. I redid some of the code and managed to get it practically perfect!
for i,v in pairs(workspace:GetChildren()) do if v.Name == "Road" then workspace.Terrain:FillBlock(v.CFrame+Vector3.new(0,50,0),v.Size+Vector3.new(0,100,0),Enum.Material.Air) workspace.Terrain:FillBlock(v.CFrame+Vector3.new(0,-1.5,0),v.Size+Vector3.new(15,-2,5),Enum.Material.Asphalt) end end
I didn’t make a “Ditch” part, I simply just filled in the parts in the workspace with the name Road, automating it even further. This just requires that the road is elevated above the terrain beforehand.