Multi-voxel terrain texture blending

As a Roblox developer, it is currently too hard to attractively blend between different Terrain textures, especially when they’re very different colors.

My game uses multiple different colors of grass between different biomes on an alien planet. My map is currently made out of parts, but I’d like to take advantage of smooth terrain sometime in the future. However, blending between textures is currently too unattractive for me to switch.

Looking at the image above, there are jarring transitions between textures and texture colors, and unattractive voxel artifacts. These flaws make working with terrain extremely tedious and difficult because you have to carefully micromanage texture blending yourself so that these mistakes aren’t so visible.

The only reason why I’d switch to using smooth terrain is because it’s easier to work with than parts for large swaths of land. However, this issue negates the benefit of smooth terrain for me because I still have to micromanage it.

ie.
image Jagged edges

image Sharp right angle and abrupt color change

It looks like texture blending only goes so far as adjacent voxels, and all textures are hardcoded to blend in a certain way (ie. some textures blend with priority over others), meaning textures (that could be repurposed) might blend undesirably or unequally with other textures, which can exacerbate blending artifacts as seen above and below, and in the case of grass textures and textures that have been recolored, the blend radius isn’t enough to look natural.

image

Allowing textures to blend across more than one voxel would make these imperfections less visible. For games that prefer a sharper separation between textures due to game style, this blending radius should be a property under Terrain.

ie. Simulated larger blending radius

41 Likes