Voxel Destruction Engine

Hi!

My voxel engine has just been added to the Asset Store, so hereby I wish to bring the word out a bit.

This engine make it possible to create holes in objects, making them destructable. It works with the free Unity version.

The voxel engine works with existing meshes and integrates easily. It is a variation on raycasting and is a one of a kind, only available in the Asset Store. It works rather smooth too; I have some videos in my Youtube account (view here) in which I use the engine to make an entire city destroyable (link).

Anyway, the link to the engine is here: https://www.assetstore.unity3d.com/#/content/12088 . I’ve uploaded a simple demo downloadble from here.

You can download the documentation from here: http://www.lastsuffer.com/kajosworks/files/Documentation.pdf

Much nicer demo, of my game called Last Suffer: here

For any questions, I’d be happy to answer them.

Regards,
Kajos

Screenshot:

  1. your youtube video is private
  2. no webplayer? webplayer is more secure than an unknown zip
  3. What hardware compatibility?
  4. cubes only?

Promising asset.

Thanks for mentioning that the vid is private; it’s public now. Webplayer isn’t an option as the engine relies on certain features (for GPU) that aren’t available in the browser and mobiles. Other than that, the engine works with Linux, Windows and Mac OSX.

The voxels are rounded and can be assigned to regular meshes (in other words, a mesh can become destructable, consisting of a geometric mesh AND voxels). There are some things to take into account, for example animated meshes and meshes with a lot of protrusion (for example an L shape or T shape) are best left alone.

Very cool!

Looks really interesting and performs extremely well on my old Core 2 Duo machine. Is there any way we could get a video/demo showing better use of the shader’s voxel features? Right now it is cutting randomly making it hard to tell how usable it could be. Can you make a demo that allows the user to switch the style of removal to something more standard, such as a cube and sphere method?

Thanks,
Dane

I’ve made another example: here
At the moment, this is the smallest I can get it, without using more voxels (8x8x32 grid atm per part of the building which is 2x2). The large red building shows a smaller voxel hitzone using random holes. The grey building next to it with the same size shows the same settings but without random hitzone and hence needs to create bigger holes.

The cause of this effect is that the physics voxels and the rendered voxels are not exactly the same (physics voxels are often bigger to enhance performance and the physics voxels are cubical instead of rounded). Hence the hitzone needs to be a bit bigger.

I will look into it in the future to see if I can overcome this issue.

Added some round balls with voxels applied and with rigidbodies too. Same link as the above.

Interesting, thanks for the other example. It is indeed a little different from what you would expect in other voxel solutions but there is still some great uses for this technology. Thanks for adding it to the store and I will definitely keep following. When I get closer to needing something like this, I will definitely pick it up!

-Dane

The demo is not very speaking to the imagination, so I’ve added a demo of Last Suffer too, which looks much nicer and shows off how many buildings for instance you can have in the scene with voxels applied. Download here: Last Suffer

This technique has never been done until now. It has very different features as other voxel engines indeed, and it takes some getting used to to get the most out of it.

Temporarily lowered the price to $50. Get it while you can!

Hello,

I have two questions :

  • Can it be applied to the terrain ?
  • Is it possible to tweak the shape of the for-now-spheric holes made in the objects (and by the same way the mapping of textures on it) ?

For instance, I’d like to have a more low-poly and more random, less rigid, shape for the holes.

Very interesting project though!

Hi Superjam,

It’s not really meant for terrain, as the number of voxels has to remain low. Technically it might work, but it’d be a hard job.

The rounding of the voxels can be adjusted; more rounding might take somewhat away from performance. The shape can’t be adjusted, as that won’t go with the principle of voxels. I’d suggest using smaller voxels and customizing the removal algorithm if needed.

I recommend reading the documentation a bit before buying (you can find it on my site as well) as it makes you a little wiser about the engine.

Regards,
Kajos

Hello Kajos

Will you b making it compatible with DX11?

inner textures only show in forward rendering mode. Is that going to change?

Hi Mohoe, I’m sorry to hear that it doesn’t work without forward rendering. I’ll look through the source, I don’t see why it wouldn’t work with Deferred Lighting. DX11 is unsupported, as it requires a totally different shader and that would be a lot of work. Bare in mind that this is made for Unity Free, and I am also working with Unity Free, so Pro specific features are not a first priority (and would require me to spend 1000$ just for a license of one specific version of Unity).

Send me an email by the way, that’s a little easier to talk.

Hey Kajos,

Not to worry about DX11 too much, I didn’t expect it to work and you didn’t say it would anyway :slight_smile:

It’s only the inner texture that’s not showing in deferred. Did you check on your system if it works?

I like where you’re going with this Kajos, I hope you continue to develop this asset. I don’t see anything else like this on the asset store. I’ve seen the other Vox systems but I’m not interested in all the procedural stuff, just a fast destruction system like yours.

Anyway keep up the good work.

Regards
Mohoe

I’ll look at the inner texture not showing soon. I can probably use the trial period of Unity Pro (it’s a pro feature, if I’m correct) and will fix it then. Might take a week with the holidays and all, maybe less if I can find the time.

Thanks for the compliments btw :slight_smile: Good that you like it.

I’ll keep you up to date about the solution to your problem.

Greetings,
Kajos

Sorry Kajos I forgot that deferred was pro feature too :frowning:

Not to worry, no rush! I’m not in a hurry so please take your time and enjoy the process (no stress). My project is long term so I’m in no rush.

All the best Kajos :slight_smile:

Hi,

Fascinating tech demo, or at least video of tech demo - thank you.

When you say “relies on certain features (for GPU) that aren’t available in the browser and mobiles” can you expand on exactly what? My target platforms are all mobile, but I’m also perfectly happy to take control of that. There’s a lot of meanings of “doesn’t work on mobile” ranging from “it’s too slow” through “it needs this specific floating point texture for accuracy” to “it’s all implemented as a compute shader.”

Also, to confirm, is your source code is complete and non-obfuscated? We’ve had some bad experiences with assets that could have been perfectly usable on mobile with a little customization to our use case, but then discovered that the source code was obfuscated.

Hi, sorry for the late reply; I was in the hospital and unable to reach the forums. The reason the engine doesnt work with mobile is because of the setting of the fragdepth. In theory if you incorporate some trickery by using alpha values for depth, you might get around it. Without a fix itll still work, but when to partially destroyed voxels intertween, the depthtesting is broken. There are some other situations that can occur.
The speed of the engine I cannot comment on, it runs pretty light, but you might have turn it down a notch.
The source is open, although not everything is documented (I think the shaders are somewhat documented). I’m also happy to help out.
FYI, there is a compiled demo somewhere too, called Last Suffer demo. Edit: It’s in this thread.