跳到主要内容

编辑器类型与保存 API

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

VoxelEditMode

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

VoxelEditorOptions

| 字段 | 类型 | 默认值 | 说明 | | --- | --- | --- | | maxHistory | number | 100 | 最大撤销批次数;超过后最早记录被丢弃。 | | placementRebuildIdleMs | number | 180 | ADD/DELETE/REPLACE 的局部重建合并窗口。 | | directRebuildIdleMs | number | 16 | 撤销、重做和批量命令的局部重建延迟。 | | symmetryX | boolean | false | 初始 X 轴对称状态。 | | 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是否正在编译或写入保存文件。

VoxelEditorPaletteItem 包含 symbolhexVoxelSelection 包含 x/y/z、命中的 faceX/faceY/faceZ 以及当时 symbolVoxelSelectionBoundsminX/minY/minZ/maxX/maxY/maxZ 构成,所有端点均包含在内。

坐标、轴和对齐

new VoxelCoordinate(x, y, z)

VoxelAxis 可取 XYZVoxelSelectionAlign 可取:

最小中间最大
XMIN_XCENTER_XMAX_X
YMIN_YCENTER_YMAX_Y
ZMIN_ZCENTER_ZMAX_Z

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

保存类型

VoxelEditorSaveOptions

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

VoxelVfpSaveOptions

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

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

VoxelSaveFormat 的值为 SOURCEJSONVFPVoxelEditorSaveResult 在成功后提供 urifileNameformatbyteLength。保存规则和示例见 保存与性能