Skip to content

体素编辑器 ​

功能完整的 MagicaVoxel .vox 编辑器,完全在浏览器中运行——加载、编辑、导出体素模型,无需安装任何软件。

功能一览 ​

功能说明
打开 / 保存支持任意 .vox 文件(MagicaVoxel 格式);可保存回 .vox
绘制模式在 3D 画布上点击或拖拽放置体素(使用当前选中颜色)
擦除模式点击删除单个体素
调色板完整的 MagicaVoxel 255 色调色板,点击选取颜色
撤销撤销上一步操作(Ctrl+Z)
网格开关显示/隐藏坐标网格覆盖层
导出 PNG将当前视角渲染为 PNG 图片
导出 3D 模型把当前模型导出为 GLB / glTF / OBJ / STL / PLY / USDZ / FBX(基于 @voxel-tool/exporter)
新建模型从空白 24×24××24 画布开始
演示首次打开时加载一个彩色球体 Demo
图层非破坏式图层面板——新增/删除/排序/重命名图层,切换可见性,设置逐层不透明度;绘制只作用于激活层
布尔 CSG用并/交/差合并两个模型(载入第二个 .vox 后应用)
对称笔刷沿 X/Y/Z 轴镜像绘制——一笔即可建模对称结构
TSL 增强可选 Fresnel 边缘描边 + 自发光辉光(Three Shading Language,仅 WebGPU)
WebGPU 后端默认以 WebGPU 渲染并自动回退 WebGL2;角标显示当前后端

操作方式 ​

  • 左键拖动 3D 视图:旋转相机
  • 滚轮:缩放
  • 右键拖动:平移视图
  • 绘制/擦除:从工具栏选择模式后,左键点击体素

导出 3D 模型 ​

使用工具栏的 导出模型 控件:从下拉框选择格式,点击 导出模型 即可下载当前体素模型。

格式颜色适用场景
GLB / glTF顶点色游戏引擎、Web、通用
PLY顶点色点云、扫描
USDZ顶点色Apple 设备 AR
FBX顶点色DCC 工具(Blender、Maya、Unity)
OBJ仅几何简单网格交换
STL仅几何3D 打印

OBJ 与 STL 仅含几何(底层 Three.js 导出器的限制)——需要顶点色时请用 GLB/glTF/PLY/USDZ/FBX。

进阶编辑 ​

图层(非破坏式) ​

编辑器把模型存储为一叠图层。绘制与擦除只作用于激活层,图层可见性 / 不透明度只影响渲染——隐藏或淡化某个图层时,体素数据永远不会被销毁。右侧图层面板支持:

  • 新增 / 删除 / 排序 / 重命名图层(始终至少保留一个图层)。
  • 切换任意图层的可见性。
  • 设置逐层不透明度(0–1);小于 1 时该层半透明渲染。
  • 选择激活层进行绘制。

导出与保存始终把所有可见图层合成为单一模型,因此非破坏式编辑绝不会丢数据。

布尔 CSG ​

用构造实体几何把激活层与第二个模型合并:

  1. 在工具栏选择运算——并(A ∪ B)、交(A ∩ B)或差(A − B)。
  2. 点击 CSG 应用 并选择第二个 .vox(或 .schem)文件。

运算在体素坐标键(网格上的集合运算)上进行,因此精确且快速——无需网格 CSG。冲突处颜色默认取主操作数(A);底层函数见 core API 的 voxelCSG。

对称笔刷 ​

在工具栏开启 X / Y / Z 镜像开关,一笔即可绘制对称结构。每个被放置的体素会沿启用轴关于模型中心镜像,因此你只需建模一半,编辑器补全其余。

TSL 描边 / 自发光 ​

工具栏的 TSL 开关用 Three Shading Language 增加 Fresnel 边缘描边与/或自发光辉光。它增强 WebGPU 渲染路径的实时着色节点;当运行在 WebGL2 回退路径时该开关会自动禁用(经典材质优雅降级)。

WebGPU 后端 ​

编辑器默认以 WebGPU 渲染,并在浏览器/设备不支持 WebGPU 时自动回退 WebGL2。右上角的小角标显示当前后端(WebGPU / WebGL2),让你随时知道走的是哪条路径。

技术栈 ​

  • React + Three.js 渲染(默认 WebGPU,回退 WebGL2)
  • @voxel-tool/core 负责 .vox 文件读写、体素数据结构、布尔 CSG、对称与网格体素化
  • Vite 构建,以静态 SPA 部署在 /voxel-tool/editor/

本地运行 ​

bash
npm run dev:editor    # 开发服务器(端口 5180)
npm run build:editor # 生产构建 → apps/vox-editor/dist

MIT Licensed © 2026 Maicarons