Cubiquity for UE4 - Voxel Terrain Plugin

Update video

I’ve posted an update on our blog to show off a video I’ve put together to demonstrate the current status. It shows off using the asset in the editor and linking it up with the Blueprint system.

Any Update?

+1 to this.

Looks awesome already. I’ll gladly test it and provide feedback should you need to.

Will it stay fully dynamic in-game so that players can make their own levels without the UE4 editor? This is an important legal issue for me.

I’ve been working on this over the last week or two and have managed to fully integrate all the functionality of Cubiquity into the plugin. The work now comes from making the plugin itself provide easy access to the functionality to you, the end-user. I’m currently working towards a pre-alpha which will allow rudimentary in-game editing abilities.

Longer-term I am working towards an 1.0 release which will focus on in-game editing rather then within UnrealEd since editor integration is a harder problem to solve. I also expect the 1.0 release will have comprehensive Blueprint integration for flexibility. Before the 1.0 release, there are however a number of things which need to be changed or added to UE4 itself so to a certain extent it will have to wait on those.

There will absolutely be functionality available for you to allow in-game editing of any of the volumes. However, as the game creator it is very simple to disallow any editing entirely if you wish. How much control you give is entirely in your hands.

Hey Milliams -

Thanks for the update really excited for Cubiquity.

:slight_smile:

EDIT: Would it be possible to Post a video of the Colored Cubes demo in Unreal 4?

Just Curious

HeadClot

I do plan to do so. I’ll need to implement a simple in-game editing interface (add/remove blocks and choose colour) but I’ll probably try to show how that would be written using Blueprints as part of the video. It’s something that I’ll need to create for the first release anyway. I’m not sure when I’ll get round to the video, it depends on time but I’ll put it on my list :slight_smile:

What sort of things are we talking about here? Are the on the official roadmap i.e. do you know they’re going to be added?

I’m looking forward to trying this out, could definitely see it being useful for cave systems with copious amounts of static meshes to roughen it up.

One of the things that’s been discussed here on the forums is improvements to the plugin system. At the moment, support on the marketplace for code plugins is poor (I don’t believe that they allow them at all yet). As one example I need to be able to bundle along a shader file (.usf) with Cubiquity but under the current system this will have to be copied by hand into the engine’s shader directory by the user. Since UE4’s underlying C++ API is evolving quite rapidly (which is a good thing) I’m trying to not tie myself to early implementations of systems when better ones will be coming down the line. Instead I will focus on the more stable parts of the system first.

Once the first preview of Cubiquity is out, I will try to put my work items somewhere public so that people know what’s planned in what order and there I will document any specific requirements from UE4’s side.

You sir, are a genius. I’m already changing the direction of my game based on this being a possibility in the future, AWESOME!

was literally just pondering about finding a voxel plugin exactly like this for ue4 as my current project will greatly benefit from it in the future luckily i dont need it anytime soon but i will definitely be keeping my eyes on this :smiley:

@milliams,
I am so stoked about your port of Cubiquity. I am in the process of migrating from another engine partly due to your porting efforts. Thanks.

Coloured cubes preview

Hi everyone! I realised that I hadn’t posted anything here about what I’ve been working on with the coloured cubes-style terrain. If you’re following me on Twitter then you may have seen this already but here’s some screenshots I took of a large example map being processed by Cubiquity. The voxel data for the map shown here comes from a custom map for the game Ace of Spades created by a member of the Build and Shoot community forums member Ki11aWi11. The voxel data has been converted to our custom storage format (VDB) and so can be read natively within Cubiquity.

For now I will just leave you with these screenshots but I’m planning on a video showing the coloured cubes terrain in game as well as some details of the Blueprint API for Cubiquity.

http://www.volumesoffun.com/downloads/screenshots/C4UE4_6_t.png
A view showing a chunk of the map from the top of one of the buildings.

http://www.volumesoffun.com/downloads/screenshots/C4UE4_7_t.png
Raining down destruction on the ground below.

http://www.volumesoffun.com/downloads/screenshots/C4UE4_8_t.png
Everything in the map can be destroyed and interacts properly with the physics engine.

Awesome!

Is there an ETA for the Colored Cubes Demo?

Or at very least a video?

EDIT: Also I have a bit of a concern. How would you prevent players falling through the bottom of the world?

No ETA but it will be ready as soon as it can be :slight_smile:

As for stopping players falling through the world: Cubiquity offers nothing to do this automatically. All editing of the volume is completely under the control of the game author (i.e. you) and so it would be very easy to add an explicit check to make sure, e.g., that the bottom layer of voxels is never destroyed.

Alright thanks for the info :slight_smile:

Still got a few more questions -

Is the .VDB an custom Import option via Unreal importer? (Similar to how we import FBX files)

As for the blueprint side of things - What are you guys planning to do in a general sense?

Will the .VDB be exposed so that end users can import there own levels into an completed unreal game?

VDB is a small database file which sites on disk and is the primary backing store for Cubiquity. It’s not just an interchange format but also is updated in real-time to store edits etc. We have a program which converts from a number of standard formats (heightmap, image slices, MagicaVoxel etc.) into VDBs which can the be read at runtime by Cubiquity.

For the first release it will be just the basics. For the coloured cubes you will be able to get and set on an individual voxel level. The smooth terrain editing is a little more complex and so functions to paint and carve will be provided too. More advanced functionality will probably not be part of Cubiquity per se but will be provided as examples of how to use the API. People’s use-cases are so varied that we don’ want to provide too much specific functionality.

This will be up to the game author as to how available they want to make this functionality but it would certainly be possible to expose this ability if you wished to.

This is THE feature I want in my UE4 game. Well besides some others…

Thanks for updating your progress on here. Very inspiring to see how it is coming along.

Edit:
I do have one question though:
Will this be usable with the level streaming capabilities of the UE4 engine? ie infinite terrain?