案例:Three 鸟类飞翔     状态:可编辑再运行    进入竖版
 运行结果 
x
 
1
<!DOCTYPE html>
2
<html lang="en">
3
4
<head>
5
  <meta charset="UTF-8">
6
  <title>Three 鸟类飞翔</title>
7
  <style>
8
    body {
9
      margin: 0;
10
      overflow: hidden;
11
      /* 隐藏body窗口区域滚动条 */
12
    }
13
  </style>
14
  <script src="/js/threejs/threer92.js"></script>
15
  <script src="/example/threejs/solarsystem/files/OrbitControls.js"></script>
16
</head>
17
18
<body>
19
      <div id="app">
20
    <div class="block" style="display:inline;width:500px">
21
      <el-slider v-model="time" show-input :max=1 :step=0.01></el-slider>
22
    </div>
23
  </div>
24
    
25
  <script>
26
    /**
27
     * 创建场景对象Scene
28
     */
29
    var scene = new THREE.Scene();
30
    /**
31
     * 解析变形目标数据
32
     */
33
    var loader = new THREE.JSONLoader(); //创建加载器
34
    var mixer = null; //声明一个混合器变量
35
    loader.load("https://www.w3xue.com/js/threejs/flamingo.json", function(geometry) {
36
      // console.log(geometry);
37
      var material = new THREE.MeshPhongMaterial({
38
        morphTargets: true,
39
        vertexColors: THREE.FaceColors,
40
      });
41
      // 通过平均面法线来计算顶点法线,效果更光滑
42
      geometry.computeVertexNormals();
43
      var mesh = new THREE.Mesh(geometry, material);
44
      scene.add(mesh); //插入到场景中
45
46
      // 创建一个混合器,播放网格模型模型的变形动画
47
      mixer = new THREE.AnimationMixer(mesh);
48
      // geometry.animations[0]:获得剪辑对象clip