想用 HiDream-O1-World 做可交互画面,卡点通常不是提示词不够长,而是一次输入里混了几层互相干扰的条件。建议把每次交互拆成场景、视角、动作三块分开写,先固定其中两块,每次只改一块,画面变化才能对应到具体条件上。一次要给多少条件,取决于你想归因到哪一层:只想验证镜头能不能动,场景和动作就应当写成常量;想验证场景里能不能加东西,视角和动作就先别动。下面的输入骨架和记录方式都可替换,字段名需要结合你所用版本的接口或页面配置确认。
判断方向:一次交互至少要有场景、视角、动作三层可分辨的输入,否则结果变化无法归因。做法是先固定场景与视角,只让动作层变化,再用单变量方式逐层放开。验证方式是保留每层文本并记录观察部位,看变化是否只落在预期区域。边界:各层之间仍可能存在耦合,若只改一层就出现大范围重排,不建议继续加描述,先回退到上一次能通过的输入。
把一次交互拆成场景、视角、动作三层
三层的输入骨架可以先长这样,字段名按你的接口或页面替换:
{
"scene": "黄昏的城市天桥,水泥护栏,远处高架车流,阴天漫射光",
"view": "机位与人眼同高,朝护栏内侧,略俯视,镜头缓慢右移",
"action": "一个人从画面左侧走入,到护栏边停下,双手搭上护栏"
}
- 场景层:世界里有什么、光源从哪来、材质与天气如何。
scene只描述世界本身,不描述谁在看。 - 视角层:谁在看、从哪看、朝向与运动。
view只描述摄像机,不新增物体。 - 动作层:画面中的主体做什么、按什么顺序做。
最常见的混淆是把视角变化写进场景描述,例如在 scene 里写“镜头推近护栏、从高处俯瞰”。这类句子会被当成空间结构的一部分,于是你只改了一句关于“看”的描写,画面却整体重排。判断依据很简单:句子涉及观察位置和方向,放 view;涉及世界里的物体、光和材质,放 scene。
场景层怎么写才不引入自相矛盾
场景描述内部打架,通常表现为光源、地面状态和空间尺度互相冲突。同一场景的两种写法对照:
- 冲突写法:
正午强光的室内,窗户透进黄昏暖光,地面潮湿反光,空气干燥有浮尘——时间与光源方向矛盾,地面状态与空气状态也矛盾。 - 收敛写法:
午后室内,光从右侧窗户斜射进来,地面干燥,空气中有少量浮尘——保留单一主光源,材质与空气状态不互斥。
只改场景层做单变量验证时,按下面这张表记录。输出两列按实际观察填写,不要凭印象概括成一句好或不好:
| 改动项(只动 scene) | 改动前输出 | 改动后输出 |
|---|---|---|
| 光源方向 | (按实际观察填写) | (按实际观察填写) |
| 地面材质 | ||
| 空间尺度与远景层次 |
记录时写事实,比如“反光出现在护栏下方”“远处高架变得不可辨”。连续两次只改 scene、view 和 action 逐字复制,才有依据判断整体走样是不是场景层引入的。
视角层改变后画面为什么整体重排
视角条件控制的是投影关系,不决定画里存在什么。固定 scene 与 action、只改 view,画面重新排布属于正常现象;如果背景物体凭空多出或消失,那更可能是场景层被带偏,而不是视角本身的问题。
| 比对项 | 只改视角前 | 只改视角后 | 要观察的具体部位 |
|---|---|---|---|
| 机位高度 | 地平线在画面中的高低、护栏顶面是否可见 | ||
| 朝向与偏转 | 地面纹理消失点的位置、背景与主体的遮挡关系 | ||
| 运动方式 | 主体在画面中的占比是否连续变化、边缘是否被裁切 |
前后两列只填实际看到的部位变化,不填主观评价,这样下一轮改动才有参照。
动作层描述颗粒度的取舍
粗动作只写起、中、止三个状态,例如“人物从左侧走入,到护栏边停下,双手搭上护栏”。细动作会写顺序和幅度,例如“右手先抬起搭上护栏,随后左手,身体前倾”。粗写更容易保持前后一致,适合先确认主体数量、位置和遮挡是否正确;细写适合已经锁定场景与视角后再补。
- 粗动作的输出记录:记动作起始与结束时的主体位置、主体数量、与场景遮挡是否成立。观察项是主体是否漂移、动作是否中断。
- 细动作的输出记录:按动作分段,每段记一个衔接点。观察项是肢体数量是否变化、前后两段身体朝向是否连续、道具是否半途出现或消失。
不建议一上来就把动作写到每个手指关节。动作越细,需要维持一致性的时间跨度越长,容易出现前段符合、后段走样。可以先粗写跑通,再按段加细节,每次只加一段并记录该段的观察项。
结果不符预期时先回退哪一层
回退顺序建议是动作层 → 视角层 → 场景层,从最容易单独验证的一层往回退,每一步只改一层。
- 动作层回退:把
action换回上一次能通过的粗动作,scene和view保持不变。记录字段:输入版本号、动作文本、起始与结束状态、主体位置是否偏移。 - 视角层回退:若动作层回退后异常仍在,把
view换回上一次的机位与运动参数,scene保持当前值。记录字段:机位高度、朝向、运动方式,以及地平线和遮挡关系变化的部位。 - 场景层回退:最后把
scene换回没有内部冲突的版本,view与action都用当前值。记录字段:光源方向、地面材质、空间尺度、远景层次,以及是否出现物体凭空增减。
每步都保留改动前后的三层文本和观察记录。若某层回退后异常消失,问题大概率落在这一层;三层都回退仍然复现,就该去检查输入长度、步数一类的参数,而不是继续重写描述。