Skip to content

在线实验室使用指南

本站的交互块由 Datapack Sandbox 驱动。已建模命令的解析/执行、世界状态、资源解析和软件渲染都在独立 Web Worker 中完成;主线程只负责编辑器、UI、相机和 WebGL 绘制。

真实 VVE 骰子教程

下面的教程会在浏览器中载入 Math3、线性代数/几何库、VVE 3.0.1 运行时、骰子示例和官方资源包。点击 初始化并投掷 后,页面执行真实的 vve:_initvve_examples:dice_6/initvve_demo:start,再通过 VVE 自己的刚体冲量接口投出骰子,并以 20 TPS 调用模拟器主函数。你可以随时暂停、单步、重新投掷或编辑下方命令。

首次打开需读取约 4.2 MiB 的本地静态资源。每个 ZIP 都会在导入前校验 SHA-256;文件只进入当前页面的 Worker 内存,不会上传。

轻量热身

下面的实验不装载 VVE,可用于熟悉编辑、诊断和视窗:

slime_block 改成一个不存在的方块,编辑器会给出诊断;输入命令或资源位置的一部分可触发补全。按 Ctrl/ + Enter 等同于 Run。

控件含义

控件做什么是否改变世界
Run执行当前编辑器中的多行命令
Render用软件渲染器输出一张 PNG
Play / Pause以 20 TPS 开始/暂停模拟
Step暂停后推进一个 tick
Reset sandbox新建世界,保留你编辑后的源码是,重建
Restore example恢复本站原始源码并新建世界是,重建
Save point / Return保存或恢复完整建模状态
Add frame / Export GIF记录软件 RGBA 帧并编码 GIF

键鼠相机

  • 点击 canvas 获取 pointer lock,移动鼠标观察;
  • WASD 水平飞行;
  • Space 上升,Shift 下降;
  • 滚轮调整移动速度;
  • Esc 释放鼠标;
  • Reset view 恢复根据场景边界计算的自动取景。

输入事件会记录给默认玩家 Steve,但不会隐式模拟原版玩家碰撞、AI、红石或完整客户端物理。VVE 示例的运动来自数据包函数,不来自视窗相机控制。

WebGL 与质量导出的边界

实时视窗面向 30–60 FPS 交互:相机只更新 uniform,display entity 在相邻 20 TPS 状态之间插值。PNG 与 GIF 面向确定性输出,使用 JVM/Web 共用的软件光栅器。两条路径共享场景与相机语义,但允许 GPU 光栅细节不同。

若 WebGL2 不可用或 context lost:

  1. 实时播放会暂停;
  2. 视窗显示可恢复提示;
  3. context 恢复后重新上传 GPU 资源;
  4. Render 与 GIF 仍可继续使用。

隐私与限制

依赖 ZIP 和你导入的文件只保留在页面会话内存中,不上传、不写入 IndexedDB/OPFS。默认单会话有命令数、输出、导入体积、检查点和 GIF 帧预算;VVE 实验提高了命令预算与超时,但仍会拒绝无限递归或失控输出。

建模边界

本教程运行的是编译后的真实 VVE 函数栈,并覆盖骰子的初始化、投掷、碰撞、旋转、调度和稳定状态;但 Datapack Sandbox 仍不是原版服务器。未建模的客户端物理、实体 AI、红石和渲染后处理不会被隐式补齐,最终发版前仍应在目标 Minecraft 版本验收。

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