Skip to content

nimadez/voxel-builder

Repository files navigation

Voxel Builder

banner

Voxel-based 3D modeling application
https://nimadez.github.io/voxel-builder/

Version 4.3.0 Beta
Changelog

Installation
Documentation
Known Issues
FAQ

Features

File I/O

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

Model and Paint

  • High performance picking system
  • Generators (terrain, cube, sphere, isometric...)
  • Interactive modeling toolsets ?
  • Symmetric drawing and painting
  • Color groups and transform tools

Rendering

  • High performance voxel engine
  • Real-time GPU path tracing ?

Voxelization

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

Export Meshes

  • Bake voxels to editable meshes ?
  • Bake voxels by color groups
  • Unbake meshes to voxels
  • glTF compatible editor

Extensibility

  • ES modules ?
  • WebSockets client ?
  • User startup project
  • Blender importer script

More

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

Installation

Install Electron for linux or windows

electron-v*-linux-x64.zip
electron-v*-win32-x64.zip

Get and run Voxel Builder

git clone https://github.com/nimadez/voxel-builder.git
cd voxel-builder
electron .

Update to the latest version

cd voxel-builder
python3 update.py

Supported Browsers

  • Electron (recommended)
  • Google Chrome for desktop
  • Google Chrome for mobile devices
  • PWA A2HS-ready (add to home screen)
  • Tablets with a stylus or Wacom recommended for best experience
  • Voxel Builder has 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

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.

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.

Visual artifacts and Moire patterns

These are related to thin-instances and nothing special can be done at this time.

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

screenshot

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

License

Code released under the MIT license.

Credits