Why MagicaVoxel :
Most other tutorials on how to do voxels for Doom recommend a SLAB6 + strip2voxel combo. Every little second I used the combo I couldn't help but wonder if there was any other method, and that was no small amount of seconds as voxels took hours. Strip2voxel isn't easy and thinking with slices is counterintuitive. And then MagicaVoxel appeared.
Things only it can do:
+Undo and redo
+import sprites right into the editor
+Face and brush edit ( Now you can paint/remove/add more than 1 voxel at time!)
+rotate, flip, move around
+a bad workaround for copy/paste (comparing to no copy/paste SLAB6 has, it's mighty good)
+Custom edge color
Cons (For now)
-Can't set offset
the MagicaVoxel itself- https://voxel.codeplex.com/
we can't completely break free from SLAB6 yet - http://advsys.net/ken/download.htm
The actual Tutorial
Part 1- Importing that sprite
1- Pick any sprite you want to do. The sprite I'll use is ww-doomnukem's STIMA0
3- Execute MagicaVoxel. Drag the .png to palette first and then drag the png again, this time into the cube
Part 2- Modeling
you should have something like this
1- Get used to the hud. Most functions are named after letters, so if you want to know what the g,e and f under Line tab mean click the circled i next to the console. Next time you mouse over a function it will tell it's name and hotkeys
Very important functions to know:
v,f and b are brush settings.
V works like pencil in paint ( not very useful)
F is face edit and works like a bucket ( you can change if it's color or geo based in the Face tab)
B adds/paints/erases every cube from the cube you clicked to the last cube you dragged
picking colors is done by holding alt and clicking on the cube with desired color
In the same bar as the console icon next to the ruler toggles freemode camera
How to copy/paste(kinda): under the shape tab, there's a pattern function. It places wherever you point at the voxel specified in the pattern tab on the lower right. Copying is done by saving the desired cubes in another voxel and pasting is done by using that voxel in the pattern function
2-You probably want your voxel to be deeper than 1 cube. As shaving is easier than adding cubes, Decide how large your voxel will be at it's maximum. For example, I want my syringe to be
5 cubes large at it's maximum. Then go to Scale and write "y (insert how large here)"
(Hint: some voxels need more precision than 1 pixel : 1 cube. You can scale them 2X the original sprite, work in detail, and then scale them back to the original size with voxeldef)
3- Remove voxels until it's at desired shape
4-Touchups. Don't deviate too much from the original in the parts that the original sprite doesn't cover
Part 3- Exporting and Loading
1- Done with that voxel? now it's time to get it working. Open the export tab and click slab. Pop. A file named howyounamedyourvoxel.slab.vox should have apeared in the export subdirectory of your MagicaVoxel folder.
2- Open it up in SLAB6. Open the Tools tab and click Adjust pivots. Mouse into the boxes on the left and use the arrow keys to move the base point. You just need to put it at the base of the model, so it doesn't clip though the floor in-game.
3- Save it as .kvx, the number of Mips doesn't matter.
Done! Now you have an working voxel. It needs to be in a voxels folder if it's in a pk3 or between VX_START and VX_EN if it's in a wad