Browse Source

Merge pull request #2110 from abow/master

fix for disappearing skeletonViewer
David Catuhe 8 years ago
parent
commit
38c8e74924
1 changed files with 7 additions and 0 deletions
  1. 7 0
      src/Debug/babylon.skeletonViewer.ts

+ 7 - 0
src/Debug/babylon.skeletonViewer.ts

@@ -64,6 +64,7 @@
 
         private _getLinesForBonesWithLength(bones: Bone[], meshMat: Matrix): void {
             var len = bones.length;
+            var meshPos = this.mesh.position;
             for (var i = 0; i < len; i++) {
                 var bone = bones[i];
                 var points = this._debugLines[i];
@@ -73,12 +74,15 @@
                 }
                 this._getBonePosition(points[0], bone, meshMat);
                 this._getBonePosition(points[1], bone, meshMat, 0, bone.length, 0);
+                points[0].subtractInPlace(meshPos);
+                points[1].subtractInPlace(meshPos);
             }
         }
 
         private _getLinesForBonesNoLength(bones: Bone[], meshMat: Matrix): void {
             var len = bones.length;
             var boneNum = 0;
+            var meshPos = this.mesh.position;
             for (var i = len - 1; i >= 0; i--) {
                 var childBone = bones[i];
                 var parentBone = childBone.getParent();
@@ -92,6 +96,8 @@
                 }
                 childBone.getAbsolutePositionToRef(this.mesh, points[0]);
                 parentBone.getAbsolutePositionToRef(this.mesh, points[1]);
+                points[0].subtractInPlace(meshPos);
+                points[1].subtractInPlace(meshPos);
                 boneNum++;
             }
         }
@@ -113,6 +119,7 @@
             } else {
                 BABYLON.MeshBuilder.CreateLineSystem(null, { lines: this._debugLines, updatable: true, instance: this._debugMesh }, this._scene);
             }
+            this._debugMesh.position.copyFrom(this.mesh.position);
             this._debugMesh.color = this.color;
         }