Skip to content

一、three.ts-基本要素-网格详解

在计算机的世界里,一条弧线是由有限个点构成的有限条线段连接得到的。当线段数量越多,长度就越短,当达到你无法察觉这是线段时,一条平滑的弧线就出现了。 计算机的三维模型也是类似的。只不过线段变成了平面,普遍用三角形组成的网格来描述。 我们把这种模型称之为 Mesh 模型。

1. 网格

  • 一条弧线由多条线段得到,线段的数量越多,越接近弧线。
  • three.ts 背后所有的图形在进行渲染之前, 都会进行三角化, 然后交给webgl 去渲染。
  • three.js提供了一些常见的几何形状,有三维的也有二维的,三维的比如长方体、球体等, 二维的比如长方形圆形等,如果默认提供的形状不能满足需求,也可以自定义通过定义顶点和顶点之间的连线绘制自定义几何形状, 更复杂的模型还可以用建模软件建模后导入。
    • 2D

      • PlaneGeometry
      • CircleGeometry
      • RingGeometry
      • ShapeGeometry
    • 3D

      • BoxGeometry
      • SphereGeometry
      • CylinderGeometry
  • 有了形状,可能渲染出来的图形没有美丽的样子,这时候材质就出来了。

2. 材质

  • 组成的 mesh 其实是有两个部分:

    • 材质(Material)
    • 几何体(Geometry)
  • three.js提供了集中比较有代表性的材质,常用的用漫反射、镜面反射两种材质,还可以引入外部图片,贴到物体表面,成为纹理贴图。
    mesh.png

Released under the MIT License.