Skip to content

介质与工具接口

根命名空间工具

接口作用注意
vve:_init初始化 VVE 模块、scoreboard 与默认常量先初始化 Math3/LALib
vve:_version把 VVE 版本写入约定分数用于 load 前置检查
vve:_consts恢复默认运行常量自定义模拟器每轮先调用
vve:_void空回调用于需要函数 id 但不做事的字段
vve:_tp_here把执行实体传送到执行位置要求可传送实体
vve:_tp_here_macrostorage vve:io {x,y,z} 传送执行实体宏输入必须完整

打印接口

调用前先把目标实例 _get 到共享临时对象。

接口输出
vve:_print_coord中心坐标
vve:_print_coord_as以指定执行者/上下文打印坐标
vve:_print_velocity线速度
vve:_print_angular角速度
vve:_print_response当前介质响应信号

介质探测

所有入口都要求 cpoint 临时字段和正确执行位置,并会重置/覆盖响应区。

mcfunction
function demo:body/_get_cpoint
execute as 0-0-0-0-0 at @s run function vve:_detect_material
# 立刻接收结果
function vve:object/_receive_shift
function vve:object/_receive_impulse
function vve:object/_receive_friction

详细差异见碰撞点、介质与响应

ID 系统

vve:id 维护可复用整数编号。典型生命周期是初始化、拉取、绑定到实例、销毁时归还。编号是资源,不应:

  • 拉取后因中途 return 而不归还;
  • 同一实例归还两次;
  • 把临时 result 当长期唯一选择器;
  • 在两个独立模块里共享编号池却不共享生命周期规则。

为创建函数设计失败清理路径,比等 ID 耗尽后排查更便宜。

方块读取阵列

vve:block_reader 把大区域分成任务与 16×1×16 层/区块单元,避免一条函数一次扫描全部方块。

接口用途
block_reader/_init手动建立工作区
_append_taskstorage vve:io input 加入任务
_append_task_over加入带结束回调的任务
_append_corner以两个角点创建立方区域任务
_iter_layer/_iter_layers遍历层级
_uninstall清理读取器工作区

回调 storage 的 res/loop 字段被框架占用;业务数据放在独立子结构,避免覆盖调度状态。

预设模拟器

接口用途
vve:simulator/_class生成默认 simulator plate
_get/_storeplate ↔ 临时 simulator 状态
_append_tick_func去重追加子步回调
_append_sync_func去重追加每游戏刻同步回调
_start/_stop计划或清除 vve:simulator/tick
main/main_loop/tick完整调度路径

着色器接口

VVE 资源包集成修改过的 ShaderSelectorV4 roll 通道:

接口行为
vve:shader/roll_instant立即写入 roll 状态
vve:shader/roll_linear线性过渡 roll
.../_from_angle 变体从角度输入构造 roll

这是资源包/客户端视觉通道,不参与刚体四元数物理。Sandbox clean-room 渲染不会承诺复现所有客户端 shader 后处理。

声音程序

vve:sound/main 读取 bounce/grab/material/friction/impulse 等响应与实例声音状态,选择碰撞或滑动声。它应在响应仍有效时调用,但频率需做节流;持续接触每 tick 播音会产生噪声和额外命令成本。

VVE 由小豆 8593 开发;本站是面向学习与查阅的增强文档。