Three.js利用顶点绘制立方体的方法详解

前端之家收集整理的这篇文章主要介绍了Three.js利用顶点绘制立方体的方法详解前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

前言

之前我们在学些WebGL基础的时候每天都是在一直研究顶点位置,法向量,绘制下标什么的。虽然复杂,但是毕竟原生,性能没得说。

three.js也给我们提供了相关的接口供我们使用原生的方法绘制模型,下面话不多说了,来一起看看详细的介绍吧。

下面是我的个人一个案例。

首先,我创建了一个空白的形状:

立方体的形状如下:

然后添加了立方体的顶点,一共8个

cubeGeometry.vertices = vertices;

接着通过顶点的坐标生成了立方体的面

cubeGeometry.faces = faces;

在这里需要注意:

(1)面是由三个顶点组成的一个三角形面,也是WebGL的实现面的方式。如果需要一个长方形,那就需要由两个三角形组合而成。

(2)如果要绘制的面是朝向相机的,那这个面的顶点的书写方式是逆时针绘制的,比如图上模型的第一个面的添加里面书写的是(0,2)。

(3)如果能使模型有灯光的效果,还需要设置法向量,让three.js自动生成即可,如下

生成法向量 cubeGeometry.computeFaceNormals();

当前的这些步骤只是生成了形状,还需要和以前一样设置一个纹理,再通过THTEE.Mesh()方法生成网格

cube = new THREE.Mesh(cubeGeometry,cubeMaterial);

这样就实现了一个立方体的绘制:

全部代码如下:

<Meta charset="UTF-8"> Title

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家学习或者使用Three.js具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对编程之家的支持

原文链接:https://www.f2er.com/js/36097.html

猜你在找的JavaScript相关文章