Important: This version of Cubiquity is no longer under development and is being removed from the Asset Store (though it remains available in our Git repository). A replacement ‘Cubiquity 2’ system is under development but not yet publicly available. About Cubiquity
Cubiquity is a flexible and powerful voxel engine for both the free and pro versions of Unity. It can be used to create terrains with caves and overhangs that can be edited in real time, or to create retro-style environments from millions of colored cubes.
Unique features
Cubiquity is far from being the only voxel engine available for Unity, so what sets it apart from the competition? You might be interested in the following (mostly exclusive) features:
You should also find that the volumes behave similar to other Unity3D objects. You can drop them in the scene, transform them, edit them, and apply different materials. It’s not simply a voxel terrain system but a general-purpose voxel engine.
Download for free!
You can download the fully-functional system for free. No need to wonder whether Cubiquity is right for you - just give it a try and see!
Current limitations
The system is under active development, and even though we are already on the asset store we have lots more work to do. Watch out for the points below, but remember the system is free!
Only desktop platform are supported (Windows, OS X, Linux). You would need to compile the C++ code for other platforms yourself.
Volumes size is currently limited to a few tens of millions of voxels.
Not many import/editing options (but you can generate volumes from code)
Follow us
You can also stay up to date with the latest developments with the following links:
Looks very cool. I wonder what texturing options you have, and if you allow for smaller batches of meshes composed of a lot of chunks, as this would probably mean smaller meshes being uploaded to the card and less cpu time. But you’re the expert so I’ll listen to what you say. Great work btw!
The underlying PolyVox library supports many options including Minecraft-style texturing or triplanar texturing for smooth (marching cubes) terrain. Even plain coloured cubes can still have normal maps applied. So really it’s a question of what we decide to expose through this plugin.
Initially we are focusing on plain coloured cubes while we get the Unity integration running smoothly. Ideally the voxels will become so small that you don’t even need textures anymore. This is the idea behind Atomontage for example, and we’re already doing some work in this direction:
Note that the image above is from the Gameplay3D version of the engine, but it will come to Unity soon.
If I understand you correctly then the system already handles this. The volume is divided into a number of pieces so you only need recreate/upload the mesh for those which have changed.
Glad to hear it! I think we’re probably just a month or two away from have an initial version on the asset store, though development will continue long after that. The API is very simple as it’s basically just a 3D version of drawing pixels to a image, except the pixels are cubes and the image is a volume.
So once it’s a bit more stable we’ll put it on the asset store, and then build higher-level features, tools and optimisations over the coming months.
Hi guys, just a quick update - for the last few days I’ve been hard at work on everybody’s favorite feature of voxels engines… destruction! In the previous demo voxels could be deleted from the scene, but now they can be separated from the grid and treated as independent physics objects. Let’s take a look…
Admittedly the physics was running a little slow by the time I got to the last image but it was a lot of fun I’ll try and make a video and get a new demo out in the next week or two so you can try this for yourselves!
I’ve spent some time polishing the explosion physics a bit a made a new video for you all:
I really like the way this is coming together and I had a lot of fun shooting up the environment I’ll try to release a new version in the next week or two so that you can all play with this yourselves.
*** Update - 21st June 2013 ***
We’ve just written a blog post about the physics work shown in the video above, and also provided a Unity project so you can try it for yourself. Do read the blog post for instructions on what you should do with the files!
Over the last couple of weeks we’ve spent some time improving the support for larger voxel environments and improving the integration of our Cubiquity engine. Here’s an entire city modeled with voxels and loaded into Unity. Of course it’s fully destructible in real time, as with our last video.
The data is taken from here, and we will eventually provide various ways to get voxel data into our engine.
Here’s a new video - instead of using the ‘city’ map from the previous post we decided to use this map of an industrial factory complex, as it has a bit more space for the tank to drive around. Compared to our last video it is showing a larger environment and integration of the Detonator explosion plugin. Check it out!
I have a question for you guys - do you only get your assets from the official Asset Store or are you also comfortable using other sources?
Obviously we would like to be on the Asset Store for publicity reasons, but there is some work to be done before the system is mature enough. Because the basic version of the system is free, we have the option of just providing downloads from our website or even putting the code in a public Git repository.
I would be very interested in the option! I cannot wait to trial out this solution, I have kinda been holding off on some dev work until this comes out so I can evaluate it!
At the moment the main limitation is that we have used some assets which we cannot give away for free (such as the tank model), so we need to replace those assets before we go public with the repository. I think it should happen in the next couple of weeks though.
Currently the engine is able to import a series of 2D images to make up a volume. On disk the data looks like this:
I quite like this approach because file managers give a thumbnail preview of the images, making it easy to get an overview of your data (or to edit it in the tool of your choice). Its also obvious how to read/write them. Once imported the data is stored in a more efficeint format with compression, chunking, etc. The above images create the following volume:
For other file formats I think we will most likely provide a converter to generate these images, rather then having a direct import option. But this isn’t really set in stone yet.
Great news! We’ve just announced the source code and shaders for our Cubiquity integration package are now available on BitBucket, and work with both the Free and Pro versions of Unity3D. This is still an early version of the system, but we’re opening up development in this way so that you guys can start playing with it early and can follow it’s development as it evolves over the coming months.
You can clone the code from BitBucket or download the snapshot below:
We’ve also prepared a video to give a quick overview of the system and demonstrate how to use it. The video shows how to create volumes using the built-in editor functionality, how to import a volume from images, and how to generate a volume procedurally. It also demonstrates how to interact with the volume in play mode and make modifications to it from code:
The BitBucket repo does not include the source code for the native code DLL, but a copy of the DLL itself is provided. You can use the system for free for both commercial and non-commercial use, though the volume size is limited to 256x256x256 voxels. In the future it will be possible to raise this limit by purchasing a license.
I am getting errors on OSX that the DLL cannot be found. It has been copied into the root by your Installation script (as indicated by the log) but I cannot get it working.
Note: OS X and Linux are now supported. Disregard the comment below.
I’m sorry, there is no OSX version at the moment (I should have made this clear). The .dll is only for Windows as it’s native code, not C#. We should improve the error message in this regard. Creating an OSX version will require building the core C++ library on the OSX platform, which should be possible but we don’t have an OSX machine to build and test on at the moment. Unfortunately it won’t happen until the Windows version is closer to being finished.