I have looked all over and this question still hasn’t been answered.
Is there a way you can bake a landscape material without exporting a landscape as a mesh??
Is there an addon/plugin that achieves this or can it be done natively in ue5?
I am not using an auto-material. I am using custom masks in my landscape material.
No.
You either bake it as a mesh - where all you get is a photo of the final result as a base texture and of the final normal map as a texture - or you have to do the work.
Simply export all of your paint layers, and use them to re-create the landscape material into whatever other program you are using.
Or, you could just combine them creatively into a single map using different channels or combination of channels (yellow, cyan, etc). But then you have to make the shader understand and use the correct layer either way.
You can set up your landscape to write to a Runtime Virtual Texture, make a new material that samples the RVT (plug whichever channel of the RVT into Emission for best results), and then use the ‘Draw Material to Render Target’ Blueprint node to bake that material to a render target, which you can then do whatever you want with.
If you want the different maps (Base Color, Normal, etc) you’ll have to either shuffle the wires around in the material and re-bake, or set up a different material and render target for each map.
Obviously, the final texture resolution will be limited to the maximum render target resolution (also if your camera is too close to the landscape when you bake you might get areas of the baked texture that are more detailed because the RVT has loaded higher res tiles nearer the camera, so be careful about your camera placement).
[edit]Alternately, you can set up the material to sample the RVT channels normally and assign the material to a static mesh asset (like a plane) and use Asset->Bake Out Materials. Pick whichever channels you want textures for and a resolution (up to 16k, but you’ll need a lot of VRAM for that) and bake the material out that way. You’ll then have to Save As… the material and textures in order to make them visible in the content browser so they can be exported or used on other meshes because Unreal hides the baked assets for some reason.
Sounds like “overcomplicating” to just get the same exact result that the engine bakes for you automatically when you create level impostors off the levels tab.
Why would you spend 3 hours figuring out something that produces the same end result as a single button click?