news 2026/9/21 22:50:07

Toonflow 场景衍生资产生成约束手册解读:90年代复古日系动画风格的景别、时段、天候与角度变体规范

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Toonflow 场景衍生资产生成约束手册解读:90年代复古日系动画风格的景别、时段、天候与角度变体规范
  • 人工智能
  • 大模型
  • AI 应用
  • AI Agent
  • 媒体生成
  • 后端
  • 桌面应用

【免费下载链接】Toonflow-app

Toonflow 是开源一站式 AI 短剧创作工具,将小说、剧本快速转化为动画短剧。集成 AI 编剧、智能分镜、角色与视频生成,跨平台桌面端轻量部署,助力创作者低成本批量产出视觉内容。Toonflow is an open-source AI tool that turns stories and scripts into animated short dramas. Features AI scriptwriting, storyboarding, character and video generation. A cross-platform desktop app for efficient content creation.

项目地址:https://gitcode.com/gh_mirrors/to/Toonflow-app
点击查看免费下载

90年代复古日系动画风格是 Toonflow 内置的 2D 美术风格之一,其衍生资产生成约束手册(data/skills/art_skills/2D_90s_japanese_anime/art_prompt/art_scene_derivative.md)定义了"同一场景、多视觉状态"的完整衍生规范。本文围绕该手册,系统讲解景别、时段、天候、角度四类变体的定义、衍生规则、统一提示词模板与十条必守/八条严禁约束,并结合仓库源码说明其在"执行层 Agent 衍生资产分析与写入"流程中的实际落地方式,帮助读者在 Toonflow 中正确配置与复用自己的场景衍生资产。

一、场景衍生资产在 Toonflow 中的定位

Toonflow 将"场景"视为短剧生产的核心资产类型之一。在项目工作区数据模型(src/agents/productionAgent/tools.ts)中,资产被建模为:

export const assetItemSchema = z.object({ id: z.number().describe("资产唯一标识"), name: z.string().describe("资产名称"), type: z.enum(["role", "tool", "scene", "clip"]).describe("资产类型"), prompt: z.string().describe("生成提示词"), desc: z.string().describe("资产描述"), derive: z.array(deriveAssetSchema).describe("衍生资产列表"), });

其中derive数组存放"衍生资产"——即父资产(基础场景)的视觉状态变体。衍生资产字段定义如下(同上文件):

const deriveAssetSchema = z.object({ id: z.number().describe("衍生资产ID,如果新增则为空"), assetsId: z.number().describe("关联的资产ID"), prompt: z.string().describe("生成提示词"), name: z.string().describe("衍生资产名称"), desc: z.string().describe("衍生资产描述"), src: z.string().nullable().describe("衍生资产资源路径"), state: z.enum(["未生成", "生成中", "已完成", "生成失败"]).describe("衍生资产生成状态"), type: z.enum(["role", "tool", "scene", "clip"]).describe("衍生资产类型"), });

关键语义(见 data/skills/production_execution_derive_assets.md):

核心原则:derive 是父资产的视觉状态变体("{父资产名}·{状态名}"),不是独立物件,也不是为了某个镜头临时拆出的局部特写。

对场景资产而言:

  • 场景基准态:场景父资产默认即为该场景的基础时段视图,由 art_scene.md 生成;
  • 时间变体类衍生:按对应风格的art_scene_derivative.md以"参考主视图 + 目标时段"方式落地。

提取范围上,场景只提取「时间变体」——同一场景在不同时段下的整体光照/色调/氛围变化(如日景→夜景、黄昏、清晨),同一场景可有多个时段变体,各自独立;角度、天候、破坏等其它变化在执行层"本阶段不提取",而是在衍生图提示词阶段按需注入(见 production_execution_derive_assets.md)。

写入动作通过add_deriveAsset工具完成,其底层实现在 src/agents/productionAgent/tools.ts:先按assetsId查父资产,取其type(场景即scene)作为衍生类型,再向o_assets表插入/更新记录并同步o_scriptAssets关联,最后通过 socket 广播addDeriveAsset事件刷新前端工作区。值得注意的是,该实现对 LLM 偶尔传入的"null"字符串做了容错归一(src/agents/productionAgent/tools.ts#L126-L129),新增衍生时idnull即可。

二、衍生五大原则:变化中的一致性锚点

手册开篇即给出衍生必须遵守的五大原则,它们是所有变体衍生的"一致性锚点":

原则内容作用
空间一致建筑结构/布局/材质在所有变体中保持一致保证变体可被识别为"同一场景"
景别驱动同一场景通过不同景别展示不同叙事功能景别是叙事工具而非简单缩放
时段切换同一空间在不同时间段呈现不同光影氛围低成本营造时间流逝感
天候变化同一空间在不同天气下呈现不同情绪天候是情绪的外化手段
90年代为锚所有变体必须保持90年代复古风格,拒绝现代CG/3D渲染风格红线,贯穿全部变体

这五条原则与基础场景手册 art_scene.md 的"90年代为锚"美学原则一脉相承:手绘线条(流畅线条、块面阴影)与电影感光影(柔和暖光、体积光)是所有衍生变体共享的风格基因。

三、景别变体:同一场景的叙事分级

景别定义

景别范围叙事功能提示词
大全景场景全貌 + 周围环境建立空间感、定位extreme wide shot
全景场景完整呈现展示空间结构wide shot
中景场景局部区域聚焦功能区medium shot
近景场景细部材质/氛围道具特写close shot
特写极局部细节材质纹理/关键道具extreme closeup

景别衍生规范

从基准图衍生保持不变允许变化
大全景 → 全景建筑外观、整体布局视角收窄、前景增加
全景 → 中景材质、色调、光线裁切聚焦、景深变化
中景 → 近景材质、色调景深浅、背景虚化
近景 → 特写材质纹理极浅景深、微距感

从规范可以看出景别衍生的核心逻辑:越往近景走,越少改动全局属性,越强调景深与裁切。全景级只动"视角范围",中景才开始引入"景深变化",近景/特写则锁定材质纹理不变。这保证了从"空间定位"到"细节呈现"的递进关系始终建立在同一个物理场景之上。

四、时段变体:光影即时间

时段定义

时段视觉特征提示词
清晨薄雾柔光、色调偏冷晨光、清晨薄雾
正午明亮、阴影短、色彩鲜明正午阳光、光线明亮
黄昏金色色调、长影、天空渐变黄昏、golden hour
夜间(月光)冷蓝色调、幽静清冷月光、月夜
夜间(灯火)暖黄点缀、明暗对比夜晚、灯火

时段衍生规范

从基准时段衍生保持不变变化项
日间 → 黄昏建筑/布局/材质天空色调暖化、影子拉长
日间 → 夜间建筑/布局/材质整体变暗、增加灯火/月色
室内日间 → 室内夜间空间结构、家具整体色调暖化、增加光源

时段变体是执行层提取的唯一场景衍生方向,因为它是"稳定、可复用、资产级"的视觉状态:同一间教室在"日景/黄昏/夜景"三个时段下需要反复出现在多个分镜中,且无法仅凭分镜 prompt 稳定控制,因此必须以衍生资产形式固化。

时段变体与全局色彩盘(prefix.md)中的"情绪色盘"直接呼应:黄昏浪漫对应"琥珀暖 C7 + 暖橙 C10 + 樱花粉 C2",夜晚月色对应"天空蓝 C3 + 淡紫 C6 + 暖黄 C1",回忆闪回对应"暖黄 C1 + 淡紫 C6 + 高级灰 C5"。生成时段变体时可按此色盘对齐导演情绪意图。

五、天候变体:情绪外化的天气层

天候定义

天候视觉特征提示词
晴天明亮、阴影清晰晴天、阳光明媚
阴天光线均匀、无硬影阴天、柔和光线
薄雾能见度降低、空气朦胧薄雾、雾气缭绕
细雨水珠、湿润反光细雨、雨丝
飞雪白色覆盖、雪花飘落飞雪、雪花

天候衍生规范

从基准天候衍生保持不变变化项
晴 → 薄雾建筑/布局增加雾气层、远景模糊
晴 → 细雨建筑/布局增加雨丝、地面反光
晴 → 飞雪建筑/布局增加积雪、雪花
植被需随天候逻辑适配雨中植物湿润、雪中植物挂霜

天候衍生的关键是"植被/材质表面随天候适配":雨天植物湿润反光、雪天植物挂霜,这与基础场景手册的季节色调映射(春=粉色+嫩绿、夏=碧绿+蓝色、秋=金黄+橙红、冬=白色+灰色,见 art_scene.md)相互制约——天候不能与季节矛盾(严禁项 X2)。例如冬季场景衍生"细雨"就与雪季逻辑冲突,应避免。

六、角度变体:视点切换与一致性重算

角度定义

衍生图相对参考图,可在以下角度维度上进行切换。调用方会传入参考图 + 目标角度描述,本文件只定义角度语汇与一致性约束。

角度描述提示词
正面/前视与参考图相比,视线朝向场景正面front view、eye level
侧面(左/右)朝场景左/右侧 90° 平视left side view / right side view
背面/后视朝场景背面 180°back view
俯视高位俯瞰,呈现整体布局high angle、bird's eye view
仰视低位仰望,强调高大主体low angle、worm's eye view
近景推进同方向但镜头推进,聚焦局部push-in、closer angle
自由角度调用方自定义的任意角度描述{目标角度}注入

角度衍生规范

项目约束
参考一致性建筑结构/布局/材质/色调/光线/季节/天候必须与参考图一致
视点同一场景中心点,仅角度切换;视线高度可随角度调整
光照逻辑参考图光源方向不变,角度切换后光影投射方向需同步重算(保持物理合理)
布局单画面(非拼图、非多视图、非分屏)
人物严禁出现任何人物、人影、人体轮廓
画面比例默认 16:9(或按调用方设定)

角度变体是四类变体中唯一"由调用方传入目标角度描述"的维度(自由角度按{目标角度}注入占位符),其余景别/时段/天候均由 Agent 根据用户信息自行判断。角度切换时"光源方向不变、光影投射方向重算"是一条物理合理性要求——同一场景转角度后影子应落在正确方向,这是避免"多视图拼接感"的关键。

七、统一提示词模板:单模板覆盖多维度

手册明确:"无需为每种变体单独生成模板",所有变体共用一份提示词模板,未提及的维度对应字段留空省略即可。完整模板如下:

90年代复古日系动画风格衍生场景图,基于参考图, 90s anime style,手绘平涂上色,柔和暖色调,精细流畅线条,电影感光影, scene derivative design sheet,environment concept art,no people,no characters,no human figures, 保持场景空间结构一致, {目标角度(如有)},{景别视角(如有)},{时段描述(如有)},{天候描述(如有)}, {前景},{中景},{后景}, {色调描述},{景深描述(如有)},{天空色调变化(如有)},{氛围调整(如有)}, {天候视觉特征(如有)},{材质表面变化(如有)},{植被适配描述(如有)}, 线条流畅、块面阴影、使用痕迹, 柔和电影光、背景光晕、自然光照, 单画面构图,与参考图保持建筑结构/材质/色调/光线一致,仅按目标角度切换视点, 画面中无任何人物 图中不要有任何文字

模板的占位符设计可以按四个维度拆解理解:

占位符组对应维度说明
{目标角度}{景别视角}角度 / 景别未指定则省略
{时段描述}{天空色调变化}时段配合"天空色调与氛围"必守规则 R2
{天候描述}{天候视觉特征}{植被适配描述}天候配合"植被/材质表面适配"必守规则 R3
{前景}/{中景}/{后景}{色调描述}{景深描述}{氛围调整}{材质表面变化}通用画面保持基础场景手册要求的层次纵深

同时模板内置了{目标角度}语汇与 art_scene.md 的场景主视图模板(hero shot、eye level、balanced composition)的衔接——衍生图以"参考主视图 + 目标角度"为输入,本质上是img2img 视角下的场景转绘。这与 generateAssets.ts 中图片生成的实现方式吻合:请求体支持可选的base64参考图字段,调用u.Ai.Image(model).run()时通过referenceList: [{ type: "image", base64 }]传入参考图,并按aspectRatio: "16:9"出图——与手册默认 16:9 的画面比例约定一致。

八、约束规则全集:必守 R1–R10 与严禁 X1–X8

必守(R)

编号规则
R1场景空间结构在所有变体中保持一致
R2时段变体必须调整天空色调与氛围
R3天候变体必须适配植被/材质表面
R4衍生图必须为「单画面」,不得拼接多视图/网格/分屏
R5衍生图必须与参考图保持建筑结构/材质/色调/光线一致,仅按指定角度切换视点
R6场景图中严禁出现任何人物
R7根据用户提供的信息自行判断变化维度(角度/景别/时段/天候),未提及维度留空省略
R8必须包含90年代关键词(90s anime style / hand-drawn / warm tone)
R9必须包含线条特征(流畅线条、块面阴影 至少一项)
R10材质必须带有使用痕迹,禁止全新无瑕的"CG 感"

严禁(X)

编号严禁
X1变体间建筑结构/布局不一致
X2天候与季节矛盾
X3变体间材质/风格突变
X4出现任何人物、人影、人体剪影
X5画面被拼接成多视图/网格/分屏布局
X63D 渲染/CG 动画/现代风格质感
X7材质过于干净完美、无任何使用痕迹
X8光照过于均匀平坦、无柔和电影光

这些规则与 prefix.md 定义的全局硬约束一致(严禁现代日系/CG/3D、严禁高饱和荧光色等),并额外强化了"变体间一致性"(X1/X3)与"单画面"(X5)两条场景衍生专属红线。值得注意:R8/R9/R10 与角色衍生手册 art_character_derivative.md 中 R2(线条流畅+结构清晰)、质感不降原则等共享同一套 90 年代美学基因,说明整套美术技能在风格锚点上高度统一。

九、在实际生产链路中如何使用

场景衍生资产在 Toonflow 的生产 Agent 链路中按如下步骤落地:

  1. 衍生资产分析与写入:执行层 Agent 依据 production_execution_derive_assets.md 读取get_flowData("script")get_flowData("assets"),仅对"有明显时段切换需求"的场景调用add_deriveAsset写入衍生(场景只提取时间变体,每资产 1~5 条,宁缺勿滥);
  2. 衍生资产图片生成:执行层 Agent 按 production_execution_generate_assets.md 调用generate_assets_images({ ids })批量生成图片(异步发起即返回),仅对"有衍生状态且尚未生成"的资产发起;
  3. 提示词组装:Agent 按本手册的"统一模板 + 占位符裁剪"方式输出衍生图提示词,并可通过 getArtPrompt.ts 工具按风格目录递归加载prefix.md+art_scene_derivative.md等美术约束文件(getArtPrompt("2D_90s_japanese_anime", "art_skills", "art_scene_derivative")即可拿到含全局前缀的完整约束文本);
  4. 技能激活注入:衍生子 Agent 通过activate_skill/read_skill_file工具加载风格技能(实现见 skillsTools.ts),主技能内容会剔除 frontmatter 后以<skill_content>形式注入上下文,资源文件路径被限制在技能目录内(防路径穿越)。

对希望复用自己的美术风格的开发者,可直接仿照data/skills/art_skills/2D_90s_japanese_anime/目录结构(prefix.md+art_prompt/+driector_skills/),提供同名art_scene_derivative.md约束手册,即可让执行层 Agent 以同样的机制生成该风格下的场景衍生资产。

十、使用要点速查

  • 判断变化维度:角度/景别/时段/天候四类变体由 Agent 根据用户信息自行判断启用,未提及维度在模板中留空省略,不单独生成变体模板;
  • 时段是执行层的"唯一必提取项":执行层衍生提取阶段只写时间变体;角度/天候等变化在提示词阶段注入(详见 production_execution_derive_assets.md);
  • 一致性优先于变化:所有变体共享"空间结构一致 + 单画面 + 无人 + 90年代锚定"的底线,变化只发生在允许的维度上;
  • 画面比例默认 16:9:与 generateAssets.ts 中aspectRatio: "16:9"的出图参数一致,可按调用方设定覆盖;
  • 禁止人物与文字:模板末尾固定携带"画面中无任何人物 / 图中不要有任何文字",与场景基础手册保持一致。

参考资源

  • 本文主体:场景衍生约束手册 art_scene_derivative.md
  • 场景基础手册(基准态生成):art_scene.md
  • 全局美学基线(色彩盘/色温/硬约束):prefix.md
  • 风格总览:data/skills/art_skills/2D_90s_japanese_anime/README.md
  • 执行层衍生提取规则:data/skills/production_execution_derive_assets.md
  • 衍生资产生成工具实现:src/agents/productionAgent/tools.ts
  • 技能加载机制:src/utils/agent/skillsTools.ts
  • 美术提示词按风格读取工具:src/utils/getArtPrompt.ts
  • 资产图片生成接口:src/routes/assetsGenerate/generateAssets.ts
  • 人工智能
  • 大模型
  • AI 应用
  • AI Agent
  • 媒体生成
  • 后端
  • 桌面应用

【免费下载链接】Toonflow-app

Toonflow 是开源一站式 AI 短剧创作工具,将小说、剧本快速转化为动画短剧。集成 AI 编剧、智能分镜、角色与视频生成,跨平台桌面端轻量部署,助力创作者低成本批量产出视觉内容。Toonflow is an open-source AI tool that turns stories and scripts into animated short dramas. Features AI scriptwriting, storyboarding, character and video generation. A cross-platform desktop app for efficient content creation.

项目地址:https://gitcode.com/gh_mirrors/to/Toonflow-app
点击查看免费下载

相关推荐

上一篇:NCM文件解密:免费开源ncmdump,3分钟还原MP3/FLAC
下一篇:Jasminum 插件版本管理全流程实战指南:从本地调试到一键发布

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/21 22:44:38

QQ空间说说如何全量备份?GetQzonehistory使用指南

QQ空间说说如何全量备份&#xff1f;GetQzonehistory使用指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 说说和评论已在平台沉淀多年&#xff0c;一旦账号异常或页面改版&#xff…

作者头像 李华
网站建设 2026/9/21 22:42:11

Open3D C++开发指南:5个最佳实践让你快速集成到工程项目

Open3D C开发指南&#xff1a;5个最佳实践让你快速集成到工程项目 【免费下载链接】Open3D Open3D: A Modern Library for 3D Data Processing 项目地址: https://gitcode.com/gh_mirrors/op/Open3D Open3D 是一款现代化的 3D 数据处理库&#xff0c;提供点云、网格、RG…

作者头像 李华
网站建设 2026/9/21 22:34:43

华为S系列园区交换机维护宝典:获取电源模块序列号

获取电源模块序列号 方式一:通过命令行查看电源模块的序列号 执行命令display elabel,根据命令提示,选择电源编号,可查看到如下电子标签信息,其中SN内容为电源模块序列号。不同版本命令格式可能略有差异,可通过输入“?”获取命令提示信息,选择对应的电源参数。 <…

作者头像 李华
网站建设 2026/9/21 22:29:18

备份QQ空间历史说说:GetQzonehistory

备份QQ空间历史说说&#xff1a;GetQzonehistory 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 深夜翻空间想找五年前的那条转发&#xff0c;才发现QQ空间历史说说备份一直没做&#x…

作者头像 李华