案例:Three 顶点索引-平面正方形     状态:可编辑再运行    进入竖版
 运行结果 
x
 
1
<!DOCTYPE html>
2
<html>
3
<head>
4
  <meta charset="UTF-8">
5
  <style>
6
    body {
7
      margin: 0;
8
      overflow: hidden;
9
      /* 隐藏body窗口区域滚动条 */
10
    }
11
  </style>
12
  <!--引入three.js三维引擎-->
13
  <script src="/js/threejs/threer92.js"></script>
14
  <script src="/example/threejs/solarsystem/files/OrbitControls.js"></script>
15
</head>
16
17
<body>
18
  <script>
19
    //创建场景
20
    var scene = new THREE.Scene();
21
22
    var geometry = new THREE.BufferGeometry(); //声明一个空几何体对象
23
//类型数组创建顶点位置position数据
24
var vertices = new Float32Array([
25
  0, 0, 0, //顶点1坐标
26
  80, 0, 0, //顶点2坐标
27
  80, 80, 0, //顶点3坐标
28
  0, 80, 0, //顶点4坐标
29
]);
30
// 创建属性缓冲区对象
31
var attribue = new THREE.BufferAttribute(vertices, 3); //3个为一组
32
// 设置几何体attributes属性的位置position属性
33
geometry.attributes.position = attribue
34
var normals = new Float32Array([
35
  0, 0, 1, //顶点1法向量
36
  0, 0, 1, //顶点2法向量
37
  0, 0, 1, //顶点3法向量
38
  0, 0, 1, //顶点4法向量
39
]);
40
// 设置几何体attributes属性的位置normal属性
41
geometry.attributes.normal = new THREE.BufferAttribute(normals, 3); //3个为一组,表示一个顶点的xyz坐标
42
      
43
      // Uint16Array类型数组创建顶点索引数据
44
var indexes = new Uint16Array([
45
  // 0对应第1个顶点位置数据、第1个顶点法向量数据
46
  // 1对应第2个顶点位置数据、第2个顶点法向量数据
47
  // 索引值3个为一组,表示一个三角形的3个顶点
48
  0, 1, 2,