Hacker News new | past | comments | ask | show | jobs | submit login
MagicaVoxel – a free 8-bit voxel editor (ephtracy.github.io)
141 points by infinite8s on Jan 22, 2016 | hide | past | web | favorite | 43 comments

Here are some examples of what talented artist can create with this tool:


The creator also retweets a lot of examples on Twitter: https://twitter.com/ephtracy

I don't understand why they don't include a gallery on the website :/

Any chance of a Linux version at some point?

Edit: At least it seems to run well under Wine. I suppose a Linux version isn't too strong of a priority.

I wish the creator would maintain a blog about the project. It is cool to follow him on twitter and watch him work out the technical details of new features (e.g. marching cubes based mesh extraction). There is some definite interesting technical meat in implementing these tools in the context of a voxel engine.

What does the '8-bit' refer to?


Which is misused since, if anything, all pictures I've seen resemble 3D projections of games from the 16 bit/SNES era.

Most people don't realize how limited the palette actually is on NES. The entire gamut is only 54 colors (nominally 64, but there are duplicates and an "unsafe" entry), and any 16x16 block can only have 4 colors. There are some ways to work around this with clever hacks, but it was mostly the artists being clever rather than the programmers.

Huh oddly that explains a lot of the aesthetics of NES games.

I thought it might (there's no way it can relate to software or hardware) but I can't see any link whatsoever with the aesthetics of the 8-bit era.

I think it refers to the number of entries in the palette.


What is the license for MagicaVoxel?

Seems to be closed-source.

No code available on https://github.com/ephtracy and no mentions of license. Seems to be no-charge kind of 'free'. Not gonna be switching from vim+openSCAD for doing 3D this time around.

A bit parasitic to use Github for their hosting.

How so? Is that not what the paid tiers are for?

If they are using them!

This is extremely impressive.

I've tried a wide variety of voxel modeling tools, free and not free, and this one's by far the most intuitive, and prettiest, I've found - in that it's the only one I haven't given up on in intense annoyance after 10 minutes or so.

Might end up using this for an animation project - thanks to the OP!

this is very interesting. I'm wondering how the author built the ui for the app. it's cross-platform, but I don't see it links any other ui libraries. my conclusion is that its ui is built directly with opengl.

The screenshot looks like a level from the Escher-esque game Monument Valley -- was MagicaVoxel used in developing that?

I don't know [1], but!... When you reduce things down to a minimum amount of essential detail, things tend to look similar to other things that share the same constraints. I noticed this when researching Mondrian and the De Stijl (neoplasticism) art movement -- they restricted their palette to mostly primary colors. I could ask if Google's logo or the colors in a bucket of LEGO bricks were inspired by Mondrian directly, but another possibility is that the neoplasticists discovered some kind of minimal, universal design pattern that feels timeless and likely to be "rediscovered" again and again. Are Monument Valley, MagicaVoxel (and Minecraft) inspired by Escher, or is it a natural coincidence that comes out of the minimal use of geometry and perspective they all employ?

[1] Edit: I did some more digging... Looks like they used Unity to create Monument Valley: https://unity3d.com/showcase/case-stories/monument-valley

No, it's just that the developer likes to recreate these scenes to show off the editor and renderer.

Looks great, any reason why CMD-Q doesn't work for quitting the application?

No idea, but the Q has been mapped to move the camera (WASDQE). So maybe CMD-Q does something else?

I've used this in the past and found it to be great. The UI took a little getting used to, but once you did it was fast to accomplish fairly complicated things. Definitely worth a try.

Can you use this to create object things in games for say the Unity3D platform?

Yes you can export the models into a standard 3D format used by any number of engines and loaders.

Yup, I've used MagicaVoxel on occasion and it's quite a bit of fun.

Well Done

Well done! — I so tweeted this! This will enrich so many people's lives.

Emm, they aren't voxels. Square polygons are not volumetric pixels. Looks nice though!

This editor represents data points on a regularly spaced, three-dimensional grid. The data is undoubtedly voxel based.

You're mistaken.

This is not what I think of as voxels either, but I fear our older definition is becoming obsolete. You could make arguments both for and against whether these textured cubes are technically voxels, but in the end, language changes, and trying to fight these changes is futile.

I don't think they're textured cubes, each larger cube is made up of a grid of individual voxels, each with a single color.

What do you think of as voxels? It seems like a value at a point in a three dimensional grid is the volume equivalent of a pixel.

Right, my objection to the textured cubes is that they are not the volume equivalent of a pixel. Pixels are point samples without shape or texture. These cubes have both.

What I call a voxel is much smaller (on the order of a screen pixel), and drawn as a point sprite or screen-facing quad with a single color. Texturing is achieved by having many voxels with different colors/materials.

Here are some videos of what we used to call voxels:

DOS game: https://www.youtube.com/watch?v=51E_G7NCXVM

Gameboy game: https://www.youtube.com/watch?v=3zVy-4CEFQU

Medical imaging: https://www.youtube.com/watch?v=GrLqFNhVL68

Note that they were not using voxels because they had a certain artistic style to them. They used voxels because with the hardware they had, this was the most realistic rendering they could achieve. Once GPUs came out with hardware-accelerated triangle rasterization, voxel engines died.

For more information about point-sampling, see this classic paper, "A Pixel Is Not A Little Square":


And for a more in-depth discussion of sampling, albeit in one dimension, watch Chris Montgomery's video "Digital Show and Tell":


I'm a bit confused about what distinction you're trying to make, or how this project represents a change in the meaning of the word 'voxel'.

Voxels are "volumetric cells" just like pixels are "picture cells". The size of them has absolutely nothing to do with it, and never has. Big voxels are still voxels. The data in the file is specified as volumetric samples... Maybe the issue is the texture you're talking about, but I haven't seen any textures in any of the galleries, other than the few examples that render mesh edges in addition to the cubes. Where are you seeing textures?

Six square polygons enclosing a space is surely just as 'voxel' as meshes generated by marching cubes for medical imaging. I've worked in medial imaging, written more than one volume renderer and used used many more than that, for both games and research. As far as I'm concerned, Magica Voxel is both truly voxel and truly awesome, IMO.

Alvy Ray Smith's paper is great, but how to handle sampling is a different subject completely from whether the scenes are volumetric, which they are. These voxels do have a certain artistic style to them, and the aesthetic choice to give them sharp edges was made intentionally and called out explicitly, i.e., "8-bit".

Voxels with a texture index vs. voxels with a color index is not really a big distinction in my eyes. They're both integers. The way in which you resample them, as well, is not invalidating. Otherwise "pixel art" would also be invalid as it's built around display output methods that are not mathematically correct(NTSC signal, square LCD pixels, etc.).

I agree with you. What you call Voxels ARE indeed the voxels.

What makes you so certain? Why are you convinced you're right?

Look at the file format. It is most definitely voxel based data. That it is comprised of regular sample points on a 3d grid is a matter of fact. https://ephtracy.github.io/index.html?page=mv_vox_format

It takes all of 30 seconds to download the app and run it in order to see first hand it is voxel based, less time than it takes to write comments.

Maybe you've conflated the concepts of underlying data with the chosen method of rendering. But, even if that's why, it's false to say that rendering voxel data with polygons isn't voxels. Voxel data has been rendered with polygons since the term was invented, whether it's iso-surface (marching cubes), splatting, shear warp or cubes. The only time voxel data is not rendered using polygons is when it's ray traced.

Applications are open for YC Winter 2020

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact