跳到主要内容

编辑器类型与保存 API

本页列出由 voxel-kit 根入口导出的编辑器枚举、状态和保存类型。所有坐标均为源体素网格坐标:x 最快、y 次之、z 最慢,范围为 0..gridSize-1。

VoxelEditMode​

值含义
VIEW点击仅查看一个体素。
ADD在命中面的外侧添加当前颜色。
DELETE删除命中体素。
REPLACE用当前颜色替换命中体素。
SELECT单击切换多选成员。
SELECT_BRUSH单指滑过可见表面,连续把命中的体素加入选区。
BOX_SELECT单指拖出屏幕矩形选择可见表面。
PICK吸取命中体素颜色。

VoxelEditorOptions​

| 字段 | 类型 | 默认值 | 说明 | | --- | --- | --- | | maxHistory | number | 100 | 最大撤销批次数;超过后最早记录被丢弃。 | | placementRebuildIdleMs | number | 180 | ADD/DELETE/REPLACE 的局部重建合并窗口。 | | directRebuildIdleMs | number | 16 | 撤销、重做和批量命令的局部重建延迟。 | | symmetryX | boolean | false | 初始 X 轴对称状态。 | | selectBrushAppend | boolean | true | 滑动选择每一笔开始时是否保留已有选区;false 会先清空再选择。 | | onSelectBrushHit | (x: number, y: number, z: number) => void | 空函数 | 每笔首次加入一个体素时的轻量回调;回调异常不会中断滑选。 | | onStateChanged | (state: VoxelEditorState) => void | 空函数 | 编辑状态变化回调。回调内只做轻量 UI 状态更新。 |

VoxelEditorState​

字段类型说明
activeboolean编辑已可操作。
preparingboolean正在恢复体素或预热编辑资源。
updatingboolean正在提交局部网格更新。
modeVoxelEditMode当前交互模式。
selectedSymbolstring当前放置/替换符号。
symmetryXboolean当前 X 对称状态。
selectionVoxelSelection | undefined最后活动的选区成员,兼容单选 UI。
selectionCountnumber所有选中体素数量。
selectionBoundsVoxelSelectionBounds | undefined所有选中体素的包含式边界。
paletteArray<VoxelEditorPaletteItem>当前可用调色板。
canUndo / canRedoboolean历史按钮是否可用。
voxelCountnumber当前非空体素数。
messagestring面向用户的状态文本,不应作为逻辑枚举比较。
dirtyboolean自上次成功保存后是否有模型修改。
savingboolean是否正在编译或写入保存文件。
exportingboolean是否正在通过 TaskPool 生成离屏 GIF。此时不应重复触发保存、编辑或 GIF 导出。

VoxelEditorPaletteItem 包含 symbol 和 hex;VoxelSelection 包含 x/y/z、命中的 faceX/faceY/faceZ 以及当时 symbol。VoxelSelectionBounds 由 minX/minY/minZ/maxX/maxY/maxZ 构成,所有端点均包含在内。

坐标、轴和对齐​

new VoxelCoordinate(x, y, z)

VoxelAxis 可取 X、Y、Z。VoxelSelectionAlign 可取:

轴最小中间最大
XMIN_XCENTER_XMAX_X
YMIN_YCENTER_YMAX_Y
ZMIN_ZCENTER_ZMAX_Z

CENTER_* 使用选区最小与最大坐标的向下取整中点;对齐会把多个体素压到一个平面,可能减少最终非空体素数量。

保存类型​

VoxelEditorSaveOptions​

字段类型默认值说明
formatVoxelSaveFormatSOURCESOURCE、JSON 或 VFP。
fileNamestring''saveAs() 的建议文件名;扩展名会按实际格式处理。
vfpChunkSizenumber16VFP Native 编译 Chunk 规格。
vfpVoxelVfpSaveOptions新建对象可选派生区段覆盖。

VoxelVfpSaveOptions​

五个字段均为 boolean | undefined:undefined 表示继承导入 VFP 的区段存在策略。

字段派生内容
includeRuntimeCachesVBUF/PMSH 快速预览缓存。
includeRenderCacheRND0 渲染器扩展缓存。
includeAnimationCacheANM0 载入动画计划。
includePreviewGlbPRVW GLB 预览。
includeThumbnailTHMB PNG 缩略图。

VoxelSaveFormat 的值为 SOURCE、JSON、VFP。VoxelEditorSaveResult 在成功后提供 uri、fileName、format、byteLength。保存规则和示例见 保存与性能。