Cubiquity for UE4 - Voxel Terrain Plugin

I haven’t really looked into this at all yet and it’s not something I’m planning on getting integrated for the first release. However, it’s definitely something I want to look at the feasibility of. I haven’t really stress-tested Cubiquity yet to see how large a terrain we could get in one volume. We do have some plans in Cubiquity for paging terrain on this scale and to be able to integrate this into UE4’s level streaming would be great.

@milliams,
The reason I mentioned streaming is because it seems like a natural fit for level paging. It can be controlled through blueprints and so could provide a flexible integration with traditional level modeling. As well as providing complete world generation.

Also, I was thinking it would be really interesting to have structures able to render using blocks on top of a terrain the uses smooth surfaces. Unless of course you have implemented the option for density (smooth or blocky controlled per block)?

Hey milliams,

Is there an ETA on this?

Really want to use it :slight_smile:

This would be really fun to play with, looking forward to it.

You should check out the thread for cubiquity on the unity forum as it answers a lot of these questions and is probably a good guide for what to expect.

You can actually layer a cubed volume over a smooth terrain to achieve what you’re saying. Do a collision check on the smooth volume and insert a cube at that location (on the cubed volume).

Cubiquity is actually really flexible. In theory you can have lots of volumes in the one level, although, I’m not sure what the performance implications are.

This is all assuming cubiquity will work the same way it does in unity.

Indeed, this is the currently recommended way to implement this. In the much longer term we have plans for a more flexible system (based on dual-contouring) but that’s further down the road.

On the whole we’re trying to make Cubiquity work as similarly across engines as possible so if something’s possible in Unity it should be possible in UE4 (though UE4 gives us more control so the inverse isn’t necessarily true).

Is there a way to get hands on this for UE4? This could safe me a ton of work for my new project.

Is there an ETA?

There’s no ETA at the moment I’m afraid. I’m currently only working on this in my spare time so progress only happens when it does.

Video update

Hi all,

I’ve put together another video showing off the latest developments. Check it out below:

Hey Milliams - This update has really made my day. The colored cubes examples looks awesome. :smiley:

So here goes a question - Can we have a Volume that is not a terrain but a building or series of buildings?

That said really looking forward to this. :smiley:

HeadClot

Of course. While Cubiquity is aimed more at terrain style uses, it can absolutely be used for buildings etc.

Ok awesome!

Good to know :slight_smile:

When you destroy a voxel and set it’s alpha to zero are you also destroying/removing the mesh? Or just making it transparent and turning off the collision?

The Cubiquity system works on two distinct levels (as do most proper voxel engines): the volume and its representation.

The volume is a 3D array of voxels where each voxel is just a 32-bit colour. Setting the alpha of a voxel simply sets the last 8 bits to a different value (00000000 instead of 111111). The hard part on this level is doing this in a fast and efficient way.

Then there is the representation of that volume in a visual way. This is more complicated and works across a number of different subsystems but the important part is that there is an algorithm which runs over the voxel data in the volume and creates a mesh which contains a quad between any two adjacent voxels which straddle the density threshold (alpha:10000000 by default). Multiple quads in a plane are merged to reduce triangle count. The details of the extraction are given in the PolyVox documentation. This mesh is what is used in UE to display the volume and also to do collision detection.

So, each voxel isn’t just being rendered as a cube in the scene but rather they are all being combined into a single mesh. When a voxel’s alpha is set below the threshold, it no longer exists in any way in the UE representation as a mesh or as a collision object.

Hey milliams,

Got a suggestion for Cubiquity - So I am personally going to be using Cubiquity for level creation/development in my game. Namely buildings, shrines, ruins, and the like. Would it be possible to make a tool similar to the one in the video below. Basically what I am asking is something that will streamline content creation with the colored cubes styled worlds. But still allowing the flexibility of Color cubed voxels.

Also got a question about licensing -

Will Cubiquity be per seat? Per project? Per team? This is not really clear.

Thank you for your time,

  • HeadClot

More advanced asset creation tools is certainly something we’re thinking about but it’s not going to be our focus at first. What we plan on doing at first is relying on external tools. For now the primary way is importing from MagicaVoxel which leverages their excellent tool and allows us to get the other stuff working well. There’s a little bit of documentation about this in the Cubiquity for Unity3D docs.

Looking further forward we’re planning on some advanced in-editor tools, perhaps not dissimilar to what was shown in that video but the other features will have to come first.

Cubiquity will be sold per-seat which is in line with how we sell it for Unity3D as well as how UE4 is licenced.

Hey milliams -

Thank you for the replies on this -

Got a few more questions -

  1. How far out do you anticipate the in-editor tools to be after the first release of Cubiquity for UE4?
  2. Will you be taking advantage of Vulkan and/or DirectX 12 when they become available for Cubiquity?

I might be saying old news but–This looks awesome!

This looks so amazing ;u; It makes my eyes almost teary. This would come in handy so, so much. I know that there’s one thing that devs hate, and it’s ETAs, but I still need to ask-- Is there going to be a release (idc what stage) planned anytime soon?

Any news on Cubiquity?

Really want to get my hands on it. :slight_smile: