|
Three.js是大多数开发者首次接触的WebGL 3D库,Unity为游戏开发、美术、建筑、汽车设计、影视制作在内的创作者提供一整套软件解决方案。(ThingJS是更为上层的抽象,不用关心渲染、mesh、光线等复杂概念,)
three.js优势
Three.js是大多数开发者首次接触的WebGL 3D库,Threejs库的出现解决了底层的渲染细节和复杂的数据结构,可以支持如一个房间级别,或一个楼层级别的渲染,或符合特殊要求的大量同类模型的渲染。
three.js和Unity开发性能比较
对 WebGL进行了封装,提供了更高层的渲染接口,提供摄影机、视口的控制,提供场景组织方式,能够加载多种文件格式,通过创建材质、贴图并编写 shader来实现物体效果,创建立方体、球等基本元素,提供灯光、阴影、点云等等底层功能。相比而言,Unity 3D需要下载和安装Unity编辑器以便创建3D项目,C#语言面向对象的特性完整,有利于程序设计。 Unity编辑器提供了丰富的游戏开发功能,包括场景的渲染、物体创建、各种效果在编辑中调整,应用商店提供了丰富的扩展能力,更适合影视动画开发生态。这一点和Unity的开发优势趋同,基于 Unity强大的编辑器,提供了丰富的游戏开发功能。包括场景的渲染、物体创建、各种效果在编辑中调整、物理系统、地形系统、植物系统、粒子系统、过场动画编辑、人物角色动画编辑等等。并且通过应用商店提供了丰富的扩展能力
three.js不足之处
虽然Three.js底层引擎级别的三维图形库,有很多开源库对它进行扩展,但较为松散,适合做轻量级可视化应用,复杂应用则需要基于此库进行大量封装才行。尤其场景输出层面,需要3 3DSMax、Maya、CAD等专业美术人员,通过建模再做一定的导出工作才能得到需要的模型,团队协作成本高。
问题加餐:three.js,thingjs 3D框架对比
ThingJS是新兴的3D框架,2018年诞生,由北京优锘科技公司研发,旨在简化3D应用开发。轻量化的表现在:1、ThingJS封装了对模型交互事件的API、对模型的操作及层次关系,一个个具体的模型抽象把初学者从复杂的3D概念中解放出来,2、加载简单场景仅需1行代码,发布方式支持iframe, 微信和PC发布,在线化更方便,3、ThingJS是一个完成的物联网可视化应用开发生态,提供CampusBuilder, CityBuilder等场景搭建SAAS、场景存储云空间(无需付费)和10万个场景资源……如果是你是初学者,three.js用起来更花费时间,就一个加载模型、调光、选择模型弹框的功能,就能写出Threejs上百行代码,ThingJS是更为上层的抽象,不用关心渲染、mesh、光线等复杂概念,更适合项目团队提高开发效率。 |
|