three.js基础组件:场景、相机、渲染器
主要组件:控制器、几何体、材质、灯光、纹理、外部3D模型
场景
场景相当于生活中的三维空间,用于承载物体,所有的模型、灯光及相机都放在这个场景中。相机相当于现实生活中人的眼睛,用来观看场景中的物体。灯光形成反射光源并传递给相机,相机从而能够捕捉到可见物体。
三维空间构建:需要一个div用来承载画布的功能,跟二维空间canvas一样,只是three.js把画布的生成集成在对象里面,通过THREE.WebGLRenderer生成相应的渲染环境,然后通过js的方法append到对应的标签中。
相机
threejs提供两种相机,一种是正投影相机,一种是透视相机,考虑到三维场景的真实性,一般采用透视相机。
1 | this.camera = new Three.PerspectiveCamera(fov, aspect, near, far) |
灯光
three.js中有环境光、区域光、方向光、聚光灯、点光源几种光源,通过对应的方法构建,最后通过scene.add(Light)方法将光源添加到对应场景的相机光源并作为空间的一种对象。
灯光详细说明文章:https://www.jianshu.com/p/af4e62aae14f
外部3D模型
工具:Blender、https://threejs.org/editor/等
导出格式:建议GLTF