3D图库框架范围与示例
一、 BabylonJS(适用于小场景,开源;JavaScript、TypeScript)
(一)特点
强大,美观,简单和开放的3D渲染体验。
(二)适用范围
Babylon.js是一款WebGL开发框架。 适合做中大型项目,尤其是多种媒体混杂的或者是游戏项目VR体验项目
(三)支持格式
glTF,OBJ,STL,.babylon (常用格式)。
(四)优缺点
1、 优点
功能较为全面,功能比较丰富、灵活、模型显示不失真。有微软背景,有不少的demo,有较详细的api文档,有供测试的平台,有提供3dsmax转换模型的插件,比three.js成熟;几经更新
与完善之后,Babylon.js已更新至1.12版本,相比之前的版本,除了不断的Bug修复之外,Babylon.js还新增了.许多非常牛叉的新特性,并对已有功能进行了完善。更方便快捷地完成光线、轮船纹理、海浪等的3D建模,从而带来最佳的呈现效果。
2) 缺点
学习难度大、周期长,需要进行大量深入的学习与研究。另外,在模型文件较大或较多时,浏览器打开时会等待较长时间;
中文资料很少,没有系统的中文教程,如从入门到精通都可以给你讲一遍系统的教程,论坛也会被墙,相关的qq群较少,群里的人也不多,所以能真正指导我们的大牛也比较少。国内资料基本没有。同Three.js类似,Firefox浏览器在本地同时打开多个较大模型时,会提示浏览器性能不足问题。另外,模型在100M以上时可能存在无法加载的现象。.babylon模型预览,可以通过官方提供的沙盒地址,通过拖放.babylon文件进行查看。经过测试,发现个别.babylon模型仍难以打开。
⦁ 浏览器支持
对目前主流的IE11以上、Chrome和FireFox都支持,本人已在Chrome v 57.0.2970.0和Microsoft EdgeHTML 14.14393测试通过。
⦁ 速度
同Three.js类似,加载大模型时速度较慢。需提供正在载入信息提示,尽可能提高用户体验。不过Babylon为了尽可能的提高加载速度,提供了工具可以将.babylon文件转换成几个文件,缓式加载以提高显示速度。
⦁ 运行环境
运行Web端应用,需先在本地搭建应用服务器环境。例如:Apache、Tomcat、JBoss等。
相关网址:
主站:http://www.babyon.js.com/
文档:http://doc.babylonjs.com/
论坛:http://www.html5gamedevs.com/forum/16-babylonjs/
PlayGround:http://babylonjs-playground.azurewebsites.net/
在线开发工具:http://wow.techbrood.com/fiddle/new
工具:http://doc.babylonjs.com/tutorials/using_the_incremental_loading_system
下载地址:https://github.com/BabylonJS/Babylon.js/tree/master/Exporters
模型预览:http://sandbox.babylonjs.com/
格式解析: https://github.com/h53d/babylonjs-doc-cn/blob/master/target/generals/General/File_Format_Map_(.babylon).md
http://doc.babylonjs.com/generals/file_format_map_(.babylon)
编辑工具:http://materialeditor.raananweber.com/
Shader在线查看(GLSL语言编写:Vertex Shader和Pixel Shader):
重点示例
http://www.babylonjs.com/demos/sponza/
http://www.babylonjs.com/demos/mansion/