
Toonflow 场景衍生资产生成约束手册从景别、时段到天候的二次元动画场景变体工程化实践【免费下载链接】Toonflow-appToonflow 是开源一站式 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导读在 Toonflow 的一站式 AI 短剧创作流程中场景资产并非只有一张基准图——同一地点需要以不同景别、时段、天候与机位角度反复出现在多个镜头中构成完整的分镜叙事。本文以 2D_mature_urban_romance 风格的场景衍生约束手册 为骨架完整解读场景衍生的五大维度定义、衍生规范、可直接复用的提示词模板与 18 条硬性约束并结合 Toonflow 仓库源码src/routes/assetsGenerate、src/routes/production/assets、src/utils/getArtPrompt.ts还原其在项目中的真实调用链路。读完本文你将掌握如何为成熟都市言情二次元动画批量产出空间一致、叙事聚焦、风格统一的场景变体并理解衍生资产生成在系统内的完整实现原理。一、衍生原则场景变体的五条底层逻辑场景衍生不是重画一张场景而是在参考基准图的基础上沿指定维度做受控变化。该手册开篇即定义了五条不可违背的衍生原则原则含义空间一致建筑结构 / 布局 / 材质在所有变体中保持一致景别驱动同一场景通过不同景别展示不同叙事功能时段切换同一空间在不同时间段呈现不同光影氛围天候变化同一空间在不同天气下呈现不同情绪赛璐璐为锚所有变体必须保持二次元动画风格保持清晰线条与赛璐璐上色理解这五条原则的关键在于空间一致性是底线视觉变化是手段叙事功能是目的。景别负责讲什么时段与天候负责什么情绪而角度负责从哪看。任何一次衍生都必须同时满足变与不变两个方向——变的是表现层不变的是空间与材质本体。这套原则与 Toonflow 执行层 Agent 的提取规则完全对应。在 production_execution_derive_assets.md 中明确写道场景基准态场景父资产默认即为该场景的基础时段视图由art_scene.md生成。时间变体类衍生按对应风格的art_scene_derivative.md以『参考主视图 目标时段』方式落地。 即基准场景由 art_scene.md 负责生成衍生场景由本文档负责约束二者构成主视图 → 变体的父子资产关系。二、景别变体用镜头语言驱动叙事层次景别定义景别是场景衍生中最基础的叙事维度手册给出五档景别及其功能定位景别范围叙事功能提示词大全景场景全貌 周围环境建立空间感、定位extreme wide shot、大全景全景场景完整呈现展示空间结构wide shot、全景中景场景局部区域聚焦功能区medium shot、中景近景场景细部材质/氛围道具特写close shot、近景特写极局部细节材质纹理/关键道具extreme closeup、特写景别衍生规范从基准图向某一档景别衍生时保持不变与允许变化的范围如下从基准图衍生保持不变允许变化大全景 → 全景建筑外观、整体布局视角收窄、前景增加全景 → 中景材质、色调、光线裁切聚焦、景深变化中景 → 近景材质、色调景深浅、背景虚化近景 → 特写材质纹理极浅景深、微距感实践要点景别变化本质上是镜头推近而非场景改变。随着景别收窄画面中出现的元素越来越少因此保持不变的维度要逐级收窄先锁建筑外观再锁材质色调最后只锁材质纹理否则近景与特写就会变味成新场景。三、时段变体同一空间的光影情绪切换时段定义在成熟都市言情题材中时段切换是制造情绪张力的核心手段——黄昏的暧昧、夜间的清冷、清晨的薄雾都直接服务于甜宠与都市叙事时段视觉特征提示词清晨冷白光调、薄雾感晨光微熹、清晨薄雾正午明亮、阴影短、色彩鲜明正午阳光、光线明亮黄昏金色调、长影、天空渐变暮色金辉、golden hour夜间月光冷蓝色调、幽静清冷月光清辉、moonlight夜间灯火暖黄点缀、明暗对比灯火阑珊、灯光氛围时段衍生规范从基准时段衍生保持不变变化项日间 → 黄昏建筑/布局/材质天空色调暖化、影子拉长日间 → 夜间建筑/布局/材质整体变暗、增加灯火/月色氛围室内日间 → 室内夜间空间结构、家具整体色调暖化、增加室内灯光实践要点时段变体是执行层 Agent 明确指定的场景唯一衍生范围。production_execution_derive_assets.md规定场景只提取『时间变体』——同一场景在不同时段下的整体光照/色调/氛围变化如日景→夜景、黄昏、清晨。同一场景可有多个时段变体各自独立角度、天候、破坏等其它变化本阶段不提取。 也就是说虽然本文档定义了景别/时段/天候/角度四个维度但在执行层的默认流程中场景衍生优先落地为时段变体其他维度由提示词中的使用说明决定是否启用。时段变化还需与风格全局色温约束协同。根据该风格的 prefix.md 全局美学基础整体色温偏冷 5800-7000K饱和度中低 30-50%暖色如 C7 琥珀暖#C9A96E仅用于灯光、情绪高点。因此夜间灯火变体的暖黄点缀应当是有节制的局部暖光而非整体暖化。四、天候变体以天气承载环境情绪天候定义天候视觉特征提示词晴天明亮、阴影清晰晴空万里、阳光明媚阴天光线均匀、无硬影阴天柔光、overcast薄雾能见度降低、空气朦胧薄雾弥漫、雾气缭绕细雨水珠、湿润反光、雨丝细雨如丝、雨幕轻纱飞雪白色覆盖、雪花飘落飞雪纷纷、银装素裹天候衍生规范从基准天候衍生保持不变变化项晴 → 薄雾建筑/布局增加雾气层、远景模糊、饱和度降低晴 → 细雨建筑/布局增加雨丝、地面反光、色调偏冷晴 → 飞雪建筑/布局增加积雪、雪花、色调偏白植被需随天候逻辑适配—雨中花瓣湿润、雪中枯枝挂霜实践要点天候变化的重点是联动适配——不能只改天空要让植被、地面、材质表面都响应天候。同时天候必须与季节自洽参见手册 X2 严禁项天候与季节矛盾如夏天飞雪这也呼应了基准场景文档 art_scene.md 中的季节色调映射春青绿淡粉、夏碧绿蔚蓝、秋橙黄棕红、冬素白冷蓝与植被/天候与季节矛盾的 X4 严禁项。五、角度变体保持空间一致、只换视点角度定义衍生图相对参考图可在以下角度维度上进行切换。调用方会传入参考图 目标角度描述本文件只定义角度语汇与一致性约束。角度描述提示词正面/前视与参考图相比视线朝向场景正面front view、eye level侧面左/右朝场景左/右侧 90° 平视left side view/right side view背面/后视朝场景背面 180°back view俯视高位俯瞰呈现整体布局high angle、birds eye view仰视低位仰望强调高大主体low angle、worms eye view近景推进同方向但镜头推进聚焦局部push-in、closer angle自由角度调用方自定义的任意角度描述按{目标角度}注入角度衍生规范角度变体是所有维度中对一致性要求最苛刻的一种因为它的本质是同一空间的视点重排项目约束参考一致性建筑结构/布局/材质/色调/光线/季节/天候必须与参考图一致视点同一场景中心点仅角度切换视线高度可随角度调整光照逻辑参考图光源方向不变角度切换后光影投射方向需同步重算保持物理合理布局单画面非拼图、非多视图、非分屏人物严禁出现任何人物、人影、人体轮廓画面比例默认 16:9或按调用方设定实践要点角度切换时光源方向是锚点——参考图中太阳/路灯的位置不变旋转视点后阴影与高光投射方向必须按物理逻辑重算。这正是从参考图 目标角度描述模式而非从零重绘生成角度变体的技术难点也是提示词中必须保留与参考图保持建筑结构/材质/色调/光线一致仅按目标角度切换视点这句约束的原因。六、提示词模板一次生成、维度按需填空手册强调无需为每种变体单独生成模板而是提供一份统一模板根据用户提供的信息自行判断需要应用的维度角度/景别/时段/天候未提及的维度对应字段留空省略。完整模板如下二次元衍生场景图基于参考图 anime stylecel shadingmodern urban style cinematic compositiondramatic low-key lighting ultra detailed8Khigh quality shallow depth of field画面颗粒感镜头暗角 赛璐璐动画风格电影级构图戏剧化低调光影 scene derivative design sheetenvironment concept artno peopleno charactersno human figures 保持场景空间结构一致 {目标角度如有}{景别视角如有}{时段描述如有}{天候描述如有} {前景}{中景}{后景} {色调描述}{景深描述如有}{天空色调变化如有}{氛围调整如有} {天候视觉特征如有}{材质表面变化如有}{植被适配描述如有} 材质现代使用痕迹生活气息自然磨损 自然光/人造光、戏剧化光影低饱和冷色调 空气透视纹理细节超清晰 单画面构图与参考图保持建筑结构/材质/色调/光线一致仅按目标角度切换视点 画面中无任何人物 图中不要有任何文字使用说明根据用户提供的信息自行判断需要应用的变化维度角度/景别/时段/天候未提及的维度对应字段留空省略即可。无需为每种变体单独生成模板。模板结构拆解风格锚定段anime style / cel shading / modern urban style锁定二次元赛璐璐 现代都市与 art_storyboard_video.md 中视频提示词注入的mature urban romance anime, cel-shaded, cinematic lighting, cool tones, dramatic low-key shadows, clean line art风格标签同源镜头语言段cinematic composition / dramatic low-key lighting / shallow depth of field / 画面颗粒感 / 镜头暗角保证电影级质感一致性约束段保持场景空间结构一致与参考图保持建筑结构/材质/色调/光线一致仅按目标角度切换视点是衍生的灵魂约束可填空段{目标角度}、{景别视角}、{时段描述}、{天候描述}、{前景/中景/后景}、{色调/景深/天空色调/氛围}、{天候视觉特征/材质表面变化/植被适配}共四组维度插槽未提及维度直接省略硬性负向段no people / 画面中无任何人物 / 图中不要有任何文字杜绝人物与文字污染。该模板与基准场景文档 art_scene.md 的主视图模板互为对照基准模板多出hero shot、representative angle等主视图定位词衍生模板则强调基于参考图与仅按目标角度切换视点。七、约束规则必守十条R1–R10与严禁八条X1–X8必守规则编号规则R1场景空间结构在所有变体中保持一致R2时段变体必须调整天空色调与氛围R3天候变体必须适配植被/材质表面R4衍生图必须为「单画面」不得拼接多视图/网格/分屏R5衍生图必须与参考图保持建筑结构/材质/色调/光线一致仅按指定角度切换视点R6场景图中严禁出现任何人物R7根据用户提供的信息自行判断变化维度角度/景别/时段/天候未提及维度留空省略R8必须包含「二次元动画风格」关键词anime style / cel shadingR9必须包含景深特征shallow depth of field / vignette 至少一项保持动画赛璐璐风格R10材质必须带有现代使用痕迹/生活气息禁止全新无瑕的3D渲染感严禁规则编号严禁X1变体间建筑结构/布局不一致X2天候与季节矛盾夏天飞雪等X3变体间材质/风格突变X4出现任何人物、人影、人体剪影或人体轮廓X5画面被拼接成多视图/网格/分屏布局X63D渲染/CG动画/游戏引擎质感禁用 3D render、CGI、Unreal Engine、Unity 等词X7材质过于干净完美、无任何使用痕迹与岁月感避免塑料感X8光照过于均匀平坦、无景深虚化、无镜头光学特征规则解读R 系列回答必须做什么X 系列回答绝对不能出现什么。其中 R6/X4无人物与 R8/R9风格与镜头锚定延续了 prefix.md 的全局必守规则R1/R2/R6 风格锚定词、X1 禁 3D 渲染并针对衍生场景做了强化R1/R4/R5空间一致 单画面 视点切换则是衍生场景区别于基准场景的专属约束。R10/X7 的生活痕迹优先、拒绝塑料感同样与基准场景文档的 R8/X8 一致保证父子资产质感同源。八、源码视角衍生场景约束在 Toonflow 中的落地链路该文档并非孤立的提示词文本而是被 Toonflow 后端以视觉手册visual manual的形式动态读取并注入生成流程。以下是完整的源码级调用链。1. 视觉手册的读取getArtPromptsrc/utils/getArtPrompt.ts 中的getArtPrompt(styleName, source, fileName)负责按风格目录递归查找目标.md文件并将同目录的prefix.md全局美学前缀拼接在文件内容之前返回const prefixContent prefixFile ? fs.readFileSync(prefixFile, utf-8) : ; const found findFileRecursive(baseDir, target); const fileContent fs.readFileSync(found, utf-8); return prefixContent ? ${prefixContent}\n${fileContent} : fileContent;这意味着实际发给模型的 system prompt prefix.md全局色彩盘 全局约束art_scene_derivative.md本文档两者叠加后衍生约束在色彩、色温、情绪色盘层面与全局风格基线完全对齐。2. 场景衍生提示词的选择polishAssetsPromptsrc/routes/assetsGenerate/polishAssetsPrompt.ts单条润色与 batchPolishAssetsPrompt.ts批量润色共同展示了衍生判定的核心逻辑资产是否携带assetsId父资产 ID决定了它是否是衍生资产const assetsData await u.db(o_assets).where(id, assetsId).select(assetsId).first(); // ... visualManual: assetsData.assetsId ? art_scene_derivative : art_scene,即有父资产的场景走art_scene_derivative本文档无父资产的场景走art_scene基准场景文档。批量版本还会按concurrentCount用p-limit限流并发执行并将生成状态写入o_assets.promptState生成中/已完成/失败。3. 参考图 衍生提示词的联合生成batchGenerateAssetsImagesrc/routes/production/assets/batchGenerateAssetsImage.ts 是衍生场景真正产出图片的端点其核心链路通过u.getArtPrompt(artStyle, art_skills, art_scene_derivative)读取本文档作为场景衍生 system prompt关联查询父资产assetsId的图片文件路径与描述作为parentDescribe与参考图来源从 OSS 拉取父资产图片 base64 作为图像参考referenceList: imageBase64 ? [{ type: image, base64: imageBase64 }] : []以aspectRatio: 16:9、size1K/2K/4K来自项目imageQuality调用图像模型生成结果按/${projectId}/assets/${scriptId}/${type}/uuid.jpg落盘并更新o_image状态。这段代码完整印证了文档的基于参考图模式与默认 16:9画面比例约束也说明本文档在实际生成中同时承担文字约束与参考图语义锚定双重职责。4. 视觉手册的可视化管理getVisualManualsrc/routes/project/getVisualManual.ts 将本文档注册为名为场景衍生的视觉手册条目{ label: 场景衍生, value: art_scene_derivative, subDir: art_prompt },该接口按风格目录递归扫描全部视觉手册README/prefix/角色/角色衍生/道具/道具衍生/场景/场景衍生/分镜等并同步返回images/目录下的风格示例图供前端视觉手册编辑页展示与修改。同理addVisualManual.ts 与 editVisualManual.ts 支持对本文档的增改。5. 上游判定执行层 Agent 的衍生提取规则在文档进入提示词引擎之前谁来决定需要衍生什么答案是执行层 Agent。data/skills/production_execution_derive_assets.md 定义了严格的提取边界角色仅提取变身状态服装/特效/变形、场景仅提取时间变体、道具一律不衍生并通过add_deriveAsset工具逐条写入add_deriveAsset({ assetsId: number, // 关联的资产ID id: number | null, // 衍生资产ID新增填 null name: string, // 衍生资产名称 desc: string, // 衍生资产描述 type: role | tool | scene | clip, // 衍生资产类型 })同时强调场景衍生是参考主视图 目标时段的落地方式即art_scene.md产出主视图、本文档产出时段变体二者通过assetsId在o_assets表中构成父子关系——这正是第二节代码中assetsData.assetsId判定成立的数据基础。九、与基准场景手册的分工协作要正确使用本文档必须理解它与基准场景文档的关系对比项art_scene.md基准art_scene_derivative.md本文档衍生产出场景主视图概念图hero shot基于参考图的场景变体核心任务建立场景本体室内/室外、季节色调、前中后景在既定空间上做景别/时段/天候/角度变化空间约束前中后景层次、空气透视与参考图空间结构一致视图规范hero shot、representative angle按{目标角度}切换视点使用条件无父资产assetsId 为空有父资产assetsId 指向主视图在完整制作管线中两者的衔接由源码中的assetsData.assetsId三元判断自动完成见 polishAssetsPrompt.ts同一项目下主视图资产与衍生资产共享同一条artStyle风格路径保证风格基因完全一致而 prefix.md 作为公共前缀同时作用于两者确保全局色彩盘、情绪色盘与必守/严禁项贯穿整个场景资产体系。总结本文档是 Toonflow 成熟都市言情二次元动画风格中场景衍生资产的权威约束源空间一致、赛璐璐为锚是底线景别/时段/天候/角度四维变体是手段单画面、无人物、无文字、拒绝 3D 渲染感是红线。在工程实现上它通过getArtPrompt与全局前缀合并后注入大模型由assetsId判定触发配合父资产参考图完成图片生成并由执行层 Agent 按场景仅提取时间变体的规则驱动写入。对希望在 Toonflow 中定制自身场景资产体系的开发者而言只需按此文档的结构扩充对应风格目录下的art_prompt/art_scene_derivative.md即可获得与官方管线完全兼容的场景衍生能力。【免费下载链接】Toonflow-appToonflow 是开源一站式 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创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考