3D商业项目价值高!ThingJS,three.js,unity 3D开发框架比较

ThingJS研究发现,很多厂家采取了伪三维效果(序列照片旋转),来临时代替三维模型的展示,可见3D商业项目是多么有价值!

基于WebGL周边衍生了众多的第三方库,其中Three.js属于开发应用,做了一定的渲染细节封装,ThingJS则封装更多对模型的操作,力求让更多无3D开发经验的人员上手。以Unity 3D为代表的OpenGL出现更早,开发者可以在Unity 3D平台上构建各种AR和VR互动体验,同时可以发布WebGL版本。下面基于开发体验、场景资源和用户技能等三大维度比较这三款3D框架。


Three.js

目前最流行的开源3D框架,2009年4月诞生,2005年adobe收购了macromedia的flash产品,2008,2009年正是flash如日中天之时,threejs也识时务的选择了flash的ActionScript平台,后来flash没落之后选择了WebGL。


ThingJS

新兴的3D框架,2018年诞生,是针对物联网领域的JavaScript 3D Library。它是由在3D领域经营多年的优锘科技公司研发,旨在简化3D应用开发。


Unity3D

Unity是游戏引擎开发商,为游戏开发、美术、建筑、汽车设计、影视制作在内的创作者提供一整套软件解决方案,可用于创作、运营和变现实时互动的2D/3D内容。 2020年5月9日,Unity宣布收购加拿大技术服务公司Finger Food,拓展工业应用版图,在建筑设计、工程、施工等领域扩展。

开发体验对比

Three.js是大多数开发者首次接触的WebGL 3D库,Threejs库的出现解决了底层的渲染细节和复杂的数据结构,终于将复杂的底层细节抽象出来。但对于初学者来说需要花费很多时间,就一个加载模型、调光、选择模型弹框的功能,就能写出Threejs上百行代码。


ThingJS是更为上层的抽象,不用关心渲染、mesh、光线等复杂概念。ThingJS封装了对模型交互事件的API、对模型的操作及层次关系,一个个具体的模型抽象把初学者从复杂的3D概念中解放出来。


Unity 3D需要下载和安装Unity编辑器以便创建3D项目,不同于Web前端开发JS语言,C#语言面向对象的特性完整,有利于程序设计。只是相对来说,C#语言学习成本更高。Unity 3D发布操作流程不够简洁,跨平台发布需要数小时不等。

场景资源对比

ThingJS考虑3D项目开发的便捷性,提供无需3D建模知识即可上手的场景搭建工具和无维护成本的场景存储云空间,模型库提供上万个行业模型资源。


Three.js和Unity 3D没有提供场景解决方案和模型库,需要团队手动维护,对于模型导出和加载有很高的要求。

用户技能要求对比

ThingJS在线开发具备JS基础即可,不需要3D开发技能,入门时间仅数小时。

ThreeJS则需要学习很多复杂的3D概念,初学者上手需要花数周或更长时间,尤其需要专业美术人员完成建模和导出工作,团队协作成本高。

Unity 3D开发者需要有C#语言基础,具备3D开发专业知识,需要至少一周时间入门开发。

结论

ThingJS主要优势在于入门简单、发布迅速,功能和设计更接近行业应用的需求,面向非专业3D用户提供的工具与资源,更适合物联网可视化应用。


Three.js底层引擎级别的三维图形库,有很多开源库对它进行扩展,但较为松散,适合做轻量级可视化应用,复杂应用则需要基于此库进行大量封装才行。


Unity 3D优势在于游戏开发,有很好的生态,性能效果都有很好表现,但输出结果较封闭,适合做最终用户的产品,不适合基于此做web上的二次开发。


为了体验3D便捷开发,我们再来看下ThingJS的模型加载示例。

````var app = new THING.App({

container: 'div3d',

url:'https://speech.uinnova.com/static/models/building'

});

只关注场景在页面的div的id和场景存放的地址,所有的细节ThingJS都处理好了。场景加载完之后便可从场景获得加载内容,并进行交互应用开发。够简单!

// 获取建筑对象

var building = app.buildings[0];

// 打印建筑中所有的楼层

building.floors.forEach(function(floor) {

   console.log('Floor: ' + floor.id);

});

// 获取室外对象

var outdoors = app.outdoors;

// 打印室外所有物体

outdoors.things.forEach(function(thing) {

   console.log('Thing: ' + thing.id);

});


ThingJS让开发者不到一周入门上手3D开发!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,976评论 6 513
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,249评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 167,449评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,433评论 1 296
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,460评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,132评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,721评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,641评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,180评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,267评论 3 339
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,408评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,076评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,767评论 3 332
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,255评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,386评论 1 271
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,764评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,413评论 2 358