SuperAPI AI 工具集

set-dressing

设计与创作

查看项目

更新于 10-31 13:24

技能介绍

Set Dressing 是一个面向 Blender 场景的布景技能,核心目标是用道具摆放来传达故事,实现“受控的杂乱”和可读的道具集群。

用途:

  • 用于室内/室外场景的布景阶段。
  • 用于构建具有叙事性的道具集群。
  • 帮助避免空间过于空旷或过度堆砌。
  • 建议在模块化布局确定之后使用。

工作流: 布局锁定 → 主叙事道具 → 次级集群 → 背景填充 → 贴花/磨损 → 灯光检查 → QA。

密度规则:

  • 主交互区:高意图、低噪点。
  • 中景:支撑故事的集群。
  • 背景:稀疏,仅保留轮廓。
  • 通行路径:为玩家/相机留出净空。

集群方法:

  1. 选定一个故事节拍(例如餐食被遗弃、工作台被使用、匆忙逃离)。
  2. 放置 3–7 个能传达该节拍的道具。
  3. 添加 1–2 个磨损/贴花线索。
  4. 停止,不要填满每个表面。

道具来源:

  • 独特道具使用 prop-artist。
  • 填充物使用 Kitbash / 模块化库。
  • 重复实例,略微变化旋转/缩放。

恐怖/稀疏风格:

  • 更少道具,更多含义。
  • 有意保留负空间。
  • 与 horror-style / psx-horror-style 配合。

约束: 必须做:

  • 在灰盒导航可用后再布景。
  • 保持玩家/相机路径畅通。
  • 对重复网格使用实例化。

禁止做:

  • 均匀的杂物壁纸式堆砌。
  • 无故事理由地堵住门窗。

脚本: 脚本已在 Blender 5.2 LTS 上通过官方 Blender MCP 测试。通过 execute_blender_code 运行(或无头模式,参见 blender-mcp-workflow 技能);每个参数请阅读脚本头部说明。当用户要自己粘贴代码到 Blender 时,给出指向该已安装脚本绝对路径的简短 runpy 调用及其 ARGS,不要内联或重写脚本。

scripts/scatter_props.py:在目标周围生成精确数量的剧情道具集群(箱子/桶/托盘),包含地面射线投射、避开目标包围盒、无重叠、共享网格、PROP_ 命名。若需在地形上生成大量小实例,使用几何节点 scatter_points.py。示例:

import runpy result = runpy.run_path("<skill_dir>/scripts/scatter_props.py", init_globals={"ARGS": {"target": "SM_Crate", "count": 8, "kinds": ["box", "barrel", "pallet"]}})["result"]

max_dist(默认 3.5)是目标包围盒中心到任何道具原点的最大水平(XY)距离,按每个道具强制执行。若请求数量无法在该范围内容纳,脚本会抛出 RuntimeError(可增大 max_dist 或减少数量)。

参考指南:

  • references/story-clusters.md(需要时加载)。
  • references/density-map.md(需要时加载)。