---
title: "用 Talos 24 分钟生成 57 件 3D 家具与摆放系统"
description: "本次用 Talos，从三段规格化 Prompt 到拿到可拖拽的两层别墅编辑器，全程约 24 分钟。"
canonical: https://taloswork.ai/blog/3d-furniture-system
language: zh-CN
last_updated: 2026-10-19
---

# 用 Talos 24 分钟生成 57 件 3D 家具与摆放系统

本次用 Talos，从三段规格化 Prompt 到拿到可拖拽的两层别墅编辑器，全程约 24 分钟。本文记录了完整 Prompt、生成过程、产出结构与资产规范。

## 项目背景

家居 DIY 与模拟经营类游戏的内容量几乎等于资产数量，还需要一套摆放规则让家具能被正确放置。手工完成这一整套（57 件资产 + 两层别墅 + 摆放系统 + 编辑器），本次估算需要 1 周以上。本次用 Talos，24 分钟产出 57 件 3D 资产、一栋 14×14 m 的两层别墅与一个可拖拽的编辑器。

## 挑战

这类任务有两个难点。一是资产一致性：尺寸、轴心、朝向必须统一，否则进引擎后会出现浮空与穿模，几十件之后逐个手改很耗时。二是摆放规则的正确性：承托、重叠、越界、跨楼层吸附写错一处，表现就是“台灯浮在半空”或“二层书桌被吸到一层台面”。

通用建模工具给出的是模型文件，拿不到附带精确尺寸、承托面与安装方式的结构化数据。本次的目标是产出一套能被程序直接调用、且自带自检的资产与规则。

## 方法

### 第一步：分三轮把需求规格化

本次把每一轮的意图写成带约束和验收标准的 Prompt，分三轮推进。下方为规格化后的完整内容，可直接复用。

#### 第一轮 · 立项、定规范、出首批资产

```
【角色】资深游戏 3D 资产管线工程师。
【目标】为一款家居 DIY 游戏产出一套可直接进引擎的 3D 家具资产。

【技术路线】
用 Python（trimesh + numpy）程序化生成模型，不引入 Blender、不产出 .blend 文件，
除 trimesh 与 numpy 外不增加依赖。所有资产必须能通过脚本重复构建。

【资产规范（每一件都必须满足，不得例外）】
- 单位 1 = 1 米；坐标轴 Y 朝上
- 轴心为水平包围盒中心，local y = 0 为物件自身最低点
- 正面朝 +Z，绕 Y 轴旋转 0° 时正面朝向镜头
- 网格吸附 0.25 m
- 材质为纯色 PBR（金属度/粗糙度），不使用贴图，材质名跨资产共享，便于统一换色
- 节点名格式 <资产key>__<材质key>
- 尺寸按真实家居比例，且视觉几何必须与声明尺寸完全一致（引擎直接用清单做碰撞）

【首批资产】22 件
坐具 4、桌几 3、收纳 4、卧室 2、厨房 1、装饰 2、灯具 2、房间外壳 4

【交付物】
- 每件资产一个 GLB
- manifest.json：尺寸、占地网格、材质名、三角面数
- 资产包总览 GLB 与等距预览图
- README：规范说明与新增资产的方法

【验收】
自检必须全绿：贴地（最低点正好 y=0）、轴心居中、无浮空零件、每个零件闭合流形、
声明尺寸与几何实测一致、GLB 可回读且节点名与材质名不丢。

【工作方式】
先立规范与工具库，再批量出资产。每批结束跑完整自检，全绿才算完成。
```

#### 第二轮 · 加入摆放系统与房间编辑器

```
【本轮目标】把静态资产变成可交互的摆放系统，并做出房间编辑器。

【房间数据化】
把房间定义成数据而非硬编码：室内净尺寸、层数、墙高、楼板厚做成参数，
墙体、地砖、楼板、门按尺寸自动铺设。改数字即可重新生成整套房间。

【摆放规则】判定顺序固定，规则写成纯函数，供生成端与编辑器共用
1. 平面范围：整体包围盒必须在本层可摆放区域内
2. 占用区：不能压到楼梯或楼板洞口
3. 层高：物件高度不能超过本层天花板
4. 重叠：同层、同高度不许占地重叠（地毯等地饰除外）

【安装语义】每件资产声明 placement 与 mount_y
- floor：pivot 放在 (x, 本层地面高, z)，先查承托面吸附，吸附不到就落地
- wall：y = 本层地面 + mount_y，整体包围盒贴到墙面内侧
- ceiling：y = 本层地面 + mount_y，x/z 直接使用
mount_y 以本层地面为基准（非世界高度）。承托吸附必须限定在同一层。

【编辑器】单文件 HTML，模型与清单全部内嵌，双击即可打开
点选放入、拖动吸附 0.25 m、R 键旋转 90°、Delete 删除、滚轮缩放、右键转视角；
拖到家具顶面自动吸附到桌面高度，拖出自动落回地面；
位置非法时高亮标红并在松手后退回原位；
导出布局 JSON，这就是引擎要存的存档格式；
内置摆放规则自检，页面打开时自动运行。

【验收】
编辑器自检全绿，且结论与 Python 端一致；样板房间逐条判定合法、承托高度自洽。
```

#### 第三轮 · 扩容、加层、改色

```
【本轮变更】
1. 房间：面积扩大约 10 倍 → 每层改为 14 × 14 m
2. 层数：改为上下两层，层高 2.90 m（墙高 2.80 + 楼板 0.10）
   新增楼板、直跑楼梯、楼板洞口与洞口栏杆
   楼梯升高必须等于层高；楼板铺满且洞口正好罩住楼梯
3. 资产：新增 35 件
   卫浴 6（浴缸、淋浴房、马桶、洗手台、镜柜、毛巾架）
   厨房 5（冰箱、台面灶、油烟机、吊柜、中岛台）
   收纳与书房 8（五斗柜、文件柜、屏风、落地镜、儿童床、书桌、办公椅、长凳）
   灯具与装饰 7（吸顶灯、吊灯、壁灯、挂钟、装饰画、花瓶、大型绿植）
   客厅与其他 5（L 型转角沙发、边几、电视、鞋柜、衣帽架）
   结构 4（楼板、楼梯、栏杆、转角柱）
   壁挂件与吸顶件用 mount_y 声明安装高度，吸顶件必须满足 mount_y + 高度 = 层高
4. 新增能力：颜色 DIY
   单件改色（按材质槽逐槽配色）
   整套配色（同名材质全屋一起换）
   改色结果随布局 JSON 导出

【不变】资产规范、摆放判定顺序、安装语义、交付物形态、验收标准
【验收】自检全绿；房子交叉校验通过；编辑器与 Python 端结论一致
```

三段 Prompt 共同锁定了四件事：

- 资产规范：单位、轴心、朝向、网格、材质命名、节点命名，一次定死后所有资产自动对齐。
- 摆放语义：落地 / 壁挂 / 吸顶三类安装方式，以及承托吸附只看同一层。
- 验收标准：自检必须全绿，且编辑器与 Python 端结论一致。
- 变更边界：第三轮显式写出“不变”的部分，避免已对齐的约定被顺手重写。

### 第二步：Talos 生成与自我校验

Talos 接续执行了以下环节：

1. 确认技术路线并立规范：定下单位 1 米、Y 轴朝上、轴心为底面中心、正面朝 +Z、0.25 m 网格吸附，所有资产必须遵守。
2. 并行分派四组资产：分别产出卫浴、厨房、收纳书房、灯具装饰四组共 31 件新家具，各自独立生成后统一并入资产库。
3. 把摆放规则抽成独立模块：判定逻辑写成纯函数（尺寸换算、重叠检测、承托吸附、越界与层高），供生成端与编辑器共用。
4. 构建并渲染：输出 57 个 GLB 文件、资产清单、两层别墅场景与预览图。
5. 自检并修复：Python 端 11 类检查与编辑器 15 项自检全部通过；过程中自检报出“二层书桌被吸附到一层厨房台面”，定位为承托吸附未按楼层过滤并修复。

全程约 24 分钟。

### 第三步：输出结构与资产规范

资产构成：57 件，11 个类别。

| 类别 | 数量 | 内容 |
|---|---|---|
| 坐具 | 7 | 三人沙发、扶手椅、餐椅、L 型转角沙发、长凳、办公椅 |
| 桌几 | 5 | 茶几、餐桌、书桌、边几、儿童书桌 |
| 收纳 | 6 | 床头柜、衣柜、书架、电视柜、五斗柜、文件柜 |
| 厨房 | 6 | 橱柜、冰箱、台面灶、油烟机、吊柜、中岛台 |
| 卫浴 | 6 | 浴缸、淋浴房、马桶、洗手台、镜柜、毛巾架 |
| 卧室 | 3 | 双人床、单人床、儿童床 |
| 玄关 | 2 | 鞋柜、衣帽架 |
| 装饰 | 9 | 地毯、盆栽、大型绿植、电视、屏风、落地镜、挂钟、装饰画、花瓶 |
| 灯具 | 5 | 落地灯、台灯、吸顶灯、吊灯、壁灯 |
| 结构与楼层 | 4 | 楼板、楼梯、栏杆、转角柱 |
| 房间外壳 | 4 | 墙段、地砖、门扇、窗框 |

合计约 2.3 万三角面，GLB 合计 1.1 MB。

房子本身也是一份数据：两层别墅每层 14×14 m，层高 2.90 m，墙、地砖、楼板、楼梯、栏杆、门全部按尺寸参数自动铺设，共 510 个外壳构件。

摆放规则：每件资产在清单里带尺寸、凸出量、承托面与安装方式，判定按固定顺序执行。

| 判定顺序 | 规则 |
|---|---|
| 1 | 整体包围盒必须在本层可摆放区域内 |
| 2 | 不能压到楼梯或楼板洞口 |
| 3 | 物件高度不能超过本层天花板 |
| 4 | 同层、同高度不允许占地重叠（地毯等地饰除外） |

安装方式分三类：floor 落地并优先吸附承托面，wall 与 ceiling 按声明的安装高度自动就位。壁挂件拖到墙附近会自动贴墙并转向房内。

颜色 DIY：材质名跨资产共享，单件改色按材质槽逐槽生效，整套配色可一键把同名材质全屋换掉，改色结果随布局 JSON 一起导出。

## 结果

| 指标 | 手动制作 | Talos | 变化 |
|---|---|---|---|
| 总耗时 | 1 周以上（估算） | 24 分钟 | 约 -99% |
| 资产数量 | 57 件 | 57 件 | 持平 |
| 尺寸与轴心一致性 | 需逐件核对 | 由自检强制保证 | 更可靠 |
| 摆放规则验证 | 手写用例 | 两端 26 项自检 | 自动 |
| 输出格式 | 模型文件 | GLB + 结构化清单 + 可拖拽编辑器 | 可直接接入 |
| 可复用性 | 每次重新建模 | 改参数即出新变体 | 高 |

Talos 在 24 分钟内产出 57 件带统一规范的 3D 资产、一栋两层别墅与一个可拖拽编辑器。Python 端 11 类检查与编辑器 15 项自检全部通过，其中编辑器自检在页面打开时自动运行。（数据截至 2026 年 10 月）

## 业务影响

- 单次产出：从“先建规范再逐件建模”变成“先立规范、再批量生成”。规范由程序强制执行，团队不再需要靠人工评审去发现浮空与轴心偏移。
- 扩量成本：加一件新家具是写一个函数，自动进入资产库、清单、编辑器与碰撞检查。想要新变体改参数即可，边际成本很低。
- 规则正确性：摆放判定抽成独立模块后，生成端与编辑器跑同一套规则、同一套自检。任何一侧出错，另一侧会先报出来。
- 引擎接入：资产清单自带尺寸、承托面与安装方式，引擎侧不需要再补隐藏参数即可实现摆放系统。

## 可复制的启示

1. 先立规范，再上量。单位、轴心、朝向、网格这些约定一旦定死，后续所有资产自动对齐；跳过这一步，几十件之后一定返工。
2. 把验收标准写进 Prompt。写明“自检全绿”之后，完成信号就变得可判定，不需要每轮重新对齐“什么算做完”。
3. 追加需求时显式写出“不变”的部分。把边界画出来，改动范围才可控。
4. 要求两端跑同一套自检。生成端与运行端各写一套校验，两边结果不一致时，先报错的那一侧往往才是对的。

## 常见问题

**Q：不装 Blender 也能做 3D 模型吗？**

A：低多边形的方体、圆柱、旋转体这类结构可以，本次 57 件家具全部如此生成。有机曲面（软包褶皱、异形椅背）用代码生成做不到，需配合建模软件或 3D 生成模型后再按同一套规范导出。

**Q：生成的资产能直接进 Unity 或 Godot 吗？**

A：可以。资产为 GLB 格式，另附 JSON 清单，含精确尺寸、占地网格、承托面与安装方式。引擎侧按清单实现摆放判定即可，不需要额外量尺寸。

**Q：房间能不能改成别的户型或尺寸？**

A：可以。房间尺寸、层数、楼梯位置都是参数，改一个数字即可重新生成整套墙体、地板与楼板；项目里已预留一个小户型预设。

**Q：这三段 Prompt 能复用到别的主题吗？**

A：可以。三段分别对应“立规范出首批资产”“加交互与规则”“扩容与新增能力”，是资产型项目的通用推进顺序。核心是先定规范与验收标准，再分批推进，每批以自检全绿收尾。

## CTA

用 Talos，24 分钟生成 57 件 3D 家具与一套可拖拽的摆放编辑器。访问官网免费试用 taloswork.ai。
