three.js
Three.js是纯渲染引擎,而且代码易读,容易作为学习WebGL.3D图形.3D数学应用的平台,也可以做中小型的重表现的Web项目。
但如果要做中大型项目,尤其是多种媒体混杂的或者是游戏项目VR体验项目,Three.js必须要配合更多扩展库才能完成,因为你可能会需要联网通信功能的封装.声音普通控制甚至高级频谱控制.输入设备信息的处理等诸多渲染以外的功能。这时候,就比较适合使用Babylon.js或者国内的一些针对游戏和多媒体应用开发的引擎或者说框架,例如LayaAir以及Egret3D。
Hightopo
信息
http://www.hightopo.com/blog/461.html 数百个 HTML5 例子学习 HT 图形组件 掌握 HT 基础:
- 先入门手册 http://www.hightopo.com/guide/guide/core/beginners/ht-beginners-guide.html
- 看数据模型 http://www.hightopo.com/guide/guide/core/datamodel/ht-datamodel-guide.html
- 阅矢量手册 http://www.hightopo.com/guide/guide/core/vector/ht-vector-guide.html
- 读数据绑定 http://www.hightopo.com/guide/guide/core/databinding/ht-databinding-guide.html
- 序列化机制 hightopo.com/guide/guide/core/serialization/ht-serialization-guide.html
如有三维需求:
- 入门手册 http://www.hightopo.com/guide/guide/core/3d/ht-3d-guide.html
- 建模手册 http://www.hightopo.com/guide/guide/plugin/modeling/ht-modeling-guide.html
- OBJ 导入 http://www.hightopo.com/guide/guide/plugin/obj/ht-obj-guide.html
thing.js
- 更合理的API接口设计
- 在线编辑器。
- 3D模型可使用 3Dmax等工具来创建,并导入。
- 自带的快捷界面库更好。
对比
- 2D支持:things是一个完整的3D框架,没有2D相关的支持,hightopo本身支持2D和3D。
- 模型:在现实中所有的3D模型
- hightopo
- 没有太多模型
- 支持obj格式,可使用常见3D建模软件开发。
- 也可完全自定义模型的定义需要定义所有的点和动画
- thingjs
- 已有上千免费模型,和一些可选付费模型。
- 场景定义:可创建一些模型的组合。
- 支持obj,gltf 多种格式,可使用常见3D建模软件开发。
- hightopo
- 文档API:在文档和API提供商,thingjs这边的API设计更加的合理,文档更好理解,例子的代码注释也比较清晰。
- 组件:都可使用官方组件或者自定义组件。thingjs的官方组件更漂亮。
- 数据结构:数据结构差不多,但是 thingjs的结构更加清晰简单。文档说明清楚。 hightopo的属性都是堆在一块,可能上手成本比较高。
框架选择
- 是否需要2D功能:是的话 最好hightopo。
- 需要做的东西是否高度匹配hightopo 的例子。
- 其他情况下 things 占优。
工作流程
- 需要所需模型
- 创建场景。
- 数据对接:对接当前设备的信息,修改对应设备的状态。
- 增加组件界面。
- 增加
- 修改
- 位移