Landscape Architect

LA supports two types of landscapes

Heightmap Landscape
UE4 supports heightmap based landscapes natively (Landscape actor) and this mode builds on that. There are a set of graph based toolset that work on top of existing UE4’s landscape actor. The first post has some screens on some node based procedural landscapes

However, the UE4’s landscape has some limitations, it cannot be modifed during runtime, (so no infinite procedural landscapes), cannot have caves/overhangs because it is heightmap based.

Voxel Landscape
This uses a custom mesh component to create the landscape and can be modified during runtime. It gets all the advantages of a voxel system. Since others are asking, I’ll see if I can provide a way to convert the heightmap based landscape into a voxel landscape with proper material weights.

@apoisonedgift @PDubulous Thank you
@robob3ar, @Hyncharas I’ll have a beta program. There’s still more work to be done. I’ll keep you all posted

It should be possible to turn an arbitrary mesh into a voxel. This would make for a nice feature for the stamping tool (mesh stamping) for placing props and other details as part of landscape itself

@LevBabintsev UE4 landscapes cannot be changed during runtime (as of 4.15). I use a custom mesh component for the voxel landscape

Great work Ali !

Some Questions:

Will this support the foliage and the grass tools? Will the position and/or orientation of foliage track realtime modification, possibly with some control over that ?

Will the generated mesh from voxels have LOD ? ‘voxel lod’ and/or ‘mesh lod’ ?

Do you use a space partioning system for the voxels?

What is the maximum voxel space? Can we add smaller voxel actors with finer voxel grid, and have these blend in with the bigger one?

Can we set additional properties to voxels for gameplay purposes and querying those (from blueprint) ?

How would one trace toward the voxel terrain? maybe have access to the nearest voxel? or some way to have a point project to nearest face ?

How will texturing work, concerning UV maps, or do we need to use procedural materials ? or does this work with vertex paint in some way ?

Looking forward to play around with this…

Hear that? Dev grants for Oculus Rift + Touch right now, hope you get one Ali.

Are you still working on this, Ali ? Any updates ?

Reading trough the thread again, it seems some of my questions were already answered.

I’m looking forward to this…

Is this the regular custom mesh component that comes with UE, or something you created yourself?
It seems it can be optimized a lot, considering this plugin.

Runtime mesh component is getting a major overhaul. So It might be worth it to wait.

Any updates? Is this coming out on the marketplace? If so, what’s your price point?

Hey everyone, I’ve been working on some internal optimizations. The Voxel chunks can now save the density data in any data type (4-byte float, 2-byte or 1-byte integers). This helps in saving memory and the size of your saved games

Past few days I’ve been working on implementing a atmospheric scattering shader explained in this GPU Gems article. It works from both in and outside the atmosphere

The planet in the video and screens in 200km in diameter

There are issues with physics that I’ll need to solve. There are also rendering artifacts (bands) due to depth buffer precision while rendering the atmospheric scattering on large planets when seen from far away. However I’ve reduced it by taking the planet surface depth into account only when the player is close to the start of atmosphere

Video:

Screens:

I freakin need this!
[MENTION=28980][/MENTION] - You should check out this atmospheric scattering: Eric Bruneton (Scroll down to the section labeled Atmosphere.) It supports multiple scattering and should be similarly performant to the simpler GPU Gems version, but give better results. Also a code example there to download.

Yes same,

I need this as well.

I would also like to point out that they made the code available under the BSD-3 license.

You can get access to their repo by accessing this site. http://proland.imag.fr/

Pretty sweet stuff Ali :slight_smile:

Your work is so inspirational, that scattering looks gorgeous!

[MENTION=887]ioFlow Studios[/MENTION] Thank you! :slight_smile:
@n00854180t @HeadClot Thank you for the links. I’ll definitely have a look

Was just watching the GDC presentation by Sean Murray. He explains various noise functions used in No Mans Sky with some real nice and intuitive ways to combine various noise models. I’ll experiment those with LA. The noise is generated in the CPU right now. I’ll look at generating this in the GPU to speed things up

Amazing looks !

Ali so… Your map is… 125660 Square km ? so 8500 TIMES bigger than entire skyrim map? procedurally. I just… well… ****! :o good there is world origin shifting integrated into UE for some time, or getting vectors in such giant space would be pain in the ****.

Is this still going smoothly? As in, can we still expect an April release? If you still haven’t figured out a price, I’de gladly drop down $150 if it’s as great as I think it is and think it would be popular at that mid to high price point. Of course I would still be willing to pay more or less.

Also, any progress on getting it to work in editor and height maps to voxel for “caves/overhangs” etc? I need it to work with height maps I export from World Machine and then continue editing it from there. So I’m assuming that this wouldn’t work on pre-made landscapes yes?

OMG this is what I need!

A few new things these past few weeks

  • Voxel calculations are done in the GPU (Compute shaders) and is much faster. I’ll also provide a pixel shader version for older hardware that do not support SM5
  • Improved noise model for procedural generation. The mountains look more interesting. More info here
  • A custom vertex factory and shaders for the voxel mesh to fully control the vertex data that is passed to the GPU (Needed for a flexible material system)
  • Created a layer based Material system with weights on each layer. You can alter these weights to paint different material (like ue4 landscape layers) from the editor / runtime. These weights can also be set from your landscape graph. More on this later
  • Started working on Foliage support (very early WIP). I’ll also support a modified version of UE4’s procedural foliage tool for spawning trees

Foliage: