你画一个厨房场景,桌子被压扁贴在镜头前——没有地平线、没有深度。或者楼梯”往上”,透视线却朝旁边。或者人物头占身体一半。画面内容对,但空间上不合理。
透视和比例错乱发生在 Prompt 里没有空间锚——没焦段、没视点、没透视风格。模型在几千种可能的空间设置上取平均,结果就是混乱的平均。
常见原因
按命中率从高到低:
1. 没指定焦段
不写 wide-angle、telephoto、35mm、85mm,模型挑一个通用中焦段——近景还行,环境就扁 / 畸变。
如何判断:Prompt 没有镜头 / 焦段词——补一个。
2. 没指定视点
eye level、low angle、high angle、bird's eye view、dutch angle——挑一个。没写就默认平视,常常杀深度。
如何判断:Prompt 没有视点词。
3. 场景里物体过多互相打架
每个物体有自己暗示的尺度。花瓶 + 椅子 + 沙发 + 窗户 + 绿植 + 猫,各自暗示不同距离。模型为了协调它们崩了透视。
如何判断:Prompt 有 5+ 个不同名物体。
4. 长宽比和主体不匹配
宽幅环境硬塞 9:16 竖屏,模型只能丑陋裁切透视。高个人物塞 16:9 横屏反过来。
如何判断:长宽比和主体自然倾向相反。
5. 视角描述自相矛盾
"bird's eye view of a person standing tall, looking up at the camera"
鸟瞰 = 俯视。Looking up = 相机在下方。冲突。模型挑一个或平均。
如何判断:视点词和主体角度词不一致。
6. 风格本身就破透视
立体派、超现实、埃舍尔、达利、isometric、axonometric——这些风格故意破坏透视。误用就是这个原因。
如何判断:风格词暗示破透视。
最短修复路径
Step 1:Prompt 开头加 5-7 个词的”相机块”
模板:
[焦段] + [视点] + [透视风格] + [你的主体]
例子:
# 建筑 / 环境
"wide-angle 24mm, eye level, two-point perspective, ..."
# 人像
"85mm portrait lens, eye level with subject, shallow depth, ..."
# 电影感风景
"35mm anamorphic wide, low angle from ground, three-point perspective, ..."
# 俯拍商品 / flat-lay
"top-down shot 90 degrees overhead, no perspective, flat, ..."
# 室内建筑
"24mm wide, eye level standing 5ft above floor, two-point perspective, ..."
单这一步修 60-70% 的透视问题。
Step 2:挑一个视点,坚定不换
常用视点:
eye level — 自然平视,默认
low angle — 仰视,英雄感
high angle — 俯视,脆弱感
bird's eye view — 完全俯瞰
worm's eye view — 完全仰视
dutch angle — 镜头倾斜,动感
three-quarter view — 30-45° 偏角
straight-on — 正面平贴
isometric — 工程图等距
不要混不兼容的。
Step 3:场景物体砍到 3-5 个
# 修改前 —— 过多
"a kitchen with a table, four chairs, fridge, stove, microwave, coffee maker, blender, sink, window, plant"
# 修改后 —— 聚焦
"a kitchen scene featuring a wooden dining table with four chairs in soft morning light"
物体越少,透视越一致。
Step 4:长宽比和场景类型匹配
# 匹配
- 宽幅风景 / 环境 → 16:9 或 21:9(横)
- 站立人物 / 肖像 → 4:5 或 9:16(竖)
- Flat-lay / 俯拍 → 1:1(方)
- 宽幅建筑 → 21:9(电影)
- 竖直建筑 → 9:16(竖)
Step 5:加显式透视风格词
two-point perspective — 标准建筑
one-point perspective — 单消失点,走廊 / 道路
three-point perspective — 仰视 / 俯视高建筑
forced perspective — 夸张深度
isometric perspective — 工程图,无消失点
no perspective — 扁平,俯拍或正面
deep depth of field — 全景深,透视清晰
Step 6:ControlNet Depth 严控透视
有想要透视的参考图时:
# ComfyUI / Forge
1. 加载 ControlNet Depth 或 LineArt
2. 喂想要透视的参考图
3. 强度 0.6-0.8 —— 锁透视,模型只填内容
或者用 SketchUp / Blender 快速 3D 渲染作为 ControlNet 输入,建筑透视极其精确。
预防建议
- 每个 Prompt 开头加 5-7 词的相机块:焦段 + 视点 + 透视风格
- 默认焦段:24mm 广角拍环境,50mm 标准拍半身,85mm 拍肖像
- 长宽比匹配场景(环境用横,人物用竖)
- 建筑 / 商品工作默认带 ControlNet Depth