场景配方

描述一个场景。导入一张地图。

配方是一个由高层操作组成的短小 JSON 文件。应用把它展开为网格精确的几何体:地面铺瓦、墙体在转角相接、开口落在边上。预设场景就是这么做出来的,而且它小到 AI 助手能从一句话写出来。

Castle Gate at Dusk:幕墙、门楼和庭院
Castle Gate at Dusk 是一份配方。

工作原理

  1. 提问「黄昏时松林里的路边神龛,一名盗贼在路边等候。」
  2. 助手写出配方依据随附的指南:配方模式、带 QA 检查清单的搭建指南,以及列出每个 id 及其占地的素材目录。
  3. 导入文件 ▸ 导入场景 JSON。模型从素材库下载;编辑器会报告任何警告。
  4. 装饰并游玩它现在是一个普通场景:绘制、拖动、添加光源、按下 Play。

配方长什么样

九个操作就能做出一张可玩的地图。矩形以网格格子为单位,素材是素材库 id,其余由编辑器处理:外围墙体获得正确转角,散布避开神龛,火把照亮祭坛。

  • floor 填充矩形或沿路径铺设,混合材质并随机旋转以生成自然地面。
  • walls 沿矩形四周布置一个墙体系列,留出门洞间隙,或只沿选定的边。
  • proplinescatterclutter 按格子、沿路径,或带避让地随机摆放物品。
  • lighteffectmini 添加火把、火焰与烟雾,以及带 HP 和光环的标记。

仓库的 ai/ 文件夹包含模式、搭建指南和完整目录。在 Claude Code 中,整个流程只需一条命令:/create-scene

{
  "format": "vtt-recipe",
  "name": "Roadside shrine",
  "grid": { "size": 1 },
  "environment": { "preset": "dusk" },
  "ops": [
    { "op": "floor", "asset": ["realistic-surfaces/grass_floor", "realistic-surfaces/grass_patchy_floor"],
      "rect": [0, 0, 19, 15], "randomYaw": true, "blend": 4 },
    { "op": "floor", "asset": "realistic-surfaces/dirt_floor", "path": [[0, 8], [19, 8]], "width": 2 },
    { "op": "floor", "asset": "realistic-surfaces/flagstone_floor", "rect": [8, 3, 11, 5] },
    { "op": "walls", "asset": "realistic-surfaces/stone_wall", "rect": [8, 3, 11, 5], "sides": "NEW" },
    { "op": "prop", "asset": "realistic-surfaces/stone_altar", "at": [9.5, 3.5] },
    { "op": "scatter", "asset": ["realistic-surfaces/fir_tree", "realistic-surfaces/pine_tree"],
      "area": [0, 0, 19, 6], "count": 14, "avoid": [[7, 2, 12, 6]] },
    { "op": "light", "type": "torch", "at": [9.5, 1.2, 4.5], "intensity": 5, "distance": 6 },
    { "op": "effect", "type": "fire", "at": [9.5, 0.6, 4.5] },
    { "op": "mini", "asset": "characters/rogue", "at": [3, 9], "label": "Pip", "ring": "ally" }
  ]
}

常见问题

它支持哪些 AI?

任何能读指南、写 JSON 的助手。指南是为 Claude Code 编写的,仓库里有 /create-scene 命令,但格式本身是通用的。

如果 AI 用了不存在的素材怎么办?

编辑器会对照素材库验证每个 id,并报告缺失项。预设场景经测试为零警告。

我可以手写配方吗?

可以,而且比看起来快:上面的神龛只是九行意图。仓库中的测试会检查你放进 examples 文件夹的任何配方。

导入你的第一份配方

注册,打开桌面,文件 ▸ 导入场景 JSON。