Voxel Builder
Voxel-based 3D modeling application
A 3D modeling application for designers, artists, architects and 3D enthusiasts, to explore and develop ideas quickly, written in JavaScript and available for both desktop and mobile devices
Version 4.0.0 RC 2023 (Babylon.js 5.46.0)
[ Try now ] [ Download ] [ Changelog ]
Features
- Save and load custom VBX format
- Load from MagicaVoxel
- Export to GLB, render to pixel perfect PNG
- Quick save and quick load, undo/redo
- 4 permanent local storages with image preview
- Load HDRI and import textures
- Import 3D models and 2D images for voxelization
- Support file drag-and-drop (VBX, VOX, OBJ, GLB, HDR, PNG, JPG, SVG)
- Blender importer script for VBX files (get exact copy in Blender)
- Terrain, cube, plane, sphere, oval, random, isometric generators
- OBJ and GLB voxelization
- Image voxelization (JPG, PNG, SVG)
- Interactive modeling toolsets
- Drawing and painting in freeform and box shape
- Symmetric drawing and painting, symmetrize and mirror
- Transformable workplane to draw anywhere in the space
- Bakes voxel particles into a clean/editable mesh
- Clone, instance, merge, transform bakes and parts
- UVs, PBR material and texture setup
- PBR material data exported to GLB
- Basic PBR rendering, HDRI lighting, and post-process settings
- WASD controls on desktop, joystick controls on touchscreen
- Built-in documentation
- Clean handcrafted intelligent user-interface
- Single HTML file, minimum dependency
- Ad-free, no miners and trackers, no logging
Supported Browsers
- Electron (recommended)
- Google Chrome for desktop
- Google Chrome for mobile devices
* Tablet recommended for best experience
* PWA A2HS-ready (add to home screen)
Desktop Installation
curl -o voxel-builder.py https://raw.githubusercontent.com/nimadez/voxel-builder/main/scripts/voxel-builder.py
** Voxel Builder runs offline on desktop (except for the external apps and HDRI samples), remember to run Python script regularly to get the latest update.
[ Manual Installation ]
1- Download and install Electron
2- Add Electron path to environment variables
3- Clone repository to local storage (or Download ZIP)
4- Execute "run.bat" in Windows, or just enter the command:
> git clone https://github.com/nimadez/voxel-builder.git
> cd voxel-builder
> electron .
To switch from Offline to Online, edit "main.js" file:
loadFile('index.html') ==> loadURL('https://nimadez.github.io/voxel-builder')
Known Issues
■ Max. 64K voxels (64000 or 40x40x40)
Each voxel is a particle, we used particles to build the world.
You may go up to 256K but you can't interact with voxels:
- Picking issue (GPU)
- SPS rebuild delay (CPU)
- Limited browser memory (unable to save/load/undo/redo)
Workaround: bake to mesh, 64K voxels per bake!
■ GLB failed to import multiple meshes for voxelization
Multiple meshes need to have the same properties,
or they won't merge, the only solution is to merge meshes
before exporting to GLB.
■ English is not my first language, sorry for the typos!
FAQ
■ Will this project remain open-source?
Yes, remain open-source and ad-free
■ Can I use it to create 3D assets for commercial purposes?
Yes, you can use it however you want
■ How to merge vertices after export to GLB?
1- Open exported GLB file in Blender
2- Go to "Modeling" tab and choose vertex selection mode
3- Select all vertices (Ctrl + A)
4- Mesh > Clean Up > Merge by Distance
History
4.0.0 -> release candidate
3.8.0 -> advancing to the next level (bakery)
3.6.0 -> major code rewrite
3.4.0 -> new features and ui/ux overhaul
3.0.0 -> SPS particles to build the world
0.0.0 -> I wrote a playground for learning Babylon.js
License
Code released under the MIT license.
Credits
- Babylon.js
- Three.js (vi²xel, asset-viewer, texture and hdri presets)
- MagicaVoxel
- Electron
- Google Material Icons
- Droid Sans Font
- Blender
- KhronosGroup glTF-Sample-Models
- KhronosGroup glTF-Sample-Environments
- Sketchfab (MagicaVoxel free samples)