I highly recommend people check this out if you're interested in voxel graphics, or a simple way to make 3D graphics if you're artistically challenged like me. We used it to make a whole game and it was great: https://www.larvalabs.com/project/roadtrip
It's a crowdfunded game. Here's a walkthrough [0]. It's absolutely amazing. Watching it, I was on the edge of my seat for 20 minutes. The walkthrough's gameplay is a nightime rally chase in the country. The driver is good, by the way. To those who won't watch it through and through, at the very end, he goes to the hydroplant and turns on the roadside lights. The visuals are like nothing I've seen.
I'm not an easily excitable person, and I don't usually throw hyporboles around, but, in my eyes, this is something very unique.
Did you do any post-processing on the models from MagicaVoxel before using the models in your game? E.g. does MagicaVoxel export a single optimised mesh, or does it export a load of cube meshes?
Looks like it does export a single "optimised" mesh (at least when exporting to OBJ) - i.e. it not just a load of individual cube meshes, but each separate coloured face is optimised into 3 or 4 triangles. A face with different colours is treated as a separate set of triangles though, so something like a chess board pattern would be a lot of triangles, but a white cube would be hardly any.
I had some trouble importing directly into Unity 2019, this is what I did for anyone else wondering:
- Export as OBJ in MagicaPixel
- Import Obj & Png into Unity via drag-n-drop
- In the prefab that is generated, on the model tab change the imported model's scale factor to 0.1 and hit apply.
- In the prefab that is generated, on the material tab click extract materials and save in same folder.
- Drag the Png texture you imported into the Albedo of the extracted texture.
You now have the textured MagicaVoxel model in Unity for whatever you want to do with it. Yay.
This process sounds a lot better than what we did a couple years ago when we were working on that game. Our process involved Voxel Shop https://blackflux.com/node/11 and a few steps. I can dig up the notes if it's interesting, but it looks like your process is better anyway.
MagicaVoxel is great! Even though the program is not open source, the file format is documented by the creator [0]. For a small game I'm working on I read in the vox files and reconstruct the meshes in-game. I can then create procedurally destructed variations by tweaking the vox data and re-generating the meshes in-game [1]
This is what every software should do. I don't care if software isn't free or open source, but file formats should be documented so that they can be read later or processed by other tools.
I'd go a little further than "documented". MS Office's .docx and .pptx files are "documented" but creating a compatible reader is a major undertaking. I wish people would hold off until there's an existing open source project that can at least decode the files enough to accurately convert the files to another format. Avoid lock-in before has a chance to take root.
This is one of the reasons why I went with Arq for backups - it's a thing I tend to forget about, so if five years down the line the software turns out to no longer exist for whatever reason, I can be confident there's an open source unpacker somewhere.
> Why did you create this? How are you using it this days?
> Are you making any games with this?
"the project is also used as my personal research platform, so it contains codes for unpublished features and from other private projects." [0]
> Is the Ray Tracer to do that built in or do you have to import the models in a second software?
It has a built in renderer, or you can export to other tools (e.g. Unity3D) if you want more control of rendering or to be able to rotate/deform the models. I see Export options for: obj, ply, mc, xraw, slab, qb, vox, iso and 2d.
@ephtracy has been developing it for over 5 years. I understand why you might be concerned but that's a lot of time to invest creating a niche piece of software in order to launch a malware attack. If it was new today I might share your concern.
"8-bit" is clearly and widely understood as meaning "intentionally pixelated for artistic effect with a limited color palette, with an overall aesthetic comparable to classic 8-bit game consoles", whether in 2D or 3D.
Obviously it's not meant to be taken literally.
You might as well complain that "modernism" isn't modern anymore or that "gothic" novels aren't from the same time period of gothic architecture... or that roman typefaces come from places other than Rome, or that italic typefaces aren't all from Italy.
> You might as well complain that "modernism" isn't modern anymore or that "gothic" novels aren't from the same time period of gothic architecture... or that roman typefaces come from places other than Rome, or that italic typefaces aren't all from Italy.
I learned not to in front of people, but honestly, this is a problem - a problem of people introducing bad names, and then no one correcting them even decades later.
It's more and more cases of terms where the meaning in use is different from the literal one. I.e. more exceptions to remember. More unnecessary cognitive load.
In this context, "8-bit" is a well understood name of an art style. In this context, it's well understood that this has nothing to do with the bus width of processor architecture or misc color/data bit widths.
Think of it as a label like "modern art", which is art from 1860s to the 1970s.
You are correct in general, but in this specific case the program is labelled "8-bit" because there is a palette limit of 256 different colors per model. Note: not output pixel colours, but rather colors that each voxel can be.
Technically accurate and precise specificity is rarely a goal when marketing a product. Their target audience will be using "8-bit" in their search terms.
That the voxels are each a solid color and are expected to be displayed at between 1x1 and 4x4 screen pixels per voxel. Definitely not minecraft-style, for example.
Absolutely brilliant piece of software, I'm a huge fan. It's extremely easy to get started with, and a very pleasant way to spend your time, whether you're a professional artist or not. Imagine building stuff in minecraft but 10x more convenient. And the developer keeps making it better and better.
GitHub is among other things a platform for sharing.
Sharing should not be obligatory.
When someone shares something, if you like it, be grateful, and if you don't, just move along.
If you want to know how it's done just go and read some open source voxel library - there are ton's of them. If you are interested on the path rendering part there's lots of awesome didactic resources for that as well.
If you don't trust the author and are afraid that the code does something nasty - just don't use it.
If the author feels he is not contributing - or not willing to contribute - to the state of the art in voxel techniques or path rendering (both of which are totally fine stances) then there really is no value in showing the source.
If someone creates a free tool for making art, their contribution should be cherished, and their tool used for art, and appreciated for it's artistic merits. Don't give shit for the author for releasing the free tool on his own conditions. If you don't like those, move along. Or, if you are inspired, go make your own and open source it!
By the way, that discussion is just horrible. The author lays open the reasons why he does not want to release it and the other party just disagrees. "We could help you with the patches... I would like to read the code that I run".. Oh really? I wonder if he really has read through the entire codebase of the operating system and all of the drivers and all of the programs he runs.
"Helping out with the patches" without adult supervision can lead to this:
I totally understand why the author would not like to nanny the internet's eager contributors. An open source project needs a huge cultural effort to collect and
coordinate technically savvy key contributors before it can work. That won't happen automatically. Not everybody yearns to be a benevolent dictator for life of this or that.
"disappointing: failing to fulfill someone's hopes or expectations."
I think you're viewing it from the "expectations" side, while binarycrusader, pawelmurias, and I are viewing it from the "hope" side.
If this were open source under a license that makes sense to us, I think all three of us were thinking we'd like to use the code to do other things. That's just a hope.
Finding that it's not open source when you expect it to be (almost everything on github is open source).
If you find something is worse then you expect it to be you get disappointed.
Would it be better if you could read the sources? How do you know you could understand it? How do you know you could get it even to compile?
Sure, the binary is public, but that does not imply that the author has the codebase in any shape that would be legible or maintainable by anyone but him.
Sometimes projects grow so complex that only the original author can understand it. And there are lot of examples of projects that grew too complex even for their maintainers to understand.
What I'm getting at is this: making a code public does not make it usable, and cleaning up a research/hobby codebase so it's legible can be quite an effort, and not always possible.
Hence I find it odd to yearn for something you have no idea if it's worth yearning for. Unless one is an afficionado of masochism there are usually much more rewarding things to do than deobfuscate code someone else wrote.
Most open source codebasesfor things that don't suck aren't trash (and if they are that would be a disappointment).
Also I'm disappointment freeware things still exist.
There's a cool little project called "particubes" that is a sort of "magicavoxel lite" on iOS. It's pretty fun to sketch 3D scenes on the go on an iphone. Authors are pretty responsive too.
I love this program, I find it so relaxing to simply listen to some music or a podcast and create some unusual works or art with it. I would love for the creator to make an iPad version one day though, I think using the stylus to work with this tool would be fantastic.
For those like me that couldn't work out how to create bigger scenes, the world editor is available by pressing TAB or clicking the TAB icon above the top-right corner of the main view.
Here are some other awesome things made with it: https://twitter.com/HuntingFluff/status/1046417418459975681 https://twitter.com/Sir_carma/status/1051867299303440384
And in general I recommend following Sir Carma for inspiration: https://twitter.com/Sir_carma