Floorplan-3D Vibe 项目
纯前端的户型装修可视化设计工具
项目简介
Floorplan-3D 是一款完全基于前端技术栈打造的户型装修设计工具,整个应用就是一个 index.html 文件,无需任何构建步骤,浏览器双击即可打开使用。它把 2D 平面布置与 Three.js 3D 可视化整合在同一界面:左侧是家具库,中间是 SVG 绘制的 2D 平面图,按 T 一键切换到鸟瞰、斜视、第一人称漫游三种 3D 视角。无论是自住业主规划家具摆放,还是装修从业者快速出 demo 给客户看,都能直接落到一个本地文件上完成。
核心功能
- 2D 平面布置:以 1:60 / 1:100 原始户型比例显示,尺寸单位 mm。从左侧家具库拖入 60 余种家具家电(卧室、客厅、餐厨、卫浴、家电、书房休闲),拖动 / 旋转 / 缩放 / 贴墙吸附全自动。
- 拆改墙体与图层管理:拆改非承重墙,承重墙单独高亮标示;尺寸标注、房间名、家具、网格、承重墙等图层可独立开关。
- 测量工具:靠近墙面自动吸附,按住 Shift 锁定水平 / 垂直,毫米精度可量。
- 3D 多视角与日照模拟:鸟瞰 / 斜视 / 俯视三种视角,点击房间名即可"飞"到对应房间;漫游模式支持桌面端 WASD + 鼠标 / 触屏虚拟摇杆;日照时间滑块可调,全高墙 / 剖切墙可切换。
- 方案统计与造价估算:房间面积、套内使用面积自动统计;地面材料(木地板、地砖、大理石、水磨石、地毯等)按面积加 5% 损耗估算造价。
- 导出 / 导入与本地存档:支持导出 PNG 图片和整套方案 JSON;方案自动保存在浏览器 localStorage,撤销 / 重做无次数限制。
技术实现
整个项目坚持极简原则:原生 HTML / CSS / JavaScript,无任何框架、无构建步骤——这是它能装进单个 index.html 的根本原因。2D 平面图用 SVG 绘制,3D 场景用 Three.js r160(OrbitControls、PointerLockControls、RoundedBoxGeometry、RoomEnvironment、CSS2DRenderer)通过 jsDelivr CDN 加载。所有数据都写在 index.html 顶部的常量中:ROOMS 是房间多边形、名称、默认地面材料;WALLS / WINS 是墙体与窗洞;MATS 是地面材料名称与单价;LIB 是 60 余种家具的类型、名称、默认尺寸、颜色;buildFurniture() 函数用纯代码拼出每种家具的 3D 模型(柜门分缝、拉手、软包床头、带环境反射的金属与陶瓷材质都手工建模)。改这几个常量就能换成自家户型。这是典型 Vibe Coding 风格:不引框架、不做抽象,把每一行都摆在用户能看见的位置。
快速上手
git clone https://github.com/wy51ai/floorplan-3d.git- 进入仓库目录,直接双击
index.html即可使用(Three.js 走 CDN,首次进入 3D 场景需联网)。 - 如需本地服务器:
python3 -m http.server 8000,浏览器访问http://localhost:8000。 - 在左侧家具库挑选家具拖入 2D 平面图,按 T 切换到 3D 视图,按住右键使用 WASD 在场景中漫游;按 Ctrl/⌘ + Z 撤销、Ctrl/⌘ + Shift + Z 重做。
适用人群
- 想在新房交付前自己先排一遍家具的业主
- 装修设计师需要快速出方案 demo、给客户看空间感
- Three.js / Web 3D 学习者想看一个完整但简洁的项目范例
- 喜欢 Vibe Coding 风格、追求"零依赖、单文件"的独立开发者
团队信息
AI产品库
官方
由 AI 猎手自动发现
评论与建议
登录 后参与评论或提建议