案例:Three 纹理贴图12-纹理贴图     状态:可编辑再运行    进入竖版
 运行结果 
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.SphereGeometry(100, 25, 25); //球体
23
// TextureLoader创建一个纹理加载器对象,可以加载图片作为几何体纹理
24
var textureLoader = new THREE.TextureLoader();
25
// 加载纹理贴图
26
var texture = textureLoader.load('/img/threejs/earth.jpg');
27
// 加载法线贴图
28
var textureNormal = textureLoader.load('/img/threejs/threejs54EarthNormal.png');
29
var material = new THREE.MeshPhongMaterial({
30
  map: texture, // 普通颜色纹理贴图
31
  normalMap: textureNormal, //法线贴图,注释这行和下面的一行,就可以查看没有法线时的效果
32
  normalScale: new THREE.Vector2(1.2, 1.2),  //设置深浅程度,默认值(1,1)。
33
}); //材质对象Material
34
var mesh = new THREE.Mesh(geometry, material); //网格模型对象Mesh
35
scene.add(mesh); //网格模型添加到场景中
36
      
37
    /**
38
     * 光源设置
39
     */
40
    //点光源
41
    var point = new THREE.PointLight(0xffffff);
42
    point.position.set(400, 200, 300); //点光源位置
43
    scene.add(point); //点光源添加到场景中
44
    //环境光
45
    var ambient = new THREE.AmbientLight(0x999999);
46
    scene.add(ambient);
47
      
48
    //添加坐标系