Skip to main content

previz

当用户发来一段视频提示词(motion prompt)想在花钱生成前先看看画面时使用——读提示词,翻成三维场景,缺画面必需的信息就一次问齐,然后直接渲成导演台风格的三维 HTML 预览:动态放映为主,宫格 / 关键帧 / 站位图 / 场记平面图 / 接缝检查按需。代码画的,不调生成模型、不占额度;引擎随本目录走,不依赖任何工作流文件。

الانتقال إلى التثبيت

معلومات المصدر

المستودع
feicaiclub/previz
آخر نشاط في المصدر
٧ سبتمبر ٢٠٢٦ في ١٥:٣٣
لغة SKILL.md المكتشفة
الصينية
النجوم
٣
التفرعات
١

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

مستكشف الملفات
13 ملفات

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
previz
description
当用户发来一段视频提示词(motion prompt)想在花钱生成前先看看画面时使用——读提示词,翻成三维场景,缺画面必需的信息就一次问齐,然后直接渲成导演台风格的三维 HTML 预览:动态放映为主,宫格 / 关键帧 / 站位图 / 场记平面图 / 接缝检查按需。代码画的,不调生成模型、不占额度;引擎随本目录走,不依赖任何工作流文件。
[任务] 输入只有一样:一段视频提示词。它可以是带条头与围栏的工作流条,可以是「时间段 + 景别机位 + 主体动作 + 摄影机 + 声音 + 结束状态」的公式体,也可以是一段自由写的提示词。 把它翻成一份三维场景 JSON:谁在哪、朝向哪、什么姿态,屋里有什么,每一段是什么景别、机位在哪、怎么动、多长。缺了画面就不成立的信息先问,问完直接渲染,把 HTML 路径、引擎版本、假设清单与自检结果交回用户。 [第一性原则] 最终预览的质量是唯一目的:用户看这张草图是为了在花钱之前确认「我写的提示词,脑子里的画面和它是不是同一个」。任何让这次确认失真的事都不做。 1 · **只渲染提示词写死的东西**:站位、姿态、构图、走位、运镜、时长、台词时点。光线氛围、表演、材质质感一律不渲——白模给不出,给了会误导。 2 · **不是生成**:草图是代码画的示意图,不调任何生成模型,不占用户额度。 3 · **先推断,后提问,一次问齐**:提示词里有的直接用;能按常识推断且不改变画面判断的直接推断、把假设逐条列出来;只有缺了画面就不成立的才问——一问问齐、每问附默认值,用户回「按默认」就按默认渲。没有提问渠道时按默认渲,假设写在交付的最前面。判据在 references/prompt-to-scene.md [必需 · 可推断 · 缺就不填]。 4 · **不设门禁,自检只报不拦**:草图不阻塞任何事。越轴、接缝、数据健康三项照报,但这里没有镜头表可以回流——报出来是给用户看提示词里机位是否自相矛盾,改不改由用户定。 5 · **草图丑不等于提示词错,草图顺眼不等于成片稳。** 这句要原样告诉用户。 6 · **人一律是 figures,陈设按 kind 词表认,词表没有的用基元拼**,不把人写成陈设、不写 block 凑数——这是草图跨场、跨模型、跨机器同一水平的来源。 [依赖检测] - 引擎本体 `scripts/previz.py` 与 `scripts/three.min.js` 在本 skill 目录内。下文命令里的 `<skill>` 指本目录从项目根算起的路径,装在 Claude Code 里通常是 `.claude/skills/previz`,Codex 里是 `.agents/skills/previz`。先跑 `python3 <skill>/scripts/previz.py --version`,要打出「previz 3.x」。低于 3 或没有 --version 的是旧引擎,人会画成锥台加方块:**停**,让用户把最新的整个 skills/previz 目录整体替换过来,不手搓 HTML 替代。 - python3 可用;HTML 用任何现代浏览器打开,three.js 已内嵌、不需要联网。 - 产物落在当前项目根的 `.previz/`:`<id>.json` 与同名 `.html`。目录没有就建;它是派生物,不属于本 skill,随时可删可重生成。 [执行方式] 六步,判据全部在 references/prompt-to-scene.md,schema 在 references/scene-schema.md;两份都要先读完再动手。 1 · 认格式:工作流条(条头 + 围栏)/ 公式体([mm:ss-mm:ss] 分段)/ 自由文本。三种格式六类信息各从哪一段抽,见 [两种输入怎么认] 与 [六类信息从哪来]。 2 · 抽六类:画幅与时长;空间与陈设;人物(数量、代称、相对站位、姿态、朝向、视线);焦点物;分段→镜(每段的景别、机位方向、运镜、时长);台词与音效时点。 3 · 判缺失:按 [必需 · 可推断 · 缺就不填] 三档过一遍。必需项缺了就按 [提问模板] 一次问齐,最多五问、每问带默认值;用户答完或说按默认,再往下走。可推断项直接推断,写进 meta.note 的假设清单;缺就不填的项整项删掉,不猜。 4 · 翻 JSON:先定机位侧(默认机位一侧 = z 大的那一侧),再摆地标,再摆人,再逐段摆机位;景别→视场角与机位距离查 [景别怎么翻] 那张表;方位词怎么变坐标查 [方位词 → 坐标]。落盘 `.previz/<id>.json`,id 取条号,没有条号取提示词首句的短串。 5 · 渲染并读自检: python3 <skill>/scripts/previz.py .previz/<id>.json -m play 终端三段都要读:数据健康(有 [拦下] 就没渲,退出码 2,就地补数据重跑)、轴线、接缝。默认只出动态放映;用户点名再出 grid / keyframes / plan / stage / cut,同一份 JSON 不用改。 6 · 交付:HTML 路径;终端「引擎 3.x」那一行;假设清单逐条;三项自检各一行;一句边界——草图只验证构图、站位、姿态、走位、运镜、节奏时长、台词时点,光线、表演、质感它给不出;草图丑不等于提示词错,草图顺眼不等于成片稳。 用户改了提示词回来重渲:只改 JSON 里对应的字段,不重翻全篇;改动涉及站位或机位时三项自检重读一遍。 [结构化结果] 返回给用户或上游编排的固定几样:HTML 路径与引擎版本;镜数、总时长、画幅;问了什么与用户怎么答;推断了什么(假设清单);三项自检结论;数据取自提示词的哪几段。 [文件结构] previz/ # 本目录整体即 skill,拷到 .claude/skills/ 或 .agents/skills/ 下即用 ├── SKILL.md ├── scripts/ │ ├── previz.py # 渲染引擎本体 3.x(导演台三维白模),schema 与自检的唯一真相源;--version 核对 │ └── three.min.js # three.js r128,内嵌进 HTML,草图离线可开 ├── references/ │ ├── prompt-to-scene.md # 提示词 → 场景的判据卡:格式识别、六类信息来源、必需/可推断/不填、景别翻译、方位翻译、提问模板 │ └── scene-schema.md # 场景 JSON 的字段参考:坐标、陈设词表与基元、人偶姿态、摄影机三形态、六模式 ├── templates/ │ └── scene-template.json # 可直接填空的母版,留着占位符跑会被引擎拦下(退出码 2) └── examples/ ├── sample-prompt-pawnshop.md # 一条真实的工作流条提示词(输入样本) ├── sample-prompt-pawnshop.scene.json # 它翻出来的场景 JSON(输出样本,无需提问) ├── sample-prompt-formula.md # 一段公式体提示词(输入样本,故意缺画幅与站位,示范提问) ├── scene-pawnshop.json # 室内双人标杆,含环绕运镜 └── scene-courtyard.json # 外景单人标杆,含蹲姿、逐镜姿态覆盖、轴上镜 产物 `.previz/` 在使用它的项目根下,不在本目录里。
عرض على GitHub