So I am learning to pain the landscape. Took several hours to get to the place I can actually paint (had to learn to setup the landscape materials to paint with).
It seems more complex than I was used to doing with Unity. There I just selected a texture and painted.
With UE, I have to load the textures into a material in a “landscape material” way.
I have to think in terms of layers for both terrain and textures.
And when I paint, it initially lays down textures with strong edges of the texture. I then have to go smooth the edges out, and that is where I am getting stuck.
I have four layers. The base most layer smoothes just as the docs say it should. But all the others do odd things, like “paint”. I mean, literally I wind up painting more texture rather than smoothing out the texture edges.
Is the smoothing function in UE5.3.2 faulty? Is there a work around I am not aware of?
Edit:
Here in this pic I switched the paint textures with primary colors. And I am creating a simple test sample of painting each layer over the others. The base (red) is first, and each follows in order, then two circles were added to test the overlap of all textures with all other textures.
Notice the base most layer (red) bleeds through the other colors. Is that suppose to happen? If so, why? That isn’t intuitive. I don’t want the base texture to bleed through if I paint another texture over it. What is happening here?
You probably have an incorrect layer setup with wrong settings for the value that i cant remeber what is called. Something blending.
The one that defines how the layers work when you paint them on one another.
Then you probably also have a wrong preconcept.
In unreal you need to assign a general layer on top of which you then paint.
The colors placed on top will show the bottom layer through when they are painted with an alpha value not reaching 1.
Always.
That’s also true in other engines, but it works out a bit differently in practice depending on how it is handled internally.
You can think of your labdscape’s first layer as either the presence or absence of value.
So instead of what you have
Red blue gray green
The layers you can paint should be
Blue gray green.
Anything that’s not painted will then be red.
You also have another issue probably.
When you paint, even with smoth, you need to make sure you reach a full value of 1 to have the layer completely cover one-another.
In the image you share it just looks as of the value painted never really reached a full value of 1 even at its center (for the circle).
That’s interesting. Because the gray in the center is where I did not paint anything.
The alpha or weight of each paint is fully 1 because they paint over each other (at least that is my belief, I will check). But the red bleeds through.
thanks for the insight, I will look further at the alpha values.
edit:
The first image in my OP was with all textures set to LB Weight Blend.
This is what I see when the base (red) is set to LB Alpha Blend and the others remain set to LB Weight Blend.
This is what i see when all are set to LB Alpha Blend.
This is what I was trying to achieve. But I was under the impression that LB Weight Blend was what I wanted them all to be set to. I guess I need to better understand what that value is used for.
I also got the smoothing to work, but it isn’t intuitive. I always have to select the texture I want to smooth or I get really goofy results. Strangely I keep seeing my selection of texture change unawares, IDKW.
edit #2:
I think I am getting the hang of smoothing. But I notice that no matter what texture I put on the map, the pattern of the base texture bleeds through. That is, the dark blotches are actually part of the green texture that covers the map, and it shows on the rock surfaces.
I was wrong, the layers of textures are not bleeding the base texture’s pattern through, they all shared the same algorithm for generating the random pattern.
Since you come from unity, stop what you are doing.
Look up how to look at shader complexity.
Notice how bad the complexity gets when you add more and more layers to a single component.
Also make sure your textures use Shared:Wrap before it becomes an issue.
Generally you want to avoid more than 3 painted layers on a single landscape component.
And you probably want to build the material with that in mind.
Another thing to consider is that unless your end goal is miniscule, landscape is only going to be a problem.
Yes, you can make it, work with it, ans when happy convert it into a mesh - but you get better paint on a custom mesh, and it may be worthwile to just start working that way depending on what it is you are doing…
I am just at the learn how to use UE5 tools phase. But that did occur to me.
Agreed.
I have heard of this, but I don’t know enough about this to understand why I would build a mesh terrain for a very large world (2km diameter). Do you have any links to videos or anything that explain how to go about making a mesh terrain that is optimal?
Even a single mesh is going to load way faster than the landscape.
You can partition the mesh the same way as the landscape.components would have you section it more or less.
2km is probably good split into 16 meshes to providr some occlusion.
The more you split it, the more drawcalls it gets, so performance can get worse.
Since every piece is individual there is no instancing for it. However using a single material helps memory management…