做了几年 Three.js,我为什么决定自己开发一款3D低代码编辑器

以前做一个数字孪生项目,可能需要几万行代码。

模型加载、灯光配置、粒子特效、相机动画、鼠标交互......

大量时间都花在重复性的工程开发上,而真正的业务逻辑反而只占很小一部分。

做了几年 Three.js 之后,我一直在思考:

有没有一种方式,可以把这些重复工作全部可视化?

于是,我开始开发 ThreeFlowX。

为什么会有 ThreeFlowX?

第一次接触 Three.js 时,我和很多开发者一样。

一个场景,从零开始。

加载模型。添加灯光。调整材质。添加HDR。写后处理。绑定鼠标事件。写动画。

一个稍微复杂一点的数字孪生项目,很容易就变成几万行代码。

真正耗费时间的,并不是 Three.js 的渲染能力,而是:

  • 场景搭建
  • 参数调试
  • 交互开发
  • 动画配置
  • 重复性代码

于是我开始尝试,把这些重复工作全部抽象出来。

慢慢地,就形成了今天的 ThreeFlowX。

编辑器初始界面:

它并不是一个简单的编辑器

很多人第一次看到 ThreeFlowX,会觉得:

"这是不是就是一个模型查看器?"

其实并不是。

它更像是一套 Three.js 场景生产工具

除了模型编辑之外,还可以完成整个三维项目的大部分场景搭建工作。

例如:

  • 场景管理
  • 模型管理
  • 材质编辑
  • 灯光配置
  • 后处理
  • Shader
  • 粒子系统
  • 相机动画
  • 鼠标交互
  • UI组件
  • 数据绑定

这些能力,都可以通过可视化方式完成。

丰富的3D场景资源

为了减少开发成本,编辑器内置了大量常用资源。

例如:

✅ 3D模型

支持:

  • GLTF
  • GLB
  • FBX
  • OBJ

✅ 灯光

支持:

  • 平行光
  • 聚光灯
  • 点光源
  • HDR环境光

✅ 场景资源

支持:

  • 视频
  • 图片
  • Icon
  • 文本
  • HTML标签
  • Shader
  • ECharts图表
  • 粒子系统

很多以前需要自己封装的功能,现在拖拽即可完成。

从"写代码"变成"拖拽配置"

以前。

一个模型加载以后。要写:

arduino 复制代码
scene.add()

mesh.position

mesh.rotation

mesh.scale

不停修改代码。不停刷新页面。不停调参数。

而现在。

直接拖进去即可。位置。旋转。缩放。

实时修改。所见即所得。

整个过程更加符合设计软件的使用习惯。

我最喜欢的功能:低代码交互系统

对于 Three.js 来说。真正复杂的,其实不是模型。

而是交互。

例如:

点击模型以后:改变颜色。播放动画。显示隐藏。修改文本。播放视频。控制其它模型。这些以前都需要写大量代码。

例如:Raycaster, Tween动画管理,事件监听一个简单交互。可能就是几百行代码。

而在 ThreeFlowX 中。

这些都变成了:配置

选择事件。选择动作。保存即可。无需写任何业务代码。

相机漫游

数字孪生项目几乎都会涉及:

自动巡检。园区浏览。展厅介绍。

传统开发方式。

需要写大量 Tween 动画。路径计算。缓动控制。

现在。

直接编辑路径即可。

支持:

  • 路径编辑
  • 多关键帧
  • 自动巡航
  • 第一视角
  • 飞行浏览

不止支持浏览器

很多编辑器只能运行在 Web。

而 ThreeFlowX 同时支持:

  • Web
  • Windows
  • macOS
  • Linux

基于 Electron 构建。

无论是企业内部工具。

还是交付给客户。

都可以快速部署。

实际应用场景

目前,它更适合以下项目:

  • 数字孪生
  • 智慧园区
  • 智慧工厂
  • 工业互联网
  • WebGIS
  • 三维可视化平台
  • 数据驾驶舱
  • 展厅展示

这些项目,大部分都存在大量重复性的三维场景搭建工作。

而 ThreeFlowX 的目标,就是帮助开发者把更多精力放在业务逻辑上,而不是重复造轮子。

写在最后

从最初为了提高自己的开发效率,到逐步演变成一套完整的 Three.js 低代码场景编辑器,ThreeFlowX 的成长离不开一次次真实项目的打磨。

我始终认为,Three.js 的价值不只是渲染一个炫酷的三维场景,更重要的是帮助开发者快速构建真正可落地的数字孪生、WebGIS 和三维可视化应用。

如果这篇文章能给同样在做 Three.js 开发的你带来一些启发,欢迎一起交流,也欢迎分享你在三维开发过程中遇到的问题和经验。相信通过不断完善工具和实践,我们都能把更多时间投入到真正创造价值的事情上,而不是重复编写那些早已可以被可视化替代的代码。

项目体验地址:

threeflowx.cn/edit/#/

相关推荐
Revolution611 小时前
首屏变慢后,应该先查资源下载、脚本执行还是接口请求
前端·性能优化·前端工程化
shawn03261 小时前
《疯狂动物城 2》背后的 Hybrid BVH:迪士尼如何让复杂场景跑进交互式 GPU 光追
前端·计算机图形学
圣光SG1 小时前
web操作题练习(五)
前端
杉氧1 小时前
弹性滚动的奥秘:在 Flutter 中使用 CustomScrollView 与 Sliver 打造极致流畅列表
android·前端·flutter
jinshw1 小时前
自己实现GIS配图软件(二)
前端·后端·rust
肥胖小羊1 小时前
企业微信自建应用多环境联调与路由代理方案
服务器·前端·网络
林间码客1 小时前
全栈视角下的 Mock 指南:从后端单元测试到前端 Vue 3 联调
前端·vue.js·单元测试
Cobyte2 小时前
手写 Rollup 插件实现解析 Vue 文件
前端·javascript·vue.js
IT_陈寒2 小时前
Vue的这个响应式陷阱,我调试了一整天才爬出来
前端·人工智能·后端