前言
课件地址
https://github.com/buglas/threejs-lesson
课前准备
- 需掌握es6、html、css 的基础知识。
- 图形学基础,三角函数、向量、矩阵等。
- WebGL 基础。
课堂目标
- 认识three.js
- 掌握three.js 基本绘图原理和流程
知识点
- threejs 概述
- 搭建threejs 场景
第一章 three.js 概述
1-three.js 是什么?
three.js是用JavaScript编写的WebGL第三方库,在我们的课程里就将其简称为three 了。
three 提供了非常多的3D显示和编辑功能。
具体而言,three 是一款运行在浏览器中的 3D 引擎,你可以用three 创建各种三维场景,并对其进行编辑。
在three 的官网上看到许多精彩的演示和文档。
three 官网:https://threejs.org/
github:https://github.com/mrdoob/three.js
2-three 的优缺点
优点:
- 对WebGL 进行了深度封装,可以提高常见项目的开发速度。
- 入门简单,精通较难,需图形学基础。
- 具备较好的生态环境,文档详细,持续更新,在国内的使用者很多,就业需求也很大。
缺点:
- 在Node.js 中引用困难。在 Node.js v12 中, three.js 的核心库可使用 require('three') 来作为 CommonJS module 进行导入。然而,大多数在 examples/jsm 中的示例组件并不能够这样。
- 个别功能封装过紧,限制了其灵活性。
3-three 适合做什么
three 适合三维项目的开发和展示,比如VR、AR、三维产品展示、三维家居设计……
three 也可以做游戏开发,只是相较于Babylon,缺少了物理引擎。