MY STUDY NOTES · ARXIV 2606.29395
NaLA: A 3D Native
LLM Layout Agent
for High-quality 3D Scene Generation
本页通过交互式 3D 示例和论文原图,介绍 NaLA 如何读取房间与资产点云,并为每件资产预测 位置、缩放和水平朝向。
position [ 1.8, 0, -2.1 ]
scale [ 1.0, 1.0, 1.0 ]
rotation [ 0, 1.57, 0 ]
任务范围:从已有资产库中选择摆放参数,不负责生成新的 3D 模型。
学习 01 / 3D 示例
比较文本描述输入
与点云输入
下面使用 Three.js 演示三类空间关系:朝向、包含与房间边界。它用于解释方法差异,不是作者实验的逐帧复现;作者原图列在演示之后。
ORIGINAL PAPER RESULTS
论文原图:对照上面的三类空间关系
左看“放进柜子”,右看“椅子朝向圆桌”
NaLA 能利用层板与圆桌的实际形状:盒子落在柜内层板上,椅子围绕圆桌朝向中心。基线只知道粗略语义关系,容易把盒子放到柜顶或把椅子朝向统一成错误方向。
- 柜子示例体现 containment / supporting surface
- 圆桌示例体现几何中心与 orientation
- 这正是点云输入相对文字描述的价值
学习 02 / 问题定义
文字或二维图像
不能完整表示3D 几何
常见方法先把 3D 模型转换成文字描述、包围盒或二维图片。这个过程会丢失层板、凹槽、支撑面和异形房间边界等细节。
“一张圆桌,大约 1 米宽”
→
x: “1.23”
- 不能直接表示桌面的曲率与可支撑区域
- 连续坐标被拆成文字 token,不利于保持数值结构
- 可能出现:碰撞、悬空或越过房间边界
<ASSET_FEATURE>
→
Pose = 粗格子 + 微调
- 直接编码房间和资产点云,保留几何细节
- 先选大概格子,再回归连续的精确偏移
- 一次生成完整布局,不依赖后置优化器反复修
学习 03 / 核心方法
先预测粗位置,
再回归连续偏移
离散锚点用于确定大致网格和主朝向,连续残差用于补充精确位置、缩放与朝向偏移。
PointBERT 编码资产,SPFormer 编码房间,再由 Q-Former 压成 LLM 能读的 3D token。
训练答案按体积从大到小排序:先有桌子,再决定花瓶放哪里,因果更自然。
先在 3D-FRONT 学大布局,再在 Imaginarium 学小物件和细节,比混在一起学更好。
学习 04 / 完整流程
示例:一把椅子的
布局生成流程
五个步骤依次展示:读取几何、编码 Token、确定摆放顺序、预测粗细 Pose,以及写入 Three.js 场景。
而是椅子表面的 3D 点
压成少量 Token
chair.position.set(2.2, 0, -1.4)
chair.rotation.y = 1.57
输入 = 房间边界点 + 每件资产的表面点
先把房间和模型采样成点云
输入不是一段“这是一张床”的描述,而是物体表面真实的 3D 点,以及地面、墙、天花板的边界。
学习 05 / 实验结果
从四类指标查看
模型的实验结果
论文测试 20 类场景,每类 3 个案例,平均每个场景约 20 件资产;还用了 20 名研究生和 AI 评分。
LayoutGPT 为 18.19%。点云输入保留了房间边界的几何信息。
该组四种方法中数值最高;LayoutVLM 为 3.47。
椅子朝桌子、盒子进柜子——不是只做到“不穿模”。
该组对比中数值最高,反映语义与视觉评价较好。
物理合理性需要分别比较
碰撞率上 Holodeck 更低(0.10% vs 0.86%),悬空率上 Holodeck 也是 0%。Holodeck / LayoutVLM 使用约束进行多轮后处理,NaLA 则采用单次端到端生成。论文主要比较的是:速度、边界理解、语义和视觉评价之间的综合表现。
数据来自论文 Table 1;标准误和完整评测设置请以原文为准。查看表格 ↗
学习 06 / 与你的技术栈对应
NaLA 输出与 Three.js
Transform 的对应关系
在 Vite + 原生 JavaScript + Three.js 项目中,模型输出可以映射到 Object3D 的 position、scale 和 rotation.y。
const roomPoints = sampleSceneBounds(scene);
const assetPoints = sampleGeometry(mesh.geometry);
const input = {
roomPoints,
assets: [{ id: mesh.uuid, points: assetPoints }]
};
论文使用专门的点云编码器。对你的场景,数据源可以从 BufferGeometry 和房间碰撞边界离线采样。
- 01 / 离线编辑器原型让 Agent 生成 JSON transform,先验证输入与输出格式。
- 02 / 几何校验使用 Three.js Box3 或物理引擎检查碰撞和越界。
- 03 / 模型训练评估论文依赖点云编码器、7B LLM、布局数据集与训练流程,需要单独评估复现成本。
学习 07 / 适用范围与限制
当前主要面向
室内资产布局
资产库需要预先存在;材质、建模、灯光和玩法逻辑不属于该方法的核心任务。
论文中的电脑房和诊所案例显示:稀有物件关系学习不足时,可能出现悬空或比例异常。
设定为 y-up,暂不覆盖贴墙画框、倾斜道具等完整 6DoF 姿态。
卧室、客厅和会议室等结果,不能直接推断到复杂地形、动态机关或战斗关卡。
课程小结
NaLA 直接编码房间与资产点云,并通过“离散锚点 + 连续残差”预测每件资产的 Pose。