案例: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
17
</head>
18
    
19
<body>
20
  <script>
21
    /**
22
     * 创建场景对象Scene
23
     */
24
    var scene = new THREE.Scene();
25
26
var loader = new THREE.ObjectLoader(); //创建一个加载器
27
var mixer = null; //声明一个混合器变量
28
loader.load("/js/threejs/marine_anims_core.json", function(obj) {
29
  scene.add(obj); //添加到场景中
30
  obj.translateY(-100); //球体网格模型沿Y轴正方向平移120
31
  //从返回对象获得骨骼网格模型
32
  var SkinnedMesh = obj.children[0];
33
  //骨骼网格模型作为参数创建一个混合器
34
  mixer = new THREE.AnimationMixer(SkinnedMesh);
35
  // 查看骨骼网格模型的帧动画数据
36
  // console.log(SkinnedMesh.geometry.animations)
37
  // 解析跑步状态对应剪辑对象clip中的关键帧数据
38
  var AnimationAction = mixer.clipAction(SkinnedMesh.geometry.animations[1]);
39
  // 解析步行状态对应剪辑对象clip中的关键帧数据
40
  // var AnimationAction = mixer.clipAction(SkinnedMesh.geometry.animations[3]);
41
  AnimationAction.play();
42
43
  // 骨骼辅助显示
44
  // var skeletonHelper = new THREE.SkeletonHelper(SkinnedMesh);
45
  // scene.add(skeletonHelper);
46
})
47
      
48
    //三维坐标系辅助显示