webgl开发,选threejs还是thingjs?

近日在论坛中看到用户发的一篇文章:《webgl开发,选threejs还是thingjs?》特此分享一下:

webgl开发,选threejs还是thingjs?其实本人一开始也是纠结了好久的,threejs毕竟是“天下谁人不识君”,出道早、名气大、底蕴足,而thingjs虽有一定名气,但就目前而言还达不到threejs那样有着“庞大”的使用人群,可是最后我为啥还是选择了thingjs呢?要知道threejs是目前最火最流行的3D开源框架。

threejs对于底层的开发已经到达了一种丧心病狂的地步,你用threejs可以完成渲染,可以去画点,线,面,可以去上色、贴图、处理光线,视角转动等等等等,真的是超级厉害超级棒!但是!问题来了,我不是webgl爱好者,我没有那么多时间去学习如何画点线面,我也不太关系他们的底层是什么呀,学习后我知道了threejs的三大组件:场景(scene)、相机(camera)和渲染器(renderer),但我就想快点做完项目快点交付,咋整?使用threejs,于我而言,没一两个月动手能力为零,但是做一个项目,时间有多宝贵就不必我在这里哭诉了吧。

thingjs入门花了我多久呢?额,其实我只花了半天功夫,搜出了还有thingjs,进入网站后运行了他们的应用示例,发现有些类似,顺手加入了他们的QQ交流群,问了一句thingjs可以做啥,能不能完成XXX样子的项目,当听到确切可以的时候,我打算一步步问他们我该怎么做,“请查看官方教程”,这一个回复让我哑口无言,那我就去看视频呗,哎哟,太懒了,看了几分钟不想看了,又去看文档,看了十分钟感觉也就那样,最后我发现,thingjs的“在线开发”里面除了那个综合应用,还有好多别的示例,我从最开始的helloworld看起,发现,嘿,真简单!三行代码加载了一个3d场景。

/**

* 说明:创建App,url为场景地址(可选)

*/

var app = new THING.App({

url: 'https://www.thingjs.com/static/models/storehouse' // 场景地址

});

正好渲染啥的thingjs也帮我们封装了,不用花时间花精力去写threejs的代码,反而是调好就行,让我从苦恼怎么去话点线面,怎么去渲染场景到只用去考虑开关门、物体移动、数据交互了。

三天时间,我就从一个webgl新手到了一个可以使用thingjs开发一个简单的数据交互的3d可视化应用了(场景我是从thingjs的模模搭场景集市中买的,花了我0元,对,我买的免费场景),通过给场景中模型添加属性,然后进入到thingjs在线开发中,使用thingjs的api控制,十分轻松的就完成了点击事件、顶牌事件、物体移动、显示、消失,层级切换等等功能,同时使用thingjs的数据对接示例,自己也做了一个数据对接的功能,同时在开发中出现的一些问题,在thingjs官方人员的答复下也是迅速的解决了!

在这里,我想分享的就是,如果是想快速轻松的做项目,可以选择thingjs,如果对于渲染、点线面等要求十分严格,千万不要选择thingjs,thingjs就是简化了开发难度,但是也因此无法像threejs那样有精细的模型制作能力,如果你是3D开发爱好者(要钻研的那种人),就去threejs的海洋驰骋吧!如果你是天天加班赶时间的技术人员,还是跟我一起学习thingjs吧~

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191114A0DY7500?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券