置顶

加拿大机器人 我用 AI 十分钟生成了一个科幻风智慧城市 3D 大屏,附完整 Prompt 和源码解析

作者:admin | 分类:加拿大机器人 | 浏览:3 | 日期:2026年06月03日


前言

最近一直在探索 AI 辅助前端开发的可能性,最近做了一个很有意思的实验:只靠自然语言描述需求,让 AI 完整生成一个科幻电影风格的智慧城市 3D 数据大屏。最终效果超出预期,不仅自动生成了完整的 Three.js 3D 城市场景,还配上了数据面板、交互控制和飞行动画,代码质量完全达到了可直接交付上线的水平。

最终成品是济南市智慧城市大脑大屏,包含3D分层建筑群、实时动态数据面板、鼠标旋转缩放交互、相机视角飞行动画,接下来我就完整复盘整个开发过程,把每一步的 Prompt、AI 的工作逻辑,还有迭代优化的思路完整分享出来。

一、为什么要尝试用 AI 生成 3D 大屏?

传统开发流程中,一个合格的 3D 数据可视化大屏,需要前端工程师完成一整套复杂工作:

  1. 基础框架搭建:Vue/React 项目初始化、路由配置、状态管理搭建

  2. 3D 引擎集成:Three.js/Babylon.js 场景初始化、光照调试、材质配置 都要从零开始

  3. 3D 内容制作:手动搭建建筑群、地标模型、粒子特效等视觉元素

  4. UI 面板开发:数据卡片排版、图表接入、入场动画配置

  5. 交互逻辑开发:鼠标拖拽旋转、模型拾取、相机动画等功能

一个经验熟练的前端工程师完成上述全部工作,少则3-5天,复杂需求甚至要1-2周。而使用 AI 代码生成工具,整个过程可以压缩到10-20分钟,代码质量还能达到生产可用的标准,效率提升非常惊人。

二、用到的工具和环境

工具

用途

Claude Code

AI 代码生成工具,能精准理解自然语言需求,直接生成完整可运行的项目代码

DeepSeek API

国产大模型 API,支持 100万 token 长上下文,复杂代码生成场景适配性很好

Vue 2.7

前端基础框架

Three.js 0.160

3D 渲染引擎

Element UI

UI 组件库,仅少量调用满足基础组件需求

Node.js 20

本地运行环境

三、完整开发过程

第一步:一句话启动项目

我用的Prompt非常简单:

生成一个科幻风的3D大屏页面,大屏内容为智慧城市,中间展示城市建筑,两侧展示统计数据。以济南市为例。

就是这么一句话,AI 先自动分析了需求,规划好了项目的文件结构,然后一次性生成了所有核心代码:

  • CityScene.vue:Three.js 3D 城市场景核心组件,300+行完整逻辑

  • TitleBar.vue:顶部科幻风标题栏,自带实时时钟更新

  • CityOverview.vue:左侧城市概况面板,展示人口、GDP、面积核心数据

  • TrafficEnv.vue:左侧交通与环境实时数据模块

  • SmartMetrics.vue:右侧智慧城市运行指标模块

  • DistrictData.vue:右侧各区县发展指数数据展示

  • BottomTicker.vue:底部实时数据滚动播报条

  • App.vue:整体主布局编排

这里有个很有意思的发现:Prompt 根本不需要写得特别详细,AI 会自动补全你需要的内容。比如我只说了“以济南市为例”,AI 自动联网查到了济南真实的常住人口(941万)、GDP(1.28万亿)、区县分布等公开数据,直接填充到了面板里,不需要我手动输入。

第二步:3D 城市场景自动生成

AI 生成的 3D 场景比我预期的完善很多,包含了科幻风大屏需要的所有核心要素:

1. 分层建筑群

AI 自动把济南城区规划成 CBD、历下、高新、天桥、槐荫5个片区,生成了100+栋独立建筑,每栋建筑自动生成了1-12层的随机高度,还加上了每层随机的窗户发光效果、蓝色发光边缘线框,科技感直接拉满。核心创建函数如下:

createBuilding(x, z, w, d, h, color, isLandmark) {
 const group = new THREE.Group()
 // 建筑主体
 const body = new THREE.Mesh(
   new THREE.BoxGeometry(w, h, d),
   bodyMat
 )
 body.castShadow = true
 // 发光边缘线框
 const edgeLine = new THREE.LineSegments(
   edgeGeo,
   new THREE.LineBasicMaterial({
     color: 0x00ccff,
     transparent: true
   })
 )
 // 每层随机发光窗户
 for(let f = 0; f < floors; f++) {
   const winMat = new THREE.MeshBasicMaterial({
     color: randomHSL(),
     transparent: true,
     opacity: 0.7
   })
   // ...窗户生成逻辑
 }
}

2. 科幻风地面

AI 自动加上了 Tron 风格的网格发光地面,再加了两层同心动态光环,中心位置光环呼吸旋转,整体科幻氛围感直接出来了。

3. 基础交互与动画

AI 自动加上了鼠标拖拽旋转视角、滚轮缩放、双击建筑自动聚焦飞行动画,不需要我额外提需求,把常用的交互都做了。

第三步:迭代优化细节

生成基础版本后,我又用三个简单的 Prompt 完成了优化:

  1. 把中心建筑改成济南绿地中心超高地标,加上专属发光标识——10秒钟AI就调整了地标模型的尺寸和样式

  2. 所有数据面板增加数值滚动动画,每5秒刷新一次模拟数据——自动加上了动态动效

  3. 增加背景星空粒子效果,调整整体色调偏深蓝科幻风——调整后视觉效果直接达到成品标准

整个优化过程加起来也不到10分钟,全程都是自然语言描述,不需要我自己改一行三维相关的代码。

四、总结与体验感受

这次实验让我对 AI 辅助前端开发有了全新的认知:原来复杂的 3D 可视化项目,只需要简单的自然语言描述,就能在十几分钟内生成可交付的成品。对于前端开发者来说,AI 已经从辅助工具变成了能大幅提效的生产力引擎,以后类似的演示类大屏项目,开发周期会从“周”缩短到“分钟”。

完整的项目代码已经整理开放,你可以替换成自己所在城市的数据,直接运行生成属于自己的智慧城市 3D 大屏,有任何问题欢迎在评论区交流。