AI 生成 3D 室内空间:为什么一个房间比一条街更难
能走进去的房间和一张房间的图片是两种产品。决定你拿到哪一种的,是通行尺寸、家具关系图和光。
让图像模型画一间北欧风客厅,三十秒后你会拿到一张照片:白橡木、低矮沙发、午后的光斜掠过抹灰墙面。让智能体在 3D 里做同一间房,它首先要定的是门有多宽。
室内是 AI 3D 里被要求得最多、也最稳定地令人失望的东西,原因不在模型质量。房间比街道更难,尽管它只有街道的百分之一大。
房间的图片和房间是两种产品
「AI 室内设计」这个品类很大,商业上也健康,而且几乎全是基于图像的:上传一张客厅照片,选一个风格,十五到六十秒后拿回改造过的照片。这些工具把自己的事做得很好,下面说的都不是在批评它们。
它们不产出的东西是几何体。结果里没有沙发,只有排列成沙发样子的像素。你无法测量它、无法与它碰撞、无法走到它背后、无法把它重新打成黄昏的光,也无法导出。移动相机,房间会跟着变,因为模型握住的是一个视角,不是一个房间。
这决定了哪些问题根本问得出口。「走廊够宽吗」是一个 3D 问题。图像生成器会画出一条 500 毫米宽的走廊,而且画得很好看,因为照片里没有人需要走路。
一个测试就能分开这两种产品:指着结果里的任意一件东西,问它有多大。如果没人能用毫米回答,你拿到的是一张图。
为什么房间比街道更难
外景是更多的工作量:一个小镇是几百栋建筑,一间布置好的房间大约四十个物件。但工作量和难度是两回事。
观察者在 600 毫米之外,不是 30 米
街景里最近的立面离相机 8 到 15 米,窗顶低了 200 毫米在那个距离上看不见。在室内,你把手搭在台面上:台面在 1.05 米而不是 0.90 米,你在有意识地去看之前就已经感觉到了。同样的绝对误差,在室外是舍入差,在室内是缺陷。
每个人都是房间专家
没人对主干道该多宽有强烈意见。但所有人一辈子都坐在 750 毫米高的桌子前、450 毫米高的座面上,从略高于自己头顶的门楣下走过,一次都不用低头。这种经验是非语言的,却触发得极快——所以生成的室内常被形容成像梦:比例在所有地方同时轻微出错。
通行尺寸是房间与模型盒的分界
在室外,多数错误是外观问题。在室内,错误是功能问题,因为房间是要被占用的。椅子离墙近了 200 毫米就拉不出来;700 毫米的走廊会卡住角色胶囊体;中岛离操作台只有 800 毫米,厨房就变成一个只能站在门口观看的神龛。
撑起一个房间的那些数字
这些是惯例而非物理定律,各国也有差异,但它们聚得很紧。按它们搭出来的室内读起来就是对的,哪怕没人说得清为什么。
| 要素 | 读起来正确的数值 |
|---|---|
| 门顶 | 2.0-2.1 米(门扇在英格兰和威尔士 1981 毫米,美国 2032 毫米,公制欧洲 2040 毫米) |
| 层净高 | 常见 2.4 米;英国最低标准为 75% 面积上 2.3 米,伦敦 2.5 米,美国住宅规范下限 2134 毫米 |
| 窗 | 窗台 900 毫米,窗顶 2100 毫米,与门顶齐平 |
| 厨房台面 | 高 900 毫米,深 600 毫米;吊柜在其上方 450-500 毫米 |
| 厨房通道 | 相对两排之间或中岛四周 1200 毫米;1000 毫米是绝对下限 |
| 走廊 | 住宅内部规范最小值 915 毫米;到 1067 毫米才不再像一条走廊 |
| 用餐区 | 餐桌 750 毫米;拉开椅子需要 900 毫米;从坐着的人背后走过需要 1100-1200 毫米 |
| 坐区 | 座面 450 毫米;沙发前沿到茶几 350-450 毫米;相对而坐的座位之间 1.8-2.4 米 |
写进任务描述之后,这些数字就不再是冷知识,而变成工具去求解的约束集。「宽敞的厨房」无法核对;「中岛与操作台之间净 1.2 米」可以量,量出 800 毫米时你就指着被忽略的那一句。
先布局,后物件
房间的功能是一张关系图,不是一张购物清单
厨房不是水槽、灶台、冰箱加几个柜子。它是这三者构成的三角形,每条边 1.2 到 2.7 米,周长在 4 到 8 米之间,灶台两侧要有放东西的台面,穿过房间的动线不能横切这个三角。客厅是一组面向同一个视觉中心的座位,动线绕着这组走。卧室是一张床,至少有一侧能走人,且门的开启弧线不会撞上它。
给生成器一张清单,它就还你一张清单:物件贴着墙一圈站好,像学校舞会。给它关系图——什么必须挨着什么、什么必须面向什么、什么绝不能被挡住——你得到的才是房间。
先壳体,再动线,最后家具
先做壳体(墙、地、顶和洞口,用米),再定动线,然后把家具放进动线没占走的地方。家具住在动线剩下的空间里,绝不反过来。先生成沙发再指望平面图围着它凝结,和在室外先造建筑再修路是同一种失败——一片场景先作为布局被解决,然后才作为几何被解决。在室内这个期限只是更早,因为能吸收错误的余量少得多。
这正是「智能体驱动真实编辑器」拉开与一次性生成差距的地方。Cuberta 造室内和造室外用的是同一套做法:墙、洞口、家具和灯作为彼此独立的物件放进去,智能体把场景读回来自我纠正,而它放下的任何东西你都可以移动。
光的问题
在室外,打光几乎是免费的:一个太阳、一片天空,影子就落在该落的地方。在室内,太阳基本被你刚建好的东西挡住了,剩下的是少数几个必须由你自己安排的光源。
生成室内最常见的失败,是天花板正中一盏很亮的点光源:地上一摊平光、角落发黑、墙面几乎接收不到光而变灰、脸被正上方打亮。照明行业早就走过了这一步。现行版本的 EN 12464-1 不再把水平工作面当成全部任务,而是给周围表面加了指标:墙面 75-150 勒克斯,顶面 50-100 勒克斯。墙是暗的,房间就是暗的,不管吸顶灯上写着多大的数。
- 洞口首先是光源,其次才是几何。窗外什么都没有的窗户就是一个黑矩形,房间会丢掉光本该来的方向。
- 两到四盏看得见的灯。一盏台灯、中岛上方底面高出台面 750 毫米的吊灯、吊柜下的灯带——每一个既是物件也是发光体。
- 任务光放在任务发生的地方。厨房整体约 300 勒克斯,备餐台面 500 勒克斯;客厅在 100-300 之间就很舒服。
- 一个房间一种色温,除非你有理由。家用暖光在 2700-3000 K;2700 K 的台灯旁边挂一块 6500 K 的顶面板,读起来是 bug,不是气氛。
当一个人站在里面,不用往窗外看就能说出是几点钟,这个室内才算做完。
让室内和室外互相对得上
把房子的外观和室内分两次生成,它们不会对上,而且偏差是系统性的,不是随机的。单独生成的室内偏大方,因为在大景别里好看的房间比人真正住的房间大。单独生成的外观偏紧凑。拼在一起,你会得到 8 米乘 10 米的占地里塞着四间 5 米乘 6 米的房。解决办法是让少数几个尺寸变成共享的,两边都从那里读。
- 层高。2.4 米净高加上大约 0.3 米楼板构造是 2.7 米;立面上的分层带必须是这个数。
- 窗台与窗顶标高。内墙面上的 900 毫米和 2100 毫米,在外墙面上也必须是 900 和 2100,位置相同、数量相同。先在花园里数一遍窗,再在楼梯平台上数一遍,这一项抓到的错误比任何单一检查都多。
- 墙厚。外墙 300-400 毫米,隔墙 100-125 毫米。零厚度的墙会给你一栋里面比外面大的房子。
导出前要检查什么
- 走进去,别绕着飞。相机放到 1.6-1.7 米,以头的高度穿过房间。环绕镜头恰好藏住了房间存在的全部理由。
- 穿过每一个洞口。762 毫米的门放得过半径 0.3-0.5 米的角色胶囊体;中岛和墙之间 600 毫米的缝放不过。
- 扫一遍通行尺寸。走廊 900 毫米,厨房通道 1200 毫米,每一把会被拉开的椅子背后 900 毫米。
- 找穿模和悬浮。室内的物件接触面比室外多得多,两种问题都在接触处暴露:椅背插进桌面、地毯穿过地板、桌腿下 5 毫米的缝——截图里看不见,影子里一目了然。
- 检查背面,数灯。你会看到衣柜的背板和沙发后面的墙。每一个读起来像光源的灯具,要么发光,要么被你有意识地降级成道具。
一份可以直接交给智能体的说明
像对施工的人描述那样描述房间:尺寸、位置、通行、光。形容词放到最后,而且贴到材料上,不贴到空间上。
一间 4.2 米乘 5.6 米的餐厨合一空间,净高 2.4 米。门居中开在南侧短墙,宽 900 毫米,门顶 2.1 米。北墙两扇窗,窗台 900 毫米,窗顶 2100 毫米。地柜沿西墙布置:冰箱在北端,水槽在左侧窗下,灶台在其右侧 1.2 米处,两边各留 600 毫米放东西的台面。台面高 900 毫米、深 600 毫米;吊柜在其上方 500 毫米。中岛 2.4 米乘 0.9 米,与地柜平行,两者之间净 1.2 米。餐桌 1.6 米乘 0.9 米、高 750 毫米,放在东侧三分之一,六把椅子,桌边到墙净 1.1 米。橡木台面,哑光灰绿柜门,抹灰墙。中岛上方三盏吊灯,底面高出台面 750 毫米;吊柜下一条灯带;所有灯 2700 K;上午晚些时候的光从北面进来。
这里每一句都可核查。对比一下「温馨的现代农舍风厨房,带质朴韵味」:那是一个很好的图像提示词,对建模工具却是一句空指令——它约束了颜色,没有约束任何你能站进去的东西。在 Cuberta 里,这样一份说明是一场对话而不是一次提交:通道量出 800 毫米时你说一声,中岛就挪。
智能体在这里真正擅长的,是把数字守住——那是枯燥但承重的部分,也正是人累了会掉的部分:台面一直是 900,通道一直是 1200,跨四十个物件不漂移。它不会做的,是把沙发放到一个有意思的位置。它给你的是一间正确的房间,而正确是地板,不是天花板。另一个诚实的限制是时间:街道可以靠截图判断,房间不行。你必须走进去,以头的高度,穿过每一扇门。