/voxel-builder

A voxel-based modeling application built using Babylon.js engine

Primary LanguageHTMLMIT LicenseMIT

Voxel Builder

Version 3.4.3

Try Live!

screenshot

A voxel-based modeling application built using Babylon.js engine
Optimized for maximum performance and minimum dependencies

Features

Project

  • New Project
  • Save and Load Project (readable format)
  • Import OBJ (voxelize imported meshes) [beta]
  • Export GLB (grid texture included)
  • Quick Save and Restore (local storage)
  • Memory Steps (record 10 steps)
  • Load HDRI (lighting and background)
  • Create Grid and Plane
  • Optimize Scene
  • Debug Mode (babylon.js debug layer)

Voxel Tools

  • Add (+symmetry)
  • Remove (+symmetry)
  • Transform (+symmetry)
  • Hide Voxels
  • Hide Voxels By Color
  • Freeze Visibility (delete hidden voxels)
  • Normalize Position

Color Tools

  • Dynamic Color Palette (created on the fly)
  • Paint Color (+symmetry)
  • Pick Color
  • Fill By Color

Views

  • Fullscreen
  • Minimal Interface (zen mode)
  • Fit Camera
  • Auto Rotate Scene
  • Set Light Angle
  • Show Cube Axis (viewcube)
  • Show Symmetry Axis Plane
  • Show FPS and number of voxels/vertices
  • High Quality Render Mode (not mobile friendly)

Supported Platforms

  • Electron (+keyboard shortcuts)
  • Google Chrome (+keyboard shortcuts)
  • Google Chrome for mobile devices
    * Tablet recommended for best experience, add Live page to the home screen to create the app

Shortcuts

Key Action
Left Click Rotate Camera
Right Click Move Camera
SPACE Toggle Menu
W Add
A Transform
S Free Camera
D Remove
Q Paint Color
I Fill Color
P Pick Color
H Hide Voxels
J Hide Voxels By Color
C Fit Camera
F Toggle Fullscreen
` Toggle Minimal Interface (Zen Mode)
F5 Reload Window
CTRL+Z Undo (previous memory)
CTRL+X Redo (next memory)

History

v1: actual mesh instances -> performance failure
v2: hidden mesh instances, build the mesh by CSG boolean -> performance failure on events
v3: voxel is just a position and color, build the mesh by SPS particles -> highest performance

Changelog

Known Limitations

- There is no actual cube primitives, our model is a triangle-mesh generated by SPS particles.
- Taking advantage of fire-and-forget events in the scheduled tasks, faster but limited controls.

License

Code released under the MIT license.

Credits