有些难度,threejs库对于前端工程师来说要求较高。ThingJS是更为上层的抽象,不用关心渲染,mesh,光线等复杂概念。它抽象是一个个具体的模型,ThingJS封装了对模型交互事件的各种api,比如单击,左键,鼠标滑过等,ThingJS封装了对模型的操作,例如移动,放大缩小,上色,勾边,甚至开门,ThingJS还封装了模型的层次关系,例如物体是放在某个房间里的,房间又在某个楼层,楼层又是某个大楼的,大楼在园区里。这样讲是不是更直观呢?所以既然有难度不如使用封装threejs库的thingjs吧网页链接
还处在比较不成熟的开发阶段,对初学者友好度不够。
three.js是JavaScript编写的WebGL第三方库。提供了非常多的3D显示功能。
Three.js 是一款运行在浏览器中的 3D 引擎,你可以用它创建各种三维场景,包括了摄影机、光影、材质等各种对象。你可以在它的主页上看到许多精彩的演示。
不过,这款引擎还处在比较不成熟的开发阶段,其不够丰富的 API 以及匮乏的文档增加了初学者的学习难度(尤其是文档的匮乏)three.js的代码托管在github上面。
webgl或者说three.js的发展前景怎么样?
在webgl工作一年后,我坚信这将成为前端工程师的主要工作。
酷炫的特效,甚至VR特效。但是,webgl一直有点弱,更不用说在应用方面,即使是在前端程序员中,也没有多少人知道它。因此webgl目前面临的最大问题是缺乏实际应用。第二,支持太差了,除了一些非常新版本的现代浏览器,支持真的很差。
移动端几乎没有支持。试想,现在一个前端技术与手机不兼容,这真的很难应用。我坚信webgl会成为一个很酷很有用的东西,但是它可能需要很长时间。
你可以轻松地跨桌面和移动终端构建现代企业应用程序,而不用担心跨平台兼容性、触摸屏手势交互等棘手问题。
您可以更多地关注业务逻辑功能,而不必关注复杂的3D渲染、数学和其他非业务核心技术细节。
它更适合用作基于web的应用程序的组件框架三.js以及巴比伦.js它的优点是有许多预先开发的控件,这使得编写web界面应用程序非常方便。
三维建模无非就是通过专业技能加工成立体图形,使之图形成为直观、易懂,容易判读的立体图件。对于开发者来说,选择一个好的3D开发框架,在全景虚拟漫游场景上实现3D动效,ThingJS vs three.js开发性能和资源投入这里拿来比较一下,希望对你有帮助。
1~three.js优势
Three.js是大多数开发者首次接触的WebGL 3D库,Threejs库的出现解决了底层的渲染细节和复杂的数据结构,可以支持如一个房间级别,或一个楼层级别的渲染,或符合特殊要求的大量同类模型的渲染。
2~three.js开发性能
对 WebGL进行了封装,提供了更高层的渲染接口,提供摄影机、视口的控制,提供场景组织方式,能够加载多种文件格式,通过创建材质、贴图并编写 shader来实现物体效果,创建立方体、球等基本元素,提供灯光、阴影、点云等等底层功能。
3~three.js劣势
虽然Three.js底层引擎级别的三维图形库,有很多开源库对它进行扩展,但较为松散,适合做轻量级可视化应用,复杂应用则需要基于此库进行大量封装才行。尤其场景输出层面,需要3 3DSMax、Maya、CAD等专业美术人员,通过建模再做一定的导出工作才能得到需要的模型,团队协作成本高。
4~ThingJS优势
ThingJS主张3D便捷开发,提供无需3D建模知识即可上手的场景搭建工具和无维护成本的场景存储云空间,模型库提供上万个行业模型资源。提供ThingJS场景工具组件,包含园区、城市或者图表搭建,可以让不具备3D知识的普通用户搭建3D场景,一个人可以完成物联网应用的基础开发。
5~ThingJS开发性能
ThingJS可支撑数十栋建筑的园区级应用,可支持从地球到城市、园区、建筑、楼层、房间、最终到物联网设备的渲染性能负载,物联网可视化效果应用优势明显,可创建信息点、线路、管线、区域、热图、粒子、动画等丰富功能,具备灵活的摄影机控制、第一人称行走、寻路导航和视点线路工具可扩展的界面、头顶信息牌、内嵌视频监控等丰富的信息展示方式。
6~开发者角度的体验 (three.js vs ThingJS)
如果是你是初学者,three.js用起来更花费时间,就一个加载模型、调光、选择模型弹框的功能,就能写出Threejs上百行代码,ThingJS是更为上层的抽象,不用关心渲染、mesh、光线等复杂概念,更适合项目团队提高开发效率。