During implementation of project 2, we have stumbled upon and made great use of MagicaVoxel, a "voxel" (volumetric unit) art editor that allowed us to build creative environments for our game with a funky pixelated style I personally really like. To give a better idea of what we are talking about, here are some screenshots of editor and the renderings of some rooms we created with MagicaVoxel:
Using MagicaVoxel was intuitive, easy and fun.
For our project three we would like to implement a Virtual Reality version of the editor, to be deployed on the HTC Vive. We believe the ease of creating these pixelated scenes and objects would be significantly enhanced by the VR experience. The idea of this project is somewhat similar to Google's tilt brush but it stands out for its smooth learning curve (it's really easy for beginners to create something likeable) which will encourage more users to try it out. Another difference is that it is immediate to create solid objects that can be exported and used for other environments (eg games).
The first thing to do is to set the editing environment. The user should be allowed to choose his/her own "art studio", or even create one (by using the editor itself)! So for example one setting could be a simple infinite plane such as the default editing environment of unity. Or maybe the user would rather be in a cozy room with a fireplace and some music on. The ability to choose the background music should be added since many people like having some musoc while drawing.
It is then indispensable that the user can access a control panel to decide color, material of the blocks or to shift editing modes. This part will greatly take inspiration from MagicaVoxel's IDE. The user will have access to "color palettes", material settings, predefined shapes (shpres, lines, etc...), editing options (undo/redo, select, copy/paste, ...). Some of the controls should be linked to one of the vive controllers since they need to be immediately accessible during editing; other settings could be in a sepaarte menu somewhere in the editing scene as if it were a control panel in a room.
Other functionalities can be added on as the project develops:
- adding physics to voxels
- adding animations voxel structures
Hardware & Software:
Our project uses virtual reality so for the hardware we decide to use the HTC Vive that we already used in the second project.
This hardware can give us the precision that we need for the application, since this is a modelling app it need an high precision during the movement and the positioning of the cubes.
The software that we plan to use are Unity3D, the VRTK library with the SteamVR component and some modelling tools like Blender and Magicavoxel.
The last software is the more important because we will implement a subsets of its function in VR.