VibeCoding 能做到什么程度?我用它做了一座 3D 数字博物馆

如果把传统博物馆搬到浏览器里,会是什么样?

不是简单地把一张张文物图片放到网页上,也不是做一个传统的图文展示页面。

我更希望它是一座真正可以"走进去"的博物馆:

可以在展厅中漫游,可以旋转和缩放文物,可以点击文物查看介绍,也可以通过热点去了解一件文物身上的细节。

于是,我做了这个开源项目:

中国古文物数字博物馆(cultural-relics-museum)

项目使用 Vue 3 + Three.js + Vite 构建,以"夜馆 · 朱金"为视觉主题,目前包含 15 件模拟藏品,并针对 PC 和移动端分别设计了数字展厅体验。

一、为什么想做一个数字博物馆?

传统博物馆最大的魅力,是"人在现场"。

站在一件青铜器面前,你可以看到它真实的材质、轮廓和细节。

但现实中的博物馆也存在一些天然限制:

  • 有开放时间
  • 有物理空间限制
  • 文物不能随意触碰
  • 很多细节需要依靠展板和讲解
  • 不同地区的人也很难随时到现场参观

而 Web 恰好提供了另一种可能。

如果文物已经完成数字化,那么它就可以从博物馆的玻璃展柜里走出来。

可以被旋转、被放大、被聚焦,也可以加入动画、热点、导览和互动。

这也是我做这个项目最初的想法:

不是把博物馆"搬到网页",而是尝试让网页本身成为一座博物馆。

二、打开网页,先进入一座三维展厅

整个项目没有采用传统列表式的文物展示方式,而是设计了一套完整的三维展厅。

中央采用类似"圜丘"的环形布局,将文物围绕中央空间进行陈列。

通过展台、径向光轨、中庭光池以及灯光层次,让整个空间拥有一种偏东方、偏仪式感的视觉氛围。

这样读者第一眼就能理解:这不是一个普通的文物展示网站,而是一个真正的 Web 3D 展厅。

三、文物不只是"看",还可以交互

进入展厅之后,可以直接点击不同的文物。

选中之后,相机会自动聚焦到对应藏品,同时右侧展示文物相关信息。

目前项目设计了:

  • 文物分类
  • 年代
  • 材质
  • 出土地
  • 文物简介
  • 前世今生
  • 知识点
  • 细节热点

除此之外,还加入了几个比较有意思的 3D 交互。

1. Orbit 旋转缩放

可以围绕文物自由旋转和缩放,从不同角度观察模型。

2. 自动旋转

选中文物后,可以让模型缓慢自转。

相比静态图片,这种方式能够更加直观地展示文物的整体造型和纹饰。

3. 相机聚焦

点击某一件文物之后,相机会自动移动到合适的位置。

不需要用户自己调整摄像机。

4. 展厅漫游

项目还加入了相机漫游逻辑。

相机会按照藏品列表依次飞向不同的展品。

这就有点像:

给数字博物馆增加了一名"虚拟导览员"。

四、最有意思的一个功能:文物细节热点

如果只是让模型旋转,其实还不够。

真正值得关注的,是文物身上的细节。

所以项目加入了类似 Sketchfab 的热点交互。

当相机聚焦到某件文物之后,可以出现编号热点。

点击热点,就能够查看对应位置的细节介绍。

这意味着:

3D 模型负责"看",热点负责"讲"。

以后如果继续扩展,还可以进一步接入:

  • AI 文物讲解
  • 语音导览
  • 多语言介绍
  • OCR
  • 文物知识图谱
  • AI 图片识别
  • 文物相似度搜索

这样,一个简单的 Three.js 3D 展厅,就可以逐渐演变成真正的数字文博应用。

五、Three.js 是这个项目真正的核心

这个项目最核心的部分,其实不是 UI。

而是背后的 Three.js 三维场景。

目前项目使用:

  • Vue 3.5
  • TypeScript
  • Vite 8
  • Three.js r185
  • OrbitControls
  • CSS2DRenderer
  • Tween.js
  • Pinia
  • Element Plus
  • Tailwind CSS

其中 Three.js 主要负责整个数字博物馆的三维世界:

复制代码
Vue 3
  ↓
页面 / UI / 数据
  ↓
Three.js
  ↓
Scene
Camera
Renderer
Light
Model
Controls
  ↓
3D 文物数字展厅

模型资源则采用 GLTF / GLB,并结合 Draco、KTX2/Basis、Meshopt 等技术进行加载和优化。

项目还使用 HDR 环境贴图增强金属、釉面等材质的视觉表现。

这也是我觉得这个项目比较适合作为 Three.js 实战学习案例 的原因。

它不是单独演示某一个 Three.js API,而是尝试把:

场景 + 模型 + 材质 + 灯光 + 相机 + 动画 + 交互 + UI

组合成一个完整的 Web 3D 应用。

六、PC + 移动端双端适配

数字博物馆如果只能在电脑上浏览,体验其实还是会受到限制。

所以项目同时设计了两套展厅:

复制代码
/pc
/m

七、项目开源,欢迎一起继续完善

目前这个项目已经开源,采用 MulanPSL-2.0 许可证。

如果你刚好也在研究:

  • Three.js
  • Vue 3
  • WebGL
  • Web 3D
  • 数字孪生
  • 数字文博
  • 国风 3D
  • VibeCoding

那么这个项目可以作为一个比较完整的参考案例。

项目地址:

https://github.com/zhangbo126/cultural-relics-museum

https://gitee.com/ZHANG_6666/cultural-relics-museum

如果你对 Three.js 数字博物馆、数字文博或者 Web 3D 开发感兴趣,也欢迎一起交流

相关推荐
狼爷18 小时前
AI正在制造通缩:一场闭门会背后,三个被大多数人忽略的底层逻辑
人工智能·aigc·ai编程
超级架构师18 小时前
PRAXO-CORE 2.5.0:用 conformance 和显式边界构建 Go Agent 框架
开发语言·人工智能·后端·golang·ai编程·智能体框架·praxo-core
十七喜欢前端18 小时前
工具调用没那么简单:Agent 和外部世界打交道时,有四道坎
agent·ai编程
jarvisuni21 小时前
白嫖Tripo3D ?Kimi 3D Make可以玩起来!
人工智能·ai编程
码间留白1 天前
鸿蒙也能热更新了:uni-app WGT 热更新的真机结论、六道校验闸与五个深坑
uniapp·ai编程·鸿蒙os开发·鸿蒙热更新·wgt热更新
暴走约伯1 天前
【VFX工具链源码拆解 02】告别机械劳动(上):一键统改百个子粒子颜色与批量重命名
3d·unity·c#·材质
掘黄金的打工人1 天前
DeepSeek 参数解读
openai·ai编程
金銀銅鐵1 天前
[Java] 用纯 Swing 做一个《論語·學而》阅读器
java·ai编程·交互设计
李剑一1 天前
为什么几乎所有的知名开源项目都是外国人写的?
前端·ai编程·deepseek
threerocks1 天前
土豆姐 Lauren 关于 Grok Bot 团队打造指南
aigc·openai·ai编程