threejs的学习(1) ----总结

234 阅读2分钟

Offer 驾到,掘友接招!我正在参与2022春招打卡活动,点击查看活动详情

首先

之前也是有学过,但是没有做总结,工作也几乎没有用到,这次打算系统的总结下。努力下一份工作的内容有它。

内容

image.png

从这里可以看到需要一个Renderer、Scene、Camera。这是一种树形结构。

Renderer

threejs有两个渲染器 WebGLRenderer 和 WebGL1Renderer 。他们的区别就是WebGLRenderer是WebGL1Renderer的升级。现在我们都是使用WebGLRenderer

Camera

创建一个新的Camera(摄像机)。注意:这个类并不是被直接调用的;你所想要的或许是一个 PerspectiveCamera(透视摄像机)或者 OrthographicCamera(正交摄像机)。

区别: 透视摄像机 会根据摄像机与物体的距离而变化大小。 正交摄像机 就不会,使用保持的原来的大小。

注意点: 在例子中 看到某个属性与方法 他们可能是属于Camera, 可以在那里寻找。

还有 立体相机(StereoCamera)与 摄像机阵列(ArrayCamera)还未认真看

后面会再写一篇相机完整相关的。

几何(Geometry)

这个就是物体的样子,例如掘金马克杯、正方形、三角形、猫与狗等。之类的。 three提供了一部分常见的。但是符合项目需求肯定需要建模。就是那些模型。

材质(Material)

表示这个物体是什么材料所做的。如前面说的掘金马克杯就是陶瓷所制作(我还没有)。 这个就是用来展示 灯关照射,物体展示的光亮程度。 threejs也提供了很多

纹理(Texture)

这个就是皮,就是掘金马克杯的那个logo还有图片之类的。

网格(Mesh)

现在有了材质和几何形状,但是没有变成一个物体,物体就是可以出现在3维的世界中有坐标之类的。

灯光(Light)

在一个世界中,肯定需要光源,不然所有的物体都是看不见的黑漆漆的。

总结

首先 渲染器 只有一个不用选择,然后场景、相机。场景里面需要物体和灯光。物体又需要几何模型和材质。材质可以添加纹理(贴图)。