Texture questions with Zylann's Voxel Module

Godot Version

4.6

Zylann Voxel Version

v1.2 Release Godot 4.6.stable.custom_build [89cea1439] + Voxel Tools 1.6 · Zylann/godot_voxel · GitHub

Question

Just learning to use the Voxel tools (awesome!) and starting to learn how to do textures for the voxels.

I’ve run into some pretty common issues - texture stretching, and tiling and I’d like some help in correcting these issues.

There may not be anything I can do while using a 1024x1024 png texture so perhaps there’s a procedural way / shader that can give me a similar look and feel of dirt/ground without the problems?

Here’s the pics/context:


The texture is applied to the Materials Override on the VoxelTerrain.
Settings:
Texture on Albedo > Texture
UV1:
Scale = 1.0
Triplanar = ON
Triplanar Sharpness = Curve at 3.86
World Triplanar = ON
Sampling:
Filter = Linear Mipmap
Repeat = ON

Voxel Settings:
Stream = VoxelStreamRegionFiles
Generator = VoxelGeneratorFlat
Mesher = VoxelmesherTransvoxel

The texture is 1024x1024 png file from here:

The first image looks like too soft triplanar transition, so increate sharpness, and I don’t really see what’s the problem on the second one.

Sharpness helped a tiny bit with the first image, but the real issue is the texture stretching on the vertical wall.

The second image shows the tiling.
That’s why I’m wondering if there’s a decent procedural way to create textures like this instead of fixed images.

If the texture is seamless there should be no visible tiling problem.

I don’t think there’s a better generic way to handle this than triplanar mapping.

It is seamless but there will always be visible tiling since the pattern is repeated, regardless of the seamless design.

The repetition problem is typically remedied by overlaying two textures - A large low frequency texture and a detail texture - so that the large texture modulates the detail texture making its repetition much less obvious.

Ah - ok, I’ll look into that.

Currently I use one texture for Albedo - where would the second texture be applied?

Look at the Detail section of the standard material. Here you can assign your high frequency texture and then use the standard albedo slot for the low frequency texture. You can start with Godot’s noise texture for the latter.

detailtextureoverlay

Makes sense - one obscures the other.

Thanks.