做三维的交互应用程序,用openGL还是用unity 3D? three.js 3D 开发

JavaScript011

做三维的交互应用程序,用openGL还是用unity 3D? three.js 3D 开发,第1张

跟开发小哥哥要了张层次图,两者的最大区别一目了然!

相比Unity,OpenGL是更为底层的一项技术,这个如何解释呢?OpenGL其实就是webGL的前身,它提供的是几何概念,比如点、线、面,相当于画家脑海中的各种素材,只有经过一双妙手,才能画出一张图像,所以相比较而言,用Unity 3D渲染器的人更多一些,因为Unity提供了更为顶层的3D概念,包括空间变换、材质、环境球等,更容易运用理解。

我们都知道,Unity 3D主要专注于游戏开发、影视动画,底层是c++语言,主要需要安装客户端才能使用,openGL采用前端语言(Unity也有一部分JS代码),所以可以直接在浏览器页面进行可视化开发!

更为顶层的three.js和ThingJS都是基于webGL的3D框架,所以可视化开发成为一种巨大的优势(不过Unity的客户端渲染性能一样好),尤其是ThingJS支持在线开发,扩展了开发自由度。

总而言之,一张图说明一切,Unity是一种渲染引擎,可以提供一系列3D开发概念帮助你快速制作影视项目,OpenGL属于渲染接口层,并不具备任何概念,需要自己组建图形,对于初学者不是特别友好,也没有特定的领域覆盖,更适合技术探索者,而不是项目开发者!

推荐基于webGL的3D框架类库!three.js的知名度很高,在开源中国、思否、掘金等技术社区会有很多应用指导案例,很多人问我是不是需要学webGL,three.js正是对webgl进行了封装,提供更高层的渲染接口,不用重新学习3D绘图底层逻辑。

题主没有提供太多背景信息,是否具备中高级前端开发基础?three.js相对于初学者门槛很高,需要花费更多的时间,一个加载模型、调光、选择模型弹框的功能,就能写出Threejs上百行代码。

有一个针对前端转3D开发初学者的解决方案,推荐thingjs在线平台,开发体验比较如下:

提醒一下,three.js并没有特定的行业应用,属于技术研究范畴;thingjs专注于物联网3D可视化领域,对于智慧城市、智慧工厂、安全消防、城市交通可视化应用开发者非常友好!做前端技术应用,推荐物联网3D商业项目方向,15万个开发者的一致选择!