Appearance
Creating a new voxel graph
Right click the content browser -> new voxel graph

Creating a flat world
- Add a Set Value node:

- Link a Z node to it:

The density will be negative when Z < 0, and positive when Z > 0. As a negative density corresponds to a full voxel, this is what we want.
You can now set your voxel world World Generator property to Object and set its value to your graph. You should see a flat world.
Adding hills
For the hills, we're going to use perlin noise:

This will give us a height. However noise output is between -1 and 1: this is too small for hills! Let's multiply it by a Float Constant node:

We might want to control the hills height from blueprint. Let's expose the constant:
- Click on the constant node
- On the detail panel on the left, apply the following settings:

- Your node should now look like that:

We want to have a positive density (empty) when Z > height, and a negative one (full) when Z < height.
We could do it that way:

However, this would lead to bad looking terrain:

Instead, we're going to subtract the height from the Z value:

That way, we still have a positive density when Z > height and a negative one when Z < height, but without any discontinuities!
This gives the following terrain:

Adding color
First of all, as we're going to reuse the noise output, we're going to add a local variable. Local variables are only syntaxic sugar - the pins are linked together in a precompiler pass - but they can clean a lot voxel graphs.
- Right click in the voxel graph and select Create Local Variable
- Select the new node
- In the detail panel on the left, set its name to Height and its type to Float
- Link the perlin noise output to it, and replace its usage by a new Height node:


RGB Config
Set your voxel world Material Config property to RGB, and the Voxel Material property to M_VoxelMaterial_Colors.
Add the following nodes:

Your world should now look like this:

Single Index Config
Set your voxel world Material Config property to Single Index, and the Material Collection property to ExampleCollection.
Add the following nodes:

Your world should now look like this:

Notice how while there is a blending, it's far from perfect.
Double Index Config
Set your voxel world Material Config property to Double Index, and the Material Collection property to ExampleCollection.
Add the following nodes:

Your world should now look like this:

Notice how smooth the blending is. If you want a smaller blending distance:

