Material blending with vertex painting

I want to use material blending to paint different types of soil (the usual, grass, dirt, rock, etc).
I’m not using a landscape, so I have to apply the multilayered material to my static meshes. I’m using vertex painting for the blend.
The problem is when the texture blends, the triangles can be noticed because there aren’t enough triangles on the mesh.
this is how it looks:

Notice the triangles on the blend.
Of course I can up the geometry on the mesh, but I’m thinking if there is another way. It seems to be a waste to have all that geometry on a flat surface. There are 55k triangles on the mesh.

Is nanite an option for this? Maybe I could bump the geometry without impacting performance (the game is composed of multiple independent platforms).
Or is there a better way to solve this?

I found this tutorial. I applied the third solution presented and I’m getting some results.
Advanced Vertex Painting Techniques - YouTube

I have no idea what the third solution is, but the only way to break the triangle like effect when vertex painting is to use a texture as the alpha for the blend.

Basically the vertex paint channel is added to or multiplied to a texture and then used as the alpha in a lerp.

There is some natural amount of fade even between a quad split in 2 tris via vertex color - however you may need to alter the weight paint falloff prior to adding or multiplying or whatever you want to do with it into the other texture.

Obviously the alpha texture should be world aligned and set to a max of 2m^2 or whaver size it was built for.

This becomes very similar to the landscape height blend - the texture you feed in, can in fact be the height mask for the underlying layer (Except then the UV have to match for it to make sense).