CubeSter

A while back an add-on called Cubify was released. It took and image and converted it into basically a height map. It was very slow once the image got above the size of about 32x32 though. CubeSter has the same basic ability, but runs about 1,600 times faster, meaning images with over 450,000 blocks can be generated in about 30 seconds.

#Latest Update#
- Image sequences can be used
- Audio files can be used
- Blender Internal can be used
- Better time estimation

Side note: if using a laptop, try plugging it in. In my experience this can decrease the time it takes to generate the mesh by around 140%.

Website
Download
Bug Report
Wiki
Donate


Block Based Mesh (46,656 blocks in 2.71 seconds)


Plane Based Mesh (192,600 points in 1.92 seconds)

Attachments




3 Likes

It looks very interesting

congrats, well done indeed. :slight_smile:

Thanks a lot!

Thanks a lot!

hi, a couple of bugs I noticed:
The UI should be only in cycles mode or if in BI mode return message “Must be in Cycles Mode”.
2nd, the material created does not work, It’s not creating a shader only an empty material, easy to work round by adding a new material, image, set to Generated & it’s good.
Thanks, nice fun script, maybe some slight randomization would be good.
Grey Scale test:


Edit, it may be jpeg materials work, not .png

OK thanks for all these suggestions!
I will implement the part about saying materials are only in Cycles. I forgot to put a message in the UI about that.

Secondly, the material is working for me. Does it just create a blank material for you called “CubeSter” with no nodes? What it should do it be a material with an Attribute node that is set to “Col”, which is a vertex color group that is generated. Then the color output of that node is led directly into a Diffuse Shader node. So what does the material it is generating look like for you?

Thirdly, I haven’t tested on files with an alpha channel, but I did write the code so that any point with an alpha value of 0 shouldn’t be created. The alpha value is also factored in with the height of the block, with a 25% weight for the RGBA channels.

Ok, quick update, I think the issue is, that you generated the mesh in Blender Internal first, which raised a KeyError because the default material was a BI material. Then, you changed to Cycles, but my code was already registering that the material “CubeSter” had been created, even though it was messed up. So basically, if you get rid of the current “CubeSter” material and then generate a mesh again in Cycles, all should work just fine. I will update the code so you just can’t generate a mesh in Blender Internal.

Ok, all of this should be working now, I just released a new version

Exellent work , thanks for this nice script :slight_smile:

No problem!

So I just made a new commit that allows you to do this as well as create blocks:


It creates a plane instead of a bunch of blocks. I haven’t updated the UI yet or officially released this, but the code is accessible here.


:eyebrowlift:

Awesome example! Thanks for sharing, I love to see how people use these add-ons.


:slight_smile:
Another example with a fractal tree picture


:yes: made with a eye texture and the verry nice addon cubester

These are fantastic! Great job!

Thanks , maybe if have time i try the new version , is there a easy way to change the material with another texture or to mix this in the node editor for the materials for example :slight_smile:

wow, I’m gonna take a look on this very soon!
thanks!

I assume you mean changing the colors with different ones? Not currently, I will try to look around and see if I can come up with an easy way to change from the colors that the original image has. You can do color shifts and things like that just by putting nodes between the Attribute and Diffuse shader, but that is going to be limited.