Voxel Plugin

Does the system support physical materials and their blending like landscape does?

The noise world generator produces seams in the transition area even when “Compute Transitions” is enabled. This can always be reproduced.

It’s very visible on a “sine world”, where this function is used in C++ (all other params are default):



    float HeightmapValue = FMath::Sin(x*0.07f)*20.0f;            
    float Dist = 50.0f;
    float Delta = z - HeightmapValue;
    float ZPolynomialSmoothDensity = FMath::Clamp(Delta / Dist, -2.0f, 2.0f)*0.5f;
    Values[Index] = ZPolynomialSmoothDensity;


World Generator Swap: voxel plugin™ - World Generator Swap - YouTube

Asteroids demo: voxel plugin™ - Asteroids demo - YouTube

This demo shows how well the multithreading works. 20 asteroids are falling on the map every second, and edit the world asynchronously, while the player can still edit the world too. This is made possible by the use of an octree structure for the data locks, avoiding a global lock.

@jonimake Does the World Generator Swap video answer that?

Thanks, this was caused by an incorrect octree structure. I fixed that a few weeks ago. I’ll update the repo soon (hopefully), but the current code is really old, so you should wait a bit before trying it.

Thanks for the update !

Which version of your voxel plugin is shown in the asteroids demo, the free version or the paid version?

Btw nice work!

@CocoFresco All that’s shown in the asteroids demo will be available in the free version, except the big hole at the end.

Just wanted to ask about the paid version… I remember in a past version we could load heightmaps and it would be done vie the UE4 Terrain Editor which was great, so with the paid version would we be able to design the landscape in the UE4 Terrain Editor by loading the heightmaps and splatmaps and setting textures and so on and then using your landscape import tool convert it all over to voxel landscape? If not, also an idea…:slight_smile:

Any plans to implement editor sculpting tools? I’m using this http://runedegroot.com/open-source-voxel-terrain-editor-for-unreal-engine-4/ ATM. The sculpting works great with smoothing, ramps etc…, the problem is the performance of the voxel solution is much worse than yours. I’d like to switch to your solution for my landscaping but I can’t without the editor tools.

@ZeroVector Yep, still working :slight_smile:

@Ohriginal Not really. However what you can do for now is modifying in PIE, and save your changes to an asset, asset than you can use in a world generator.

: That’s great, so it can do everything i mentioned… Sorry if I have to second ask you, I am really happily surprised… So i can import a heightmap and splatmap to the UE4 Terrain Editor and apply textures thru the splatmap in simple terms and then take that in the UE4 Terrain Editor and import thru the “voxel landscape importer” to the “voxel world” so that what you created in the UE4 Terrain Editor translates to the “voxel world”! If so that is amazing…

I have a heightmap I created back in the day LOL, around 1997 on a Amiga using Vista Pro… A set of islands… I call them The Cyber Islands… LOL… I want to bring them into Voxel… There my past the data started on a 3.5 floppy then over to a Iomega 100mb Zip drive, LOL… Then on to a cd to dvd and now on flash drive… LOL… It’s history… Once I finished my project your name is going under the Voxel Graphics Engine in the titles…

: Also check out if you do not already know Houdini done by SideFX… They can make very nice landscapes and they also work in voxel, maybe even the landscape in there editor can be converted in some way into your voxel system…

You can indeed do that

I know Houdini, however I don’t know their landscape system. Will look into it :slight_smile:

Thanks for your response!

Well I tried to install the plugin based on your installation guide and I think I’ve installed it correctly, but I can’t find the VoxelWorld actor in the Modes tab.
I’m using the latest UE4 version, I’ve downloaded the latest version of your plugin and pasted it into the Plugins-Folder of my project.
Did I miss anything?

I would appreciate any help!

EDIT:
Ok, I’ve solved it by restarting the UE4.

When I try to launch my project after installation, I get :

[2018.02.27-01.18.23:149] 0]LogShaders: Error: Can’t map virtual shader source path “/Plugin/Voxel/Private/VoxelVertexFactory.ush”.
Directory mappings are:
/Engine → …/…/…/Engine/Shaders
/Plugin/OculusVR → …/…/…/Engine/Plugins/Runtime/Oculus/OculusVR/Shaders
[2018.02.27-01.18.23:181] 0]LogShaders: Error: Can’t map virtual shader source path “/Plugin/Voxel/Private/VoxelVertexFactory.ush”.
Directory mappings are:
/Engine → …/…/…/Engine/Shaders
/Plugin/OculusVR → …/…/…/Engine/Plugins/Runtime/Oculus/OculusVR/Shaders
[2018.02.27-01.18.23:181] 0]LogWindows: Windows GetLastError: The operation completed successfully. (0)

Any ideas?

For whatever reason, I can never get this plugin to work correctly. I usually just get “This was built in another version” blah blah blah. Try to rebuild and fails every time or the editor just turns it off. This would be great in the Marketplace for dummies like me.

@Angrydw4rf Do you have a Shaders folder in the plugin directory?

@CazOki I’ll put it on the MP when it’ll be finished :slight_smile:

I was hoping to try some tests with your plugin to make the world appear blocky similar to minecraft. Could you point me in the right direction for tweaking the polygon generation? Thanks!

@Dorian000 I player around with it a bit, not 100% but I think this is what you need to do:

  1. create a new world generation class or modify existing one
  2. in the GetValuesAndMaterials, where you set the Values[Index] values you must set them to either -1 or 1 (or 0 and 1), you must NOT use interpolated values, eg 0.3, only -1 or 1:
  3. You will need to modify normal generation: go to VoxelPolygonizer.cpp, in the function CreateSection you would have to change it to NOT accumulate normals for each vertex from neighbours (since this is what it smooths them), but instead you must just use the normal that belongs to that face. So remove accumulation, or hack it so that it doesn’t accumulate at all.

Not sure if this was intended or not but under the master branch for the plugins folder. There isn’t anything in it.

@CazOki That’s because it’s a git submodule. You need to clone the Voxel repo too.

@Dorian000 Wait for the next release (shouldn’t be long now) as I’ve improved a lot the organization, allowing for easy render replacement.