Download

voxel plugin™

https://i.imgur.com/pbGaYyX.jpg

voxel plugin™ allows you to create fully volumetric, entirely destructible and infinite worlds. It’s available for UE 4.18 and 4.19.

https://youtube.com/watch?v=LhRQbaGJ8bI

Pricing & Licensing

There are two editions of the plugin available:

  • a free version, with limited features
  • a pro version with more features, which you can check out on the website

Both versions can be used commercially.

Features
https://i.imgur.com/HUy7xlP.jpg

  • Fully volumetric and entirely destructible terrain
  • Infinite worlds with seamless LODs
  • Ultra smooth edits: up to 50 times per second on a single chunk
  • VR Ready: everything is done in background threads, allowing for a constant 90fps
  • Up to 256 materials, with smooth transitions and texture support through Texture Arrays
  • Complete Blueprint interface
  • C++ World Generators to create your own worlds

https://i.imgur.com/8jPngt2.jpg

  • Easy to use custom graph system to create your own worlds
  • Multiplayer
  • Importers: import from meshes, heightmaps, landscapes, MagicaVox, 3D Coat and splines
  • Voxel Physics: enable physics on floating voxel blocks
  • Grass and Voxel Actors
  • Pro Support

Links

Website: https://voxelplugin.com
Discord: https://discord.gg/58ZqEbg

Wow, this looks great, downloading now for a play :slight_smile: Many thanks !

This looks very interesting, looking forward to having a play around, :slight_smile:

If you would use materials and meshes from any of the free content examples like the background mountains in particle demo or landscape from the mountain open terrain demo, or any inifinity blade assets - you would get 100 times the attention you get right now. And after seeing the entire playlist the performance test and multiplayer capacity i can tell this is really amazing. You just put off the “voxelfarm” out of ue4 business right there :slight_smile: i will closesy keep an eye on this project and be more than happy to take part in stuff i can help with.

Still needs some work before it’s really usable, but still, amazing stuff.

For dynamic nav mesh stuff that I’ve seen in the playlist, I’d suggest figuring out dynamic navmesh proxies for dropping (with settings for drop limit) and jumping (with settings for how high characters can jump and how quickly they can move, to jump up terrain and across gaps).

@Candescence For now I’m using UE classic navmesh system, so you can do whatever you want with it. However I will at some point implement my own navmesh solution, as UE doesn’t support spherical meshes for navigation (see https://github.com/Phyronnaz/MarchingCubes/issues/13)

@AngeIV Thanks! Sadly it’s a bit more complex than drag&drop for materials, and multiplayer is currently broken ;). That being said once everything will be (kinda) working I will definitively do a real demo of this.

Tesselation with Kite Demo Assets:
https://youtube.com/watch?v=ECUJcKuzsHs

Multiplayer:
https://youtube.com/watch?v=MiboFdirHzg

How many textures can we apply to the voxel terrain (in practice) btw?
Does the same limitation apply as for landscapes?
And can we use the foliage tools with the voxel terrain? If yes, how does it work for caves? (do we need a different material for this case?)

@rYuxq For now the limit is 16 textures. The difference with landscape is that a Landscape can have more textures if they are not on a same LandscapeComponent. Haven’t tested that yet, but @Koderz had an engine source that supported textures arrays, allowing for a (nearly) infinite texture count.

As the terrain is dynamic, foliage tools don’t work. Grass is supported (small mesh without collision). I want to add a custom spawning system for trees (big mesh with collision, can’t overlap with the world). Grass is using the floor voxel material (int between 0 and 255) to choose the GrassType.

but I think the foliage tools should work for voxel terrain as well, since if I am not mistaken, it simply places trees (the locations are based on an algorithm) through ray-tracing from high to low… Correct me if I am wrong. Did you look into the algorithm that calculates the tree locations in the foliage tools?

Haven’t looked into it, but it only works in a limited box, and doesn’t support spheric worlds. Moreover, physics raycasts are extremely slow, while I can do more efficient ones based on the density field, allowing for a generation of the trees at runtime, and thus for infinite worlds.

Then I hope you get the density fields right :wink:
I like the distribution used with with the foliage system and I think implementing your own foliage system is pretty pointless, if the distribution isn’t believable

https://youtube.com/watch?v=EtIqguo6E_E

I have a suggestion for modifying the terrain. It’s about the brushes.
Can you have brushes where you control parameters like “top material”, “bottom material”, “slope material”, “material below a certain point” etc.?
I think this would be a good idea, because this way, one could terraform the landscape without having to worry about painting the right materials.
So for example, if I were to dug a cave, then every mesh triangle that is affected would be checked for whether it’s a triangle at top, at bottom, a triangle in a slope or below a certain point in worldspace and apply the material according to the parameters that have been set for the brush.
You could of course use more reasonable parameters, but this is just to give an example.

Here’s how it works for now: on each voxel, 4 values are stored:

  • the density value
  • the index of the first material
  • the index of the second material
  • an alpha to blend between those materials

The materials are set by the world generator. Then, in the UE Material, there’s a node to switch on materials. As the textures are triplanar-projected, you can have 2 set of textures per material: one for the top and bottom, and one for the sides. I don’t think using only triplanar projection you can differentiate the top and bottom textures. Of course that could be done on a lower level when generating the mesh, but I don’t want to do that to keep everything consistent for now. If this feature is interesting more people, then I’ll consider adding it :slight_smile:

Wow this looks great! Thank you for sharing!

[quote=“Phyronnaz, post:7, topic:100071”]

Tesselation with Kite Demo Assets:
https://youtube.com/watch?v=ECUJcKuzsHs

I am very interested in doing the same with the textures as you have done with the Tesselation with Kite Demo Assets… I have the assets, but not sure how to link the textures to MaterialChooser(NUM) and M_Colors_VoxelMaterial… Just bit confused… Could you share a example just to get me started… I have imported a heightmap I made back in 1997 LOL :wink:

on generating the sln I get this warning (before the tiny window disappears):

WARNING: d:\UE4\Voxelplugin\MarchingCubes\Plugins\Voxel\Source\Voxel\Voxel.Build.cs(17,51) : warning CS0618: “UnrealBuildTool.ModuleRules.BuildConfiguration” m?r elavult: “The BuildConfiguration alias is deprecated in 4.18. Set the same properties on the ReadOnlyTargetRules instance passed into the ModuleRules constructor instead.”

and compilation fails:

1> [17/24] Link UE4Editor-Procedural.lib
1> Creating library D:\UE4\Voxelplugin\MarchingCubes\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-Procedural.lib and object D:\UE4\Voxelplugin\MarchingCubes\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-Procedural.exp
1> Module.VoxelEditor.gen.cpp
1> Module.VoxelEditor.cpp
1> [20/24] Link UE4Editor-VoxelEditor.lib
1> Creating library D:\UE4\Voxelplugin\MarchingCubes\Plugins\Voxel\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-VoxelEditor.lib and object D:\UE4\Voxelplugin\MarchingCubes\Plugins\Voxel\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-VoxelEditor.exp
1>ERROR : UBT error : Failed to produce item: D:\UE4\Voxelplugin\MarchingCubes\Plugins\Voxel\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-Voxel.lib
1> Total build time: 110,83 seconds (Local executor: 0,00 seconds)
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.MakeFile.Targets(46,5): error MSB3073: The command ““D:\Program Files\Epic Games\UE_4.18\Engine\Build\BatchFiles\Rebuild.bat” ProceduralEditor Win64 Development “D:\UE4\Voxelplugin\MarchingCubes\Procedural.uproject” -waitmutex” exited with code -1.
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========

Very interesting.

I’m trying to get this installed on 4.19 preview and upon generating my project files I’m receiving the following error:



ERROR: c:\Users\ULLS\Documents\Unreal Projects\VoxelTest\Plugins\Voxel\Source\Voxel\Voxel.Build.cs(17,51) :
error CS0122: 'UnrealBuildTool.BuildConfiguration' is inaccessible due to its protection level
ERROR: UnrealBuildTool Exception: Unable to compile source files.

Anyone have any ideas?