案例:Three 纹理贴图8-纹理动画     状态:可编辑再运行    进入竖版
 运行结果 
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
var curve = new THREE.CatmullRomCurve3([
26
  new THREE.Vector3(-80, -40, 0),
27
  new THREE.Vector3(-70, 40, 0),
28
  new THREE.Vector3(70, 40, 0),
29
  new THREE.Vector3(80, -40, 0)
30
]);
31
var tubeGeometry = new THREE.TubeGeometry(curve, 100, 0.6, 50, false);
32
var textureLoader = new THREE.TextureLoader();
33
var texture = textureLoader.load('/img/threejs/run.jpg');
34
// 设置阵列模式为 RepeatWrapping
35
texture.wrapS = THREE.RepeatWrapping
36
texture.wrapT=THREE.RepeatWrapping
37
// 设置x方向的偏移(沿着管道路径方向),y方向默认1
38
//等价texture.repeat= new THREE.Vector2(20,1)
39
texture.repeat.x = 20;
40
var tubeMaterial = new THREE.MeshPhongMaterial({
41
  map: texture,
42
  transparent: true,
43
});
44
45
      
46
      // 设置数组材质对象作为网格模型材质参数
47
var mesh = new THREE.Mesh(tubeGeometry, tubeMaterial); //网格模型对象Mesh
48
scene.add(mesh); //网格模型添加到场景中