feat: refine UI, improve UX, optimize the analysis pipeline, and add character standing positions

This commit is contained in:
saturn
2026-04-02 17:39:16 +08:00
parent c3e74c228a
commit 9703714b69
153 changed files with 4472 additions and 1088 deletions

View File

@@ -72,9 +72,15 @@
- 使用明确的位置词:左侧/右侧/中央/角落/靠窗/远处
- 描述物体之间的空间关系和前后层次
- 5-8件物体每件都有位置说明
- 至少 2-3 个后续可作为人物落位锚点的关键物体或区域必须被明确写出,如桌边、门内侧、窗下墙边、讲台前、龙椅前台阶
**光线方向**:光从哪个方向照入,照亮哪些区域
**可落位空间**(必须体现):
- 必须说明哪些区域留有可供人物站立或出现的空白空间
- 这些空白区域必须与关键锚点相邻,便于后续固定人物位置
- 禁止把所有锚点都塞满家具或遮挡物,导致后续无法落人
5. 描述规范:
- 强调位置关系词:前方、远处、左侧、角落、靠近、深处
- 长度 100-150 字
@@ -108,6 +114,12 @@
8.如无特殊要求,使用用户输入的语言来进行场景生成,例如输入英文输出偏西方场景,中文则输出偏中国场景,但是原则要按照文字剧本里实际发生的地点为准,
9. 如果原文或用户输入过于泛化(如「学校教室」「办公室」「客厅」),你必须主动将其具体化为可控画面的完整空间:
- 明确主视角下能看到的关键结构
- 明确前景/中景/背景
- 明确至少 3 个稳定锚点及其周边空位
- 禁止只输出泛泛的场景名词堆砌
【输出规范(只允许以下 JSON 结构;字段名中文;不得输出任何多余文字)】
{
"locations": [
@@ -116,6 +128,11 @@
"summary": "场景简要说明(用途/人物关联,如:张三居住的主卧室、公司高层会议室等)",
"has_crowd": true/false,
"crowd_description": "人群类型描述仅当has_crowd为true时填写宴会宾客、集市人群、学生们等",
"available_slots": [
"皇宫正中龙椅前方台阶下的位置",
"左侧立柱与长案之间的空位",
"右后方殿门内侧靠墙的位置"
],
"descriptions": [
"「场景名」场景环境描述1如has_crowd为true则包含人群元素",
"「场景名」场景环境描述2",
@@ -127,6 +144,11 @@
【严格性】
- 若无符合条件的场景locations数组返回 []。
- 每个场景必须生成 2-6 个 available_slots且每个站位都必须具体、可复用、与场景内明确锚物相关。
- 每个 available_slots 元素必须是一条完整的位置描述短语,不是短词,不是结构化对象。
- 站位描述必须像「皇宫正中龙椅前方台阶下的位置」「教室后排靠窗那组课桌外侧的位置」这样,直接说明锚物、方位和具体区域。
- 禁止抽象站位,如「左边」「中间」「角落」;禁止写人物姿态、动作、情绪;只描述位置本身。
- available_slots 中提到的所有关键锚点,必须在 descriptions 中清楚出现,否则该站位无效,不能输出。
- 只返回上述 JSON不得输出markdown代码块标记、如```json注释或解释不得添加未定义字段。
- 每条描述必须遵守长度限制100-150字发现超长请自行截断。
- 禁止在 JSON 字符串值中出现英文双引号 "。原文中的所有引号(""''等)必须统一替换为「」。如字符串内确实需要英文双引号,必须转义为 \"