Voxel Paint is a simple tool for making 3D pixel art.
---------------------- Controls ---------------------- Mouse Left Click: Draw a voxel (hold and move to draw a line). Mouse Right Click: Erase voxels. Pencil and Eraser (Optional): look at the pencil or eraser and left click. Mouse scroll wheel: moves the grid forward and back. Change colors: Look at the color tool (on your left) and use the mouse to move the sliders Rotate Voxels and change grid size: Look at the options tool (to your right) and use the mouse to click buttons. Change sitting position: arrow keys.
-------------------------------- Save/Load and Delete -------------------------------- Look at the drawer to your left and you should see some boxes. Look at a box to highlight it and press the following keys....
Thanks so much for sharing this. You've done a lot of interesting things here. The realtime clock, the mouse cursors that activate depending on which section of the table you're looking at, mixing up the different grid sizes in one drawing, and representing saved scenes as boxes in the drawer. Love it. 🙂
Without looking at any of the controls, I figured out all except for the Save/Load/Delete keys just from intuition. Before I checked the controls, I was clicking on the save scene boxes with the mouse, to no avail, since that was how you interacting with everything else. So as far as intuitive controls, perhaps information about the S/L/D keys could be integrated into that area of the desk somehow.
I agree with ccs that it would be great if the right mouse button could erase. Or, like in some paint programs you are able to assign a "foreground" and "background" color to left and right mouse buttons and then just go from there. If you do that and then assign "clear" to the background color, then you've got your easy eraser while still having the flexibility of drawing with more than one color if the situation calls for it (like if you overwrite a colored block with another, and want to undo).
I did find one bug -- I drew some larger 16x16 voxels, and then switched to smaller voxels in 32x32 mode and was able to draw right through the larger voxels, making them overlap and flicker.
Also, I wasn't able to draw a larger voxel into a space occupied by one smaller voxel -- wasn't sure if that was intentional or not.
Anyway, very cool stuff! 🙂
Titans of Space PLUS for Quest is now available on DrashVR.com
Thanks for the review and all the suggestions! Here's an updated version that supports right click erasing. The pencil/eraser still works like before except holding down right click will make it erase and when you let up it goes back to the pencil.
I think instead of adding foreground/background color to the cursor, Ill add swatches to the scene so you can select from pre-made colors. Then Ill have blank swatches where you can click to save your colors. (Right click to set color, left click to select)
The overlapping issues stem from the way the cursor detects if there are cubes touching the cursor. Turns out that using the standard unity collision detection takes a huge hit on performance. So I had to have it loop through every voxel in the scene and calculate its distance. If its close enough, then that means a collision was detected. if it detects a cube, it will not put another one over it.The problem is that collision can only be detected as a sphere meaning that it will not detect anything in the corners.
I have it set to "proximity detection A". Any Ideas on how to solve that problem?