案例: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
23
/**
24
 * 精灵创建树林效果
25
 */
26
// 加载树纹理贴图
27
var textureTree = new THREE.TextureLoader().load("/img/threejs/tree.png");
28
// 批量创建表示一个树的精灵模型
29
for (let i = 0; i < 100; i++) {
30
  var spriteMaterial = new THREE.SpriteMaterial({
31
    map:textureTree,//设置精灵纹理贴图
32
  });
33
  // 创建精灵模型对象
34
  var sprite = new THREE.Sprite(spriteMaterial);
35
  scene.add(sprite);
36
  // 控制精灵大小,
37
  sprite.scale.set(100, 100, 1); //// 只需要设置x、y两个分量就可以
38
  var k1 = Math.random() - 0.5;
39
  var k2 = Math.random() - 0.5;
40
  // 设置精灵模型位置,在xoz平面上随机分布
41
  sprite.position.set(1000 * k1, 50, 1000 * k2)
42
}
43
44
//创建一个平面几何体
45
var planeGeometry = new THREE.PlaneGeometry(1100,1100);
46
var planeMaterial = new THREE.MeshLambertMaterial({
47
  color: 0x999999,
48
  side:THREE.DoubleSide