案例:Three 加载.fbx文件-机器人跳舞     状态:可编辑再运行    进入竖版
 运行结果 
x
 
1
<!DOCTYPE html>
2
<html>
3
4
<head>
5
  <meta charset="UTF-8">
6
  <title>Three 加载.fbx文件</title>
7
  <style>
8
    body {
9
      margin: 0;
10
      overflow: hidden;
11
      /* 隐藏body窗口区域滚动条 */
12
    }
13
  </style>
14
  <script src="https://www.w3xue.com/js/threejs/threer92.js"></script>
15
  <script src="https://www.w3xue.com/example/threejs/solarsystem/files/OrbitControls.js"></script>
16
  <script src="https://www.w3xue.com/js/threejs/FBXLoader.js"></script>
17
  <script src="https://www.w3xue.com/js/threejs/inflate.min.js"></script>
18
</head>
19
20
<body>
21
    <div id="app">
22
23
    </div>
24
    
25
  <script>
26
    /**
27
     * 创建场景对象Scene
28
     */
29
    var scene = new THREE.Scene();
30
31
      
32
    var mixer=null;//声明一个混合器变量
33
    var loader = new THREE.FBXLoader();//创建一个FBX加载器
34
    loader.load("/js/threejs/SambaDancing.fbx", function(obj) {
35
      // console.log(obj)
36
      scene.add(obj)
37
      obj.translateY(-80);
38
      // obj作为参数创建一个混合器,解析播放obj及其子对象包含的动画数据
39
      mixer = new THREE.AnimationMixer(obj);
40
      // 查看动画数据
41
      console.log(obj.animations)
42
      // obj.animations[0]:获得剪辑对象clip
43
      var AnimationAction=mixer.clipAction(obj.animations[0]);
44
      // AnimationAction.timeScale = 1; //默认1,可以调节播放速度
45
      // AnimationAction.loop = THREE.LoopOnce; //不循环播放
46
      // AnimationAction.clampWhenFinished=true;//暂停在最后一帧播放的状态
47
      AnimationAction.play();//播放动画
48
    })