认识Three.js|青训营笔记

120 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 11 天

最近在了解前端的时候了解到了Three.js这个库,这是一个很有意思的库。

一、什么是Three.js?

首先在讲述Three.js之前,我们需要先来了解一些有关的知识。

1、OpenGL:

OpenGl想必学计算机的很多同学都听说过这个,这是与计算机图形化有关的一个名词。它其实是一个跨平台的3D/2D标准(规范),是一个开放式的图形标准,也就是说这个规范在JavaScript、C++、Java、Python等语言平台上都适用。

2、WebGL:

WebGL实际上是一种基于OpenGL标准开发的API,是一种JavaScript的3D图形接口。WebGL通过引入一个与 OpenGL ES 2.0紧密相符合的 API,可以在HTML5元素中使用。

3、Three.js:

实际上,Three.js是由居住在西班牙巴塞罗那的程序员 Ricardo Cabbello Miguel 所开发的一个基于WebGL封装的易于使用的、轻量级的3D库。由于在WebGL中提供的API接口都较为底层,开发者在使用WebGL接口的时候还需要结合大量有关于图形学的知识才能够有效的在web中呈现想要的效果,非常耗费精力。在Three.js库的帮助下,简化了许多开发细节,大大降低了学习成本,提高了开发者的开发效率。通过Three.js,我们能够高效的开发出一些炫酷而又实用的3D图形效果。

二、Three.js的特点为?

  • 细节掩盖:Three.js 掩盖了许多3D 渲染的细节,使得开发更高效。
  • 面向对象:开发者可以使用上层的 JavaScript 对象,而不是仅仅调用 JavaScript 函数。
  • 功能丰富:Three.js 除了封装了 WebGL 原始 API 之外,还包含了许多实用的内置对象,可以方便地应用于游戏开发、动画制作、模型制作和一些特殊的视觉效果实现等。
  • 速度很快:Three.js采取了一系列高效的算法以保持极高的性能。
  • 支持交互:WebGL 本身并不支持交互功能(即判断鼠标是否在某个图形上)。在Three.js中则提供了这样的一系列功能,使得开发者可以轻松为你的应用添加交互功能。
  • 扩展性强:开发者可以很方便地为Three.js添加新的特性或进行自定义优化。

三、体验Three.js

这是Three.js的官网:threejs.org/ ,在这里有许多案例可以供人参考。除了有精心制作的网页小游戏,也有炫酷的页面效果。