vue中使用threejs仿iView官网大波浪特效

JavaScript016

vue中使用threejs仿iView官网大波浪特效,第1张

Threejs可以理解为是一个web端三维引擎(渲染模型,数据可视化),如果有接触过UnralEngine 4(虚幻四)等游戏引擎的,应该很容易理解在一个三维场景必备的每一个部件(场景,渲染器,网格模型,材质,光源,色相机)。

.side 有三种, FrontSide (正面) 、 BackSide (反面)、 DoubleSide (双面).

上面设置完之后,发现模型上出现条纹阴影,如图:

2: 将上面的 THREE.DoubleSide 去掉,但是我们想要的效果就没了。

3: 设置物体的投影面背面:

附上文档截图:

Three.js是大多数开发者首次接触的WebGL 3D库,Threejs库的出现解决了底层的渲染细节和复杂的数据结构,可以支持如一个房间级别,或一个楼层级别的渲染,或符合特殊要求的大量同类模型的渲染。

1~开发性能

对 WebGL进行了封装,提供了更高层的渲染接口,提供摄影机、视口的控制,提供场景组织方式,能够加载多种文件格式,通过创建材质、贴图并编写 shader来实现物体效果,创建立方体、球等基本元素,提供灯光、阴影、点云等等底层功能。

2~劣势

虽然Three.js底层引擎级别的三维图形库,有很多开源库对它进行扩展,但较为松散,适合做轻量级可视化应用,复杂应用则需要基于此库进行大量封装才行。尤其场景输出层面,需要3 3DSMax、Maya、CAD等专业美术人员,通过建模再做一定的导出工作才能得到需要的模型,团队协作成本高。

3~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、光线等复杂概念,更适合项目团队提高开发效率。