CustomMaterial Brush Paint for Terrain?

If it’s possible I think it’d be really neat to have a custom material i.e an asset to a texture you’ve uploaded to use as the material for terrain painting. Or a mask that can be painted over existing terrain smoothly.

Here’s an example of what it could look like(painting over the default grass)

7 Likes

While this would be totally awesome and I would love to see this, my one concern is how difficult would it be to create a texture that works correctly?

Well,
This isn’t really my forte and I don’t know much about this area but wouldn’t it be no different from regular UV mapping?

If terrain is painted via a sphere or a block perhaps there could be texture templates to wrap around the different model types.

I might be wrong but I think materials network efficiently because there aren’t a lot of them (it’s smaller data per voxel).

Something I think would be cool is swapping the default textures for one you made. That way materials would keep the same “shape” (i.e. bumpy rock etc).

I believe you’re correct. It’s similar to how BrickColors work.

2 Likes

Can you elaborate? I’m confused

Each terrain texture is stored locally on your computer. When the terrain data is networked it just sends the ID of the texture which is only a few bits.

If it had to send the entire texture, it would be a lot more data.

By the entire texture, do you mean fetching the texture from the web instead of having it cached locally?

Yes.

If users were to say upload their own texture, couldn’t the client cache it/load it when the game starts up and just fetch it as it does with the textures now?

Smooth Terrain is beautiful, but I think if we were able to have some freedom in deciding what textures we could paint on to the terrain, it’d open up a whole new realm of creative possibilities.

I think one feasible way in doing this(from what I’ve seen, correct me if I’m wrong since I’m still oblivious to a lot of the inner workings), is allowing the user to create their own dds files etc. to replace the current ones.

If we were able to upload our own as an option with the same file size thresholds and what not, it could be fetched from the web and cached in a temp folder or something?

Would it be? I thought the issue was the size of a voxel would be increased. We already send plenty of textures, perhaps not at as high of a resolution but it wouldn’t be huge I wouldn’t think?

Assuming you only have something like 4 bits unsigned, the largest number you can make is 15. So if you introduce new materials you now need to use a larger data type to store the material id. I might be wrong but that is my best guess.