Here’s how it works for now: on each voxel, 4 values are stored:
- the density value
- the index of the first material
- the index of the second material
- an alpha to blend between those materials
The materials are set by the world generator. Then, in the UE Material, there’s a node to switch on materials. As the textures are triplanar-projected, you can have 2 set of textures per material: one for the top and bottom, and one for the sides. I don’t think using only triplanar projection you can differentiate the top and bottom textures. Of course that could be done on a lower level when generating the mesh, but I don’t want to do that to keep everything consistent for now. If this feature is interesting more people, then I’ll consider adding it 