记录一种很新的大屏开发方式

介绍

之前我们做项目遇到需要做园区建筑、楼宇场景开发的模块,都是交给第三方团队去做,处理模型,再搭建三维场景,最后由前端接进大屏,这样做的问题是需要另外掏钱、且前期有不少沟通成本、后期有不少维护成本。

最近 AI 已经可以操作电脑、运行三维软件、写前端代码,也能在浏览器里检查结果。我在想AI能否完全承接第三方团队的工作,于是用这份之前项目的办公楼大厦模型试一下,它能不能把原来需要多人配合的工作串起来。

最后做出来的效果截图如下。

1. 技术路径

整个过程从 Revit 源文件开始,经过格式转换、离线处理和网页轻量化,最后形成一个可以独立运行,也能嵌入大屏的三维园区场景。

Revit 模型 是项目留下的原始 .rvt 文件,包含主体建筑的楼层、构件、材质和机电信息。ChatGPT 无法直接处理这个格式,所以源文件继续保留,不在后续脚本中改写。

IFC 通用模型 是 AI 接手的节点,它先分析模型中的楼层、构件、材质和空间关系,再决定哪些信息需要保留到网页端。

离线资产处理 负责修正工程坐标、拆分楼层、整理材质和简化几何。主体建筑同时生成近景、中景和远景三套 LOD,浏览器根据观看距离自动切换。

Web 模型资产 包括 Draco 压缩的 GLB、三套 LOD、楼层文件和构件索引。网页只加载当前需要的内容,不直接读取体量较大的原始 IFC。

Three.js 园区场景 把主体建筑和周边环境组合起来。周边道路、建筑白模和绿化根据电子地图、卫星图和模型顶视图生成,场景内再加入楼层查看、构件选择、自动旋转、车辆巡游和日夜切换。

iframe 公共 API 把三维能力整理成一组可调用的方法,用于控制镜头、楼层、巡游和日夜状态。三维场景可以独立运行,也可以被其他页面复用。

Vue 可视化大屏 通过同源 iframe 加载场景,再把业务面板和场景控制组合到一个页面中。大屏负责数据和界面,Three.js 页面负责模型渲染与交互。

2. 怎样构建园区场景

2.1 把主体模型转换成网页资产

AI 先分析.ifc文件中的楼层、构件和材质,再把工程模型和网页展示模型分开处理,网页端使用转换后的 GLB,只加载当前需要的内容。

模型在转换时还做了压缩、坐标修正和细节取舍,远处看不见的小构件不再全部渲染,建筑外观和重要信息继续保留。主体建筑还生成了三套 LOD 模型,分别用于近景、中景和远景。相机会根据观看距离自动切换,近处保留更多细节,中远距离逐步简化模型,减少浏览器的渲染压力。

完成这一步后,大厦已经可以在浏览器里稳定加载,也能继续接入楼层和构件数据。

2.2 补充园区里的其他内容

原始模型只有大厦主体,周边道路、建筑和绿化并不完整。我准备了电子地图、卫星图和模型顶视图,让 AI 根据三份参考还原园区的大致布局。

第一版道路和建筑位置有不少偏差。我用红线标出主要道路和连接关系,AI 再调整道路、周边白模、树木和路灯。道路发生变化时,生成脚本会重新检查建筑是否压到路面,减少逐个修改的工作。

园区补齐后,又加入了天空、材质、灯光和车辆。场景从一栋单独的大楼,变成了可以观看和巡游的园区。

2.3 给场景增加交互功能

场景做好以后,AI 把 BIM 数据重新接了回来。用户可以切换楼层和专业,点击构件后查看名称、类别、楼层和 GUID。

展示功能还包括自动旋转、车辆巡游、日夜切换和日照时间调节。这些功能先在独立场景里完成和验证,大屏只负责调用。

2.4 为大屏接入做好准备

三维场景没有直接写进大屏页面。我把它保留成独立页面,再通过同源 iframe 嵌入大屏。

这样做以后,模型加载、楼层查看和巡游功能只需要维护一份。场景对外提供一组公共方法,用来重置镜头、切换楼层、控制旋转、进入巡游和修改日照时间。调用方式和状态变化也整理成了文档。

3. 构建大屏界面

3.1 找参考并生成效果图

大屏开发从视觉参考开始。我先整理业务指标和页面内容,再找了一批浅色科技风大屏作为参考,让 AI 生成整体效果图。

这是codex基于我提供的UI风格、场景截图和内容要求生成的大屏效果图,主要用来确定布局、色彩和质感。里面的文字、数据和间距还不能直接用于开发。

3.2 从效果图整理成 Sketch 原型

下一步是在 Sketch 里重新整理页面结构。原型是codex + Sketch MCP 按照效果图生成的,我确定了指标卡、左右面板、中间三维区域和底部模块的尺寸,也补齐了真实文字和模拟数据。

效果图负责视觉方向,Sketch 负责尺寸和内容,三维场景负责真实交互。把三者的用途分清以后,AI 在生成页面时不容易混用参考。

3.3 从原型生成 HTML 页面

原型确认后,AI 根据 Sketch 生成 Vue 页面,把指标卡、图表、楼层导航和其他业务模块拆成组件,再把中央区域接到已经完成的三维场景。

这一阶段先让页面完整运行,再检查按钮能否控制场景、状态能否同步、iframe 重新加载后是否还能正常工作。

3.4 调整页面细节

首版页面在标准大屏分辨率下可以使用,换一个屏幕比例就会出现留白和遮挡。后来重新调整了响应式布局,并分别检查常见分辨率。

页面覆盖层还曾挡住三维场景的鼠标操作。处理后,只有按钮和面板接收点击,其他透明区域可以继续拖动模型。最后再调整文字、卡片间距、滚动列表和日夜主题。

4. 对后续大屏开发的借鉴

4.1 场景效果和交互可以复用

AI其实非常喜欢抄作业,有现成明确的目标作为参考,可以少走非常多弯路。三维场景独立以后,同一套建筑可以接入不同的大屏,楼层查看、构件选择、场景动画、室内场景、昼夜切换和车辆巡游也能继续使用,不需要跟着业务页面重写。

4.2 一套从无到有的制作流程

这次的过程可以压缩成下面几步。

  1. 准备 BIM 模型、地图、卫星图、业务内容和视觉参考。
  2. 把 Revit 模型导出成 IFC,再处理为网页资产。
  3. 补齐园区环境,在独立场景中完成交互。
  4. 提供 iframe 模式、公共方法和调用文档。
  5. 先生成效果图,再用 Sketch 固定页面结构。
  6. 根据原型生成页面,并接入三维场景。
  7. 通过构建、截图和实际操作反复检查结果。

AI 承担了大量模型处理、代码编写和修改工作,人负责提供资料、完成专用软件操作,并判断画面和结果是否可信。以后再做类似大屏,可以继续沿用这套流程。

5. 结尾

做完这次尝试,我最明显的感受是个人开发精力占比的急剧转变。过去需要三维团队和前端开发共同完成的工作,现在一个人借助 AI,已经可以先把整套流程跑通。写代码和处理模型依然需要时间,但它们已经成为最省心的环节。

最消耗人力的工作反而出现在需求阶段。场景要还原到什么程度,哪份参考应该优先,哪些交互值得做,什么结果才算完成,这些问题必须由人来判断。如果需求没有想清楚,AI 只会更快地把错误方案做出来。

实现成本越低,前面的判断就越重要。以后做类似项目,也许会把更多时间放在需求、参考资料和验收标准上。开发工作的重心正在从"怎么把它写出来",转向"到底应该做什么"。

相关推荐
xy34532 小时前
Axure 9.0 中继器核心结构
前端·ui·html·axure·原型·产品设计
老王以为2 小时前
走进 AI Agent 第四篇(上):知识获取管道——RAG 基础
前端·人工智能·全栈
夏天要喝冰可乐2 小时前
一处写作,多平台分发:我给掘金做了一款开源 Chrome 插件
前端·chrome·vibecoding
货拉拉技术2 小时前
货拉拉开源Hadice:安卓 & 鸿蒙桌面调试工具
前端
程序猿DD3 小时前
OctaFuse Gateway 2.11.0:流式请求优化、用户折扣策略与错误契约升级
前端·后端
尾善爱看海3 小时前
《JavaScript 数组操作全攻略:12 类 API + 30 个实战场景 + 20 个避坑指南》
前端·javascript·面试
计算机魔术师3 小时前
Anthropic 估值冲 4 万亿,但企业客户已经偷偷换了便宜模型
前端
王六米。3 小时前
RAG知识库建设 文档解析 切分与索引如何衔接
服务器·前端·网络·企业数字化转型·智钳智能盒子