开发历程
低代码的开发是非常曲折的,尤其是早期根本没有任何参考作品或者 相关的一些知识博客去引领我们去做,会经历多次的推到再到重头再来,又需要开发者有很高的知识储备,举步维艰。,目前 web 二维 在市场上已经非常普遍,而web 三维低代码普及率并不是很高。
以下是我的一些的编辑器功能分布,希望能对你有一些启发,让你少走一些弯路。
预览查看 https://z2586300277.github.io/three-editor/dist/#/editor
开源地址 https://github.com/z2586300277/three-editor
官网: https://threehub.cn/editor/
使用 Three.js 编辑器简单编辑
学习案例分享
Three.js 案例学习 https://threehub.cn/
开源的three.js,cesium.js案例社区,内含众多three和cesium的原生案例"
three,three.js,cesium,cesium.js,webgl,examples,editor,shader,code,模型,渲染,3d案例,三维案例,编辑器Three.js,Cesium.js,Webgl,3d,javascript,模型,动画,效果,特效,开源,编辑器,前端,低代码,可视化
su7 压缩模型加载, 道路流光 灰度贴图 模型裁剪动画 跳动心, 旋转圆, 空中的云 天空盒加载 模型动画播放 光柱效果,毛玻璃 着色器,立体热力图,模型拆解动画,地理边界流动,模型视图,地面反射效果 3d 文字 环境贴图效果 相机视角动画 物体 沿着 路径运动动画 粒子效果 围墙着色器效果 类似echarts 的 three.js 3d 地图 城市白模建筑扫光 three 实现地球效果 飞线 烟雾着色器, 报警着色器动画 css2D css3D 交互标签使用
这是我早期创造three低代码内核的一个思维导图
想要搭建一个three.js 的低代码库一定要有以下特点:
保留three.js 原生态, 只是将three.js 内部案例功能做了一个集成,并不对底层库改变,只撰写你业务通用的逻辑。
组件化:类似于二维低代码的组件化,three.js 也可以,例如你通过繁琐操作创建了一个三维物体,你将此方法封装起来,下次使用就不用从头写,只需要一些传参就能生成这个物体,一个组件只需要耗费经历写一次,而这个组件代码并不会与其他代码有过多的交集。
高扩展性 你只是做了项目所需要的业务逻辑封装,内部场景的生命周期流程搭建一定要保留three.js 的相关扩展元素, 如 后期处理系列, 着色器系列等,或者使用者自身去扩展系列。
创造理念, 一定不是直接就从树苗长成参天大树,而是搭建了一个健康的生长体系,让使用者去搭建成一个家园。
易用性 低代码的创造一定是减少开发者的学习成本,如果让开发者 用了之后发现学习成本更高了,那这个低代码不开发也罢,封装成一个npm 包 对于这来说是一个最好的选择, 开发者使用的时候只需要知道传什么参数,然后能生成什么结果就好,完全不需要去了解内部逻辑。
通用性 一定要和以外的斩断联系,例如 vue react, 把思想放到js 上 , 这样你创造的 才会是 轻量,通用, 高效的也会避免一些问题,可以多去看看 node_modules 的每一个依赖都是如何创造的,去获取这种理念。
1.组件化, 例如目前比较火的3dMap ,可视为一个功能组件
2. 自带动画 和 环境等功能集成。
3. 用户自定义配置变换动画。
4…用户自定义的各种着色器混合扩展。
5. 天空和环境等通用要素。
6. 自由绘制创建等功能
7. 后期处理等功能 集成和 扩展。