Skip to content

nimadez/voxel-builder

Repository files navigation

Voxel Builder

banner

Voxel-based 3D modeling application

Version 4.2.8 Beta

Try Now
Download
Documentation
Known Issues
FAQ

The online version does not have maximum functionality, be sure to download the Electron package.

Features

File I/O

  • Save and load JSON ?
  • Import MagicaVoxel VOX
  • Export to GLB, GLTF, OBJ, STL ?

Voxelization

  • BVH voxelization method
  • 3D model voxelizer ?
  • Image voxelizer

Model and Paint

  • Generators (terrain, cube, sphere, isometric...)
  • Interactive modeling toolsets ?
  • Symmetric drawing and painting

Rendering

  • Real-time GPU path tracing ?

Export Meshes

  • Bake voxels to mesh ?
  • Unbake mesh to voxels

Extensibility

  • ES modules ?
  • WebSocket client ?
  • User startup project

More

  • Extras ?
  • Minimum dependency, portable, online and offline
  • Ad-free, no trackers, no logging

Supported Browsers

  • Electron (recommended)
  • Google Chrome for desktop
  • Google Chrome for mobile devices
  • PWA A2HS-ready (add to home screen)
  • Touch pen or Wacom tablet recommended for best experience
  • Voxel Builder is made for desktop and mobile, but its features have not been fully tested on mobile devices.

Known Issues

:: Higher than 512K is not recommended
* Electron is recommended for working with a large number of voxels
* For lag-free experience, turn off BVH Picking after 128K
* You cannot turn off BVH Picking when the Rect-Add tool is active

Higher values can have the following problems:
- Unable to quick-save baked meshes (DOMException: exceeded the quota)
- Intolerable delay when starting the real-time renderer
- Chrome tab may freeze or crash

Of course, the number of voxels is unlimited,
I have rendered up to 1 million voxels at 25 FPS.

:: Failed to import GLB 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.

:: Linux compatibility issues
- Rendering issues have been reported on linux with nvidia drivers.
- Wacom tablet may throw error "Max number of touches exceeded". (bug)

Update-1: Rendering issues are resolved in the latest Chromium 125.0.6421.0
Update-2: Add optional 'Grid Plane' for linux users

FAQ

:: 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

:: How to run Blender importer script?
1- Save project to JSON
2- Open Blender and go to "Scripting" tab
3- Click "Open" and select "blender-importer.py"
4- Run the script and select a JSON file

History

↑ Voxel engine updated to Thin Instances
↑ Cut half precision (new scene)
↑ Real-time GPU path tracing
↑ Introducing ES modules
↑ Stable beta release
↑ Advancing to the next level (bakery)
↑ Major code rewrite (functions to classes)
↑ Features and uix overhaul
↑ New SPS particles to build the world
↑ I wrote a playground for learning Babylon.js

Latest
screenshot

Version 3.0.0 (BJS 4) to 4.2.2 (BJS 6)
screenshot

License

Code released under the MIT license.

Credits