Voxel plugin™

Is 15cm spacing too ambitious?

Hello everyone!

I’m happy to announce that voxel plugin™ is finally released:

2 versions are available, a free and a pro one, which can both be used commercially. Here’s a quick summary of the 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

There’s a 20% discount until 05.05.2018, so make sure to check out https://voxelplugin.com for more info!

Will this be released on the marketplace anytime soon?

@jojo8026 Free & Pro versions will be released ASAP on the MP.

Congrats on the release!

Awesome :smiley:

This is probably a silly question(s), but it looks like the banners showcase spherical worlds. How easy are those to accomplish? Secondly, does it have cave support and/or does it save changes I’ve made such as hand sculpted areas like pre-made caves that would be loaded at runtime using a predetermined seed?

@Arixsus

Those are really easy to accomplish. Let’s quickly see how the one on the banner was generated.

The Voxel Graph look like this:

https://i.imgur.com/2Aqrg8g.png

It’s divided in 3 parts. First, I compute the polar coordinates:

https://i.imgur.com/fFmFoI8.png

This part is a bit generic, so I plan to create a node to do that (which, btw, is really easy to do :slight_smile: )

I then use those coordinates to create different layers of noise:

https://i.imgur.com/aQXD9lU.png

And I use those heights to set the voxel materials:

https://i.imgur.com/BdOPuxr.png

These parts where I set the voxel material based on height are a bit generic too, so I also plan to add nodes for that.

You can also do that in C++ if you only have the free version. It’s a bit more difficult as you don’t have an immediate feedback, but totally doable. See https://voxel-plugin.readthedocs.io/en/latest/voxelworldgenerator.html for more details on that.

You can create caves using some simplex noise. As this kind of generation tends to be very project-specific, I haven’t looked much into it for now.

For now there isn’t any in-editor edit tools. However I plan to add them really soon. What you could do in the meantime is edit the world in game mode, and save it to then load it at start.

Hope this answers your questions!

Wow! Thank you for the detailed response! I’ve had my eye on the plugin as you were developing it and wanted to see how far you’d go with it. Sadly, I’ve seen a lot of pump and dump plugins come along and support drops away pretty fast or has a complete lack of support from the get-go. So color me impressed. That being said I have been convinced to adopt and will look forward to all of your future updates.

Hi, great work, however looks like your binary version is for windows only?

Trying to build from source on OSX produces issues with the OCTREE code:

…Plugins/Voxel/Source/Voxel/Private/VoxelData/Private/ValueOctree.h:127:7: error: no type named ‘shared_mutex’ in namespace ‘std’; did you mean ‘timed_mutex’?

@GuyverT1 Can you join the discord? I don’t have a mac to debug that, and doing so over the forums will be a pain. Thanks!

Question: I would like to create static levels, i.e. no deformations etc. at runtime. How does it behave with static lighting?

@Raildex_ Not well, as it’s entirely generated at runtime. With a few tricks you might be able to get it to work though.

Added an issue for tracking: Investigate use of static lighting for static world (#11) · Issues · Phyronnaz / VoxelPluginIssues · GitLab

Why did you have to make a fork of the Unreal Engine? That limits the use cases for your plugin. Sure you got texture array support, but wasn’t there a decent workaround that could have prevented an engine change? Is it likely that UE4 always be compatible with your texture array changes? This also makes it potentially difficult to integrate your plugin with other plugins that require custom forks of UE4.

@MerrrLocke The plugin has versions fully compatible with the normal engine. Texture arrays are only required if you need lots of textures. If you don’t want to use them you can look into textures palette/atlas, but those are also quite a pain to do.

I’ve released the 1.1 version of the plugin on Gumroad and Sellfy. It includes in editor edits for both voxel plugin™ FREE and voxel plugin™ PRO:

This looks really interesting and I’d like to take a closer look at it.

Unfortunately I’m having problems getting this into a project (both letting Unreal build or trying to build from code, both with 4.19.2 and 4.18.3) due to the Texture Arrays.

Is there no version that doesn’t need the fork?

What would be necessary to make it run without the fork?

@LordStuff You can download the gumroad version (voxel plugin) which has binaries & source for 4.18, 4.18 with texture arrays, 4.19, 4.19 with texture arrays.

@Phyronnaz Thanks for the response, the gumroad files work! I was thinking they’d be somewhere on github too.

Hi there, this is something I’d be interested in for a vr game that I am working on. When creating a spherical world, can it handle larger sizes on par with Space Engineers and No Man’s Sky? Also will it automatically generate LOD for when you are far from the “planet” so that you can be in space around it and it still be there without destroying performance?