9/24 : Released as a 4.26/4.27 plugin available on marketplace!:
In this project you can generate either an ocean, or a landscape, using all the tools you have in the shader editor.The landscape generation is within a simple material function, you have an input world location and are free to do whatever you want to ouput a height signal : ideally normalized, allowing to control the height amount using the associated material collection directly.Once the landscape generation part is done, you can build your landscape material on top of it as you would with any landscape.
There’s an asset spawning system computed using the shader editor as well. You can chose to spawn instanced meshes, or any actors, leveraging the landscape layer system or any procedural spawn settings you might have in mind.
As you can use this solution to generate a dynamic ocean changing over time or a ‘static’ terrain that doesn’t need to be computed every frame, there’s a ‘caching’ option within the detail panel. Disabling caching is also convenient for instant feedback while testing ideas to generate your terrain, but you’ll want to turn caching back on for a drastic performance boost.
9/7/2021 Caching Finish + Triplanar example
I removed all the link to download previous version, there’s only github and google drive files named “ProceduralLandscapeFromShader_v00”.
No more cracks in the terrain if using the cache. Now that the cache is working as intended the next big step is improving the asset spawning and adding compatibility with the engine Procedural foliage system.
But i’ll port the v0 to UE 4.26/4.27 before that.
9/6/2021 Caching !
Prevent recomputing the whole landscape each frame… !
Dont forget to turn it off for instant feedback when editing the shader graph. The spawning of assets is also in shader graph and needs to be completed for random yaw/align to normal… !
9/5/2021 update Spawnables !
Here it is !
Within the project there’s an implementation of the GPU Gem 2 Improved Perlin Noise (used for the mountains demo)
Could be used in a lot of ways
With runtime collision generation near the viewer this time. Uploading the file next weekend.
Added a c++ implementation and hopefully made some logic improvements. Also added the LOD stitching and a warped improved perlin noise:
Was wondering if you could run a good old CPU based clipmap on blueprints, ended up implementing it today and sharing it here.
Fair warning, i am not a BP artist regarding organizing the spagheties!
In the end it could be turn to C++ and use for a landscape solution. Thought it could be relevant learning material.