Richer Terrain Materials

Breath of the Wild has renewed my hope that ROBLOX improves the way terrain looks. Ostensibly, BofW uses some similar system to ROBLOX’s terrain (at least when it was designed) of shaping blobs and painting them with materials and then blending the textures.

These suggestions probably reach a bit, but I don’t think that’s a bad thing. ROBLOX being beautiful by default is a good goal to have, I think.

Consider the following screenshot I found online:

Here is a 30-second mock-up of the scene built with ROBLOX terrain. I will be comparing these two scenes in this post.

Rocks

First, the “rock” material in ROBLOX looks off. In the real world, rocks are brown.

No other materials really fit “rock” better, either:

  • Sandstone looks great! but it’s smooth, and not appropriate for mountains
  • Mud and ground are smooth
  • Slate is unreasonably flat and gra. It’s so smooth it looks polished

Second, there is no large-scale texture. ROBLOX uses the roughness of the geometry (lots of pointy triangles! that don’t look so good up close when you have a screen full of rock) to add some visual interest, but it doesn’t hold up at a distance and it’s not nearly as great as it should be.

Real rocks have large-scale texture, with features larger than single voxels. This would make rock much more visually interesting, up close and at a distance.

BotW packs most of this visual interest into the texture’s normals. ROBLOX could learn something from this, I think.

Vegetation & Detail

To quote the blog post that introduced smooth terrain,

With Smooth Terrain, anyone and everyone on ROBLOX can create beautiful, detailed environments that feel more alive and vibrant than anything you’ve seen on ROBLOX before.

However, right now terrain is limited to being plain textured geometry.

The most obvious way this could be improved is by including vegetation in the materials that call for it (grass!)

I don’t expect lower-end machines / mobile to be able to support highly detailed terrain geometry. However, a lot of players’ computers probably can, and it can easily be a performance toggle.

It’s not realistic to do vegetation in ROBLOX right now because

  • it requires too many resources to do level-of-detail
  • it requires too many textures
  • lighting looks really bad with it because we don’t have control over normals or shinyness

However, it really isn’t all that expensive to simply allocated a few thousand (back of the envelope calculation suggests the above scene uses around ~12k triangles for grass) grass triangles that are packed tightly in the GPU terrain data, especially since they shouldn’t receive true lighting (though they ought to receive shadows).

Terrain materials that support it would breathe a whole lot more life into games that want to use terrain.

Style Variation

There are only a few materials. Since they are fairly rich (and I want them to be richer!) this is reasonable; you only need so many.

However, they make games all look the same, and areas within a game have limited diversity.

Adding a “style” or “variation” brush to terrain would be an excellent way to improve this. Possibly something as simple as a Color3 “tint” on a larger voxel grid, in order to tweak the appearance of different games / moods / areas. This could also satisfy my “rocks should be brown” complaint, and it will let players better control how light/dark their materials are.

This might correspond to how parts have a BrickColor (and soon to be Color3!?) in addition to a Material.

By the way, is merging Part and Terrain materials so that they’re all supported and appear similarly actually happening any time soon?

TL;DR

  • Rocks are brown
  • Large scale textures for interest afar (and up close)
  • Paint the town red (or green or brown or gray or dark or light)
  • Grass geometry on grass material
31 Likes

While I don’t think comparing those images is entirely fair (BotW uses a lot of tricks to look that good), I definitely do agree that the rock material feels extremely out of place.

I also agree with color tinting, a common complaint I have regarding grass is that I can’t make it any color I want.

2 Likes

I agree with this quite a bit. Terrain has a lot of power currently, but it has tons of minor things holding it back, such as the color choices on the textures, and the way it looks in the distance. Geometry wise, I think the lower quality terrain generally looks fine, but it could definitely used some improved distance texturing and lighting. More user control (such as the color painter you mentioned) would also mean it’s easier to make a unique looking game with it.

1 Like

Being able to set Color3 corrections based on different Terrain materials would be helpful.

Basically a bunch of Color3 properties per material

2 Likes

@zeuxcg posted that on a poll of a list of features that we wanted, and I’m surprised it wasn’t the No. 1 pick. ROBLOX terrain conforms to a certain aesthetic because of the limited materials, but color3 terrain would give us a near infinite amount of materials.

2 Likes

Support all the way, Colour3 would be an amazing update, mix that with some new and improved lighting and skybox properties and Roblox would look splendid

2 Likes

What we need is the ability to set our own terrain textures.

13 Likes