案例: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
  <script>
20
    /**
21
     * 创建场景对象Scene
22
     */
23
    var scene = new THREE.Scene();
24
25
    var loader = new THREE.ObjectLoader();
26
    loader.load("/js/threejs/marine_anims_core.json", function(obj) {
27
        console.log(obj);//浏览器控制台查看加载返回的结果
28
        scene.add(obj); //添加到场景中
29
        //从返回对象获得骨骼网格模型
30
        SkinnedMesh = obj.children[0];
31
        obj.translateY(-120); //球体网格模型沿Y轴正方向平移120
32
        // 查看骨头关节Bone
33
        console.log(SkinnedMesh.skeleton.bones);
34
        // 骨骼辅助显示
35
        var skeletonHelper = new THREE.SkeletonHelper(SkinnedMesh);
36
        scene.add(skeletonHelper);
37
        //scene.translateY(-120); //球体网格模型沿Y轴正方向平移120
38
        // 遍历骨骼模型中的骨关节Bone,并获得世界坐标
39
        SkinnedMesh.traverse(function(elem) {
40
            if (elem.type === 'Bone') {
41
                console.log(elem.getWorldPosition(new THREE.Vector3()));
42
            }
43
        });
44
    })
45
      
46
    //三维坐标系辅助显示
47
    var AxesHelper = new THREE.AxesHelper(600);
48
    scene.add(AxesHelper);