Add a paint target layer from a classical material ?

Hi everyone,

I search to add in my paint tool a target layer with a material. This material come from the “open world demo colection”.
I know i need to generate a layer info from my master texture (landcape) to be able to see it in the target layer. But, how can i add my full material (that is build with multiple textures) to this target layer ?
When i click in “import” to my “test” target layer it propose me to add some texture alone (like a PNG) but not my material.

I can not believe that adding a simple material/texture to this list of target layer is complicated like this ! (for the foliage painting, its just a click and drag of a material fonction…)

I did read that : Landscape Paint Mode in Unreal Engine | Unreal Engine 5.2 Documentation
But it didnt help me to do what i search :frowning:

Okay, to start to engage myself with knowedge before practicing.

I wanna know how this texture (ground/rocks) is done (what is the technic used) :

Do it’s height map tessellation/displacement mapping or parallax occlusion mapping ?
It’s look like tesselation/displacement mapping cause it form good quality meshes (not faked 3D), but i can not believe the ground is that high in polygons without ruining my CPU…so i doubt.

Thanks :slight_smile:

I’d guess it’s a combination of tessellation and rock meshes sprinkled on top.

The rocks are not independant, when i put the texture setting in low, the rocks don’t get any meshes and exist only as a texture. In medium they get bad meshes and don’t goes that height.
It’s why iam pretty sure that all the ground (expêct foliage) and rocks on this image is a mapping, but i don’t know if its tesselation/displacement mapping or parallax occlusion mapping.
I mean, it look like tesselation/displace, but how the hell my CPU can run all the polygons needed to do that. Its why i suspect a parallax occlusion mapping also :slight_smile:

for me there is only one way to do that, the parallax occlusion mapping is a good guest, but is not for this case, see the example map inside in the ContentExample project from unreal, you’ll see the diference (the POM is just pixel depth offsset and is very cool!!!), but to create that we need use tessellation and offset, if you have a bump map you can multiply that for you world vertex positions and then for some multiplayer something like this:




World Position Offset = bumpTex * VertexNormalWS * someValue;



tessellation
this will give you that effect and now all you need is plug something in the tessellation and you can even control the tessellation based on depth, something like this:




tessellation = (((CameraPosition - AbsoluteWorldPosition).Length - something) / otherValueAsFade)



this is my pseudo code

63ef3f5e0b0397ba9f83051cbe5a1c46f1faff46.jpeg
here is my graph, very ugly but prove the point

hooo okay, thanks you :slight_smile: But if that is tesselation, it mean the ground on my screenshot is close to high poly ? I mean, theire is billion of poly just for the ground to permit the tesselation (and the apparition of the rocks and details) to displace the mapping. I didn’t expect that games are that optimised now when i see that ArmaIII is burning any CPU to show simple ground…
And big thanks for the code and the organizational of the material, when i will manage how to put my material in the paint tools, it will be usefull ! :slight_smile:

ArmA’s Real Virtuality engine is, unfortunately, not a good example of a well-optimized engine CPU-wise. Frostbite heavily uses tessellation on landscapes and runs very smoothly, so it’s definitely possible.

Didn’t saw a massive use of tessellation as in Ghost Recon Wildlands. Its absolutly everywhere, and it doesn’t ask that much ressources. Managing that in large scale scene even with a LOD is hard.
The Anvil engine really impressed me. Anyway. Thanks for the answers guys :slight_smile: