Voxel-Art Studio, (WIP add-on)

thumb:
phil

Because it is WIP and not yet a released add-on, i hope this is the right category to post it:
Today i reached the 4th milestone of the Voxel-Art add-on i am currently working on:

Criticism and suggestions are very welcome.

7 Likes

This looks really interesting. I look forward to you releasing … at least a beta version.

Happy you are interested :slight_smile:

i am bit unsure on how to move on. When i started to code the addon it was because i (naively and with barely any coding knowledge) thought, it would be a simple task (ready in a few days). It was/is not (but i learned a lot).
The main problem was and is the speed. I came up with several methods to keep the speed bareable, but compared to e.g. magicavoxel (i still need to add an importer for it) it still is slow to work with. Adding the new features is not thaaat hard, but improving performance is, at least for me, quite a task (i have some ideas tho) and very time consuming.

On top of that i am quite unsure, if there is a demand for a voxel-art plugin at all.

Concerning the Beta: I do not think, i have reached a point where it would be beneficial to post an official one, but feel free to send me a pm and i can send what i got so far with a short description on how to use it (in exchange for some critique ^^)

Greetings, Lars

DUDE!!!

I always thought Blender should have a voxel mode! And here you are with this! Bravo! :clap:

Any new developments since this post?

I’m a MagicaVoxel user myself (it is brilliant!), but it has some limitations that would go away if we could do the same kind of things inside Blender…

At the moment there is (close to) no development since the demand for such a plugin seems to be minimal at best. Maybe i will put it on github, not sure if it is worth the effort tho (and everybody would see what a crappy coder i am :sweat_smile:)

Maybe they would, but putting it on GitHub opens it up to someone with more coding experience helping to clean up your code or just improve it.

I’d say at this point you put so much into it I’d hate to see it go unused.

1 Like

^ Oh so true… “Share for use or let it die from unuse.”

Am also very interested in seeing how far you got with this as am trying to develop something similar for a personal project at the moment :). Also very inexperienced with coding and currently trying to learn for this purpose as well -.-… Would also be very interested in talking it over if you’d be open to it? I also have some methods for animation stuff that i’ve made and want to try to implement that i’d be happy to discuss too (would be interested in any thoughts on it)…

Some new features are added:

  1. Import Slices (e.g. from Magicavoxel):
    https://www.youtube.com/watch?v=2wL6unoXpI8

  2. Mesh to Voxel:
    https://www.youtube.com/watch?v=rc76k1TiyYw

  3. Voxel Animation:
    https://www.youtube.com/watch?v=BuGZp9-yC0A

I have some ideas how to improve the outcome of the animation process that i will tackle next. Also i am going to add methods to render those animations as pixel art.

phil

2 Likes

Neat stuff, thats a great example with the running man animation!

Im pretty interested in voxels since a game Im working on currently has a voxel focus. Working on my own importer/exporter but will keep an eye on this, could have some interesting applications.

Is this using the inbuilt mesh -> voxel modifier or youve written something custom?

It is all custom. That enables you to go into every frame and change stuff on a per voxel basis*. One downside is, that it is quite same data. A 100 frame animation in a 128Âł grid is around 0.5GB. (I will add the possibility to bake the Animation to mesh. That will be wayyyyy smaller but you cannot change something on a per voxel basis anymore).

*You can see it in the end of the Video. The green and pink voxels are in the animation.

1 Like

Very cool. Following.

Yeh that was my next question, the data involved in voxels is always a bit on the high side. Im running into that issue with my voxel game. Terrain is easy because its procedurally generated but characters having potentially hundreds of frames of voxel data is a problem and I havent found any data formats that work well with it.

So having to develop my own data format to solve the issue, which once its done will basically store the voxels as single points with scale/colour/location data - all crunched down to the absolute minimum. From there I’ve got some ideas on loopholes to make it even more efficient. Its promising so far but not yet useful at this point. But could apply to something like this nicely. I’ll make a thread here on BA at some point in the coming weeks/months once development is a bit further along and I have something to show and some proper numbers.

Did you have any other ideas in mind other than baking to a mesh? Maybe thats enough for this kind of application, you get the animation how you want and then bake it. Would be interesting if you could unbake it as well, to allow editing again but then I guess you can just keep the original file if you need to make edits anyway. Interesting!

You actually could, but only the exposed voxels (that are next to empty ones) (i did not code that tho but it could be a nice idea for the future).
You can lower the required space by limiting the color palette. In my case you can have all rgb colors and 256 different materials.
There are also different methods to compress data but i did not look into it yet. (e.g. the data i am using could maybe be put into a png image. Pixel 2d position recalculates to voxel 3d position, rgb for color, alpha for material. I am not sure how much space this would save.

Take all i say with a grain of salt. I do not consider myself to be an expert at this, i am just a foolish artist who started this project thinking it would be an easy task (it is not, at least for me… i kinda struggle my way through it).

My plans for the future atm are:

  • Getting the what have right now published (Need to write documentation etc.)

after that

  • improve performance (have a nice idea … will be a pain in the *** to impliment it but will totaly be worth it);
  • improving the animation baking (also have a nice idea, also not easy to implement)
  • a pixelart rendering method
  • a ton of “conveniant functions” (like selecting and editing more than one voxel at a time and so on.)
  • a nice looking implementation of transparent voxels
  • etc.

the list is long and i am far away from working full time at it so it will all take some time.

1 Like