mcpField
S
scenario-3d-worlds

scenario-3d-worlds

github.com/scenario-labs创意与媒体1.2k441 次安装1 天前更新
代码仓库

关于 scenario-3d-worlds

Scenario 3D Worlds 是一项用于创建可探索 3D Gaussian splat 环境的技能,也涵盖将单张地点图像转为 splat 的流程。它介绍 Marble、HY World 和 TripoSplat,帮助创作者按场景、视频、照片或物体输入选择模型。

主要功能

  1. 01生成可探索的 Gaussian splat 环境
  2. 02使用 Marble 的三个质量等级
  3. 03通过 HY World 流程创建 splat
  4. 04使用 TripoSplat 生成单物体 splat
  5. 05输入、模式与任务处理指南

适用场景

  1. 01将概念图转为可探索的关卡初稿
  2. 02根据文本或场景照片创建世界
  3. 03将漫游视频转换为 splat 环境
  4. 04根据单张物体照片生成 splat

MCP 相关

该技能通过 `scenario` 技能使用 Scenario 工具,包括模型发现、模式查询、生成任务以及资源展示或下载。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/scenario-labs/skills --skill scenario-3d-worlds

安装后在 Claude Code 中输入/scenario-3d-worlds确认已加载。

详细介绍

场景 3D 世界

概述

这些模型会将可探索环境构建为 3D 高斯泼溅,而非多边形网格:打造可供漫步并实时渲染的体积场景,无需编辑 UV 或拓扑(Marble 泼溅也支持导出为三角形网格或碰撞网格)。这里并列介绍三家供应商:World Labs Marble(分三个质量档位)、Hunyuan 的 HY World 流程,以及用于单个物体的 TripoSplat。使用 search 发现这些模型,并将 model_schema_get 视为接口约定;HY World 的部分成员在创建时带有地理限制标签,因此不同团队和地区看到的结果会有所不同。

连接方式和核心循环:参见 scenario 技能;多边形网格、骨骼绑定和 3D 查看器:参见 scenario-3d 技能;不涉及泼溅阶段的纯天空盒工作:参见 scenario-skyboxes 技能。如果你可用的技能中缺少此处提到的同系列技能,请让用户安装(npx skills add scenario-labs/skills --skill <name>);如果无法等待安装,请根据工具架构继续操作,并注明这一缺失。

快速参考

根据你已有的内容选择成员(输入名称以实时架构为准):

你有成员输入
一个文字创意Marble,任意档位仅 prompt
一张平面图或 360 度图像Marbleimages,仅一项;如果是 360 度图像则设 isPano: true
同一场景的 2 到 8 张照片Marbleimages
一段漫游视频Marble 或 HY Multi-view to Splatvideo
多张重叠照片HY Multi-view to Splatimages,创建时支持 2 到 64 张
一张地点照片HY Image to Skybox,然后 Skybox to Splatimage,然后 panorama
一张物体照片TripoSplatimage;自动移除背景

凡是同时支持 images 和 video 的成员,这两个参数都不能同时使用;仅当传入一张图像时,isPano 才适用。TripoSplat 需要一件清晰的物体,其他所有成员都需要一个场景:将模型用于对方适用的对象,是最常见的失败原因。

先用 Marble 起草,再升级

Marble 的三个档位(1.0 Draft、1.1、1.1 Plus)接受完全相同的输入;只要输入和 seed 相同,各档位生成的世界也相同。先用 Draft 反复迭代——创建时大约一分钟即可返回——然后用完全相同的参数重新运行 1.1(均衡)或 1.1 Plus(最高保真度;场景条件允许时会动态生成更大的世界)。创建时各档位的费用相差十倍以上,因此提交前先运行 dry_run。splatResolution 用于选择存储密度(100k、500k、full);disableRecaption: true 可阻止 Marble 改写你的提示词。

HY World 流程耗时较长

Image to Skybox 是图像模型,而非 3D 模型:它会将一张地点照片扩展为 2:1 等距柱状全景图(backend 用 full 换取保真度,用 qwen 换取速度和更低成本)。将其输出的资源 ID 作为 panorama 传给 Skybox to Splat。在该阶段,三个轨迹开关(applyNavTraj、applyUpRoute、applyReconIteration,默认均为 true)会影响成本和耗时;maxSteps 只会略微提升效果,对耗时和成本都不会造成实质影响。创建时,泼溅阶段的中位耗时接近一小时:使用 pending_job_ids 持续调用 jobs_wait;超时不代表失败,绝不能因此再次调用 model_run。Multi-view to Splat 则恰恰相反,速度快且成本低:最适用于相机穿过带视差的静态场景时拍摄的内容。

示例:根据概念图生成关卡的灰盒

  1. 使用 search,设置 target="models"、query="marble world"、public=true。不同档位会并排显示,例如 model_worldlabs-marble-1-0-draft(这是编写本文时找到的可用项:每次会话都要重新搜索)。
  2. 使用 Draft ID 调用 model_schema_get:先查看字段、上限和默认值,再进行其他操作。
  3. 使用 upload_asset 上传概念图(参见 scenario 技能),获取资源 ID。
  4. 调用 model_run 并设置 dry_run=true,以及 parameters={"images": ["asset_x"], "prompt": "abandoned observatory interior, dusk light through the dome slit", "seed": 1234, "splatResolution": "full"}; 再对 1.1 ID 运行一次 dry run,查看升级成本。
  5. 对 Draft 调用 model_run 并设置 wait=false,然后使用任务 ID 调用 jobs_wait;如果超时,则通过 pending_job_ids 再次调用。
  6. 使用 asset_display 查看 splat 并在其中漫游;在 Draft 上调整并重复操作,直到布局合适。
  7. 使用第 1 步中的 1.1 或 1.1 Plus ID,重新运行完全相同的参数并使用相同的 seed,然后对最终的 .spz 调用 asset_download。

常见错误

  • 同时传入 images 和 video:在 Marble 和 Multi-view to Splat 中,两者互斥。
  • 输入单张等距柱状投影图,却未设置 isPano: true:Marble 会将其视为平面照片。
  • 在 Draft 和升级档位之间更改或省略 seed:生成的世界会不同。
  • 将场景输入 TripoSplat,或将单个物体输入世界模型。
  • 将 Skybox to Splat 的 jobs_wait 超时视为失败:任务仍在运行。
  • 通过调整 maxSteps 来提升质量或降低成本:轨迹开关会影响成本,而 maxSteps 对清晰度的影响微乎其微。
  • 期待 splat 提供 UV 或可编辑拓扑:如需多边形资源,请使用 scenario-3d 中的网格生成器。

评论

支持 Markdown