浏览代码

added onBeforeComputeObservable for skeletons

David Catuhe 8 年之前
父节点
当前提交
62f680fd6f

文件差异内容过多而无法显示
+ 6 - 6
dist/preview release/babylon.core.js


文件差异内容过多而无法显示
+ 1354 - 1349
dist/preview release/babylon.d.ts


文件差异内容过多而无法显示
+ 15 - 15
dist/preview release/babylon.js


+ 7 - 0
dist/preview release/babylon.max.js

@@ -34457,6 +34457,12 @@ var BABYLON;
             this._identity = BABYLON.Matrix.Identity();
             this._ranges = {};
             this._lastAbsoluteTransformsUpdateId = -1;
+            // Events
+            /**
+             * An event triggered before computing the skeleton's matrices
+             * @type {BABYLON.Observable}
+             */
+            this.onBeforeComputeObservable = new BABYLON.Observable();
             this.bones = [];
             this._scene = scene;
             scene.skeletons.push(this);
@@ -34622,6 +34628,7 @@ var BABYLON;
             }
         };
         Skeleton.prototype._computeTransformMatrices = function (targetMatrix, initialSkinMatrix) {
+            this.onBeforeComputeObservable.notifyObservers(this);
             for (var index = 0; index < this.bones.length; index++) {
                 var bone = this.bones[index];
                 var parentBone = bone.getParent();

文件差异内容过多而无法显示
+ 1354 - 1349
dist/preview release/babylon.module.d.ts


文件差异内容过多而无法显示
+ 15 - 15
dist/preview release/babylon.noworker.js


+ 10 - 0
src/Bones/babylon.skeleton.ts

@@ -16,6 +16,13 @@
 
         private _lastAbsoluteTransformsUpdateId = -1;
 
+        // Events
+        /**
+         * An event triggered before computing the skeleton's matrices
+         * @type {BABYLON.Observable}
+         */
+        public onBeforeComputeObservable = new Observable<Skeleton>();
+
         constructor(public name: string, public id: string, scene: Scene) {
             this.bones = [];
 
@@ -208,6 +215,9 @@
         }
 
         public _computeTransformMatrices(targetMatrix: Float32Array, initialSkinMatrix: Matrix): void {
+
+            this.onBeforeComputeObservable.notifyObservers(this);
+
             for (var index = 0; index < this.bones.length; index++) {
                 var bone = this.bones[index];
                 var parentBone = bone.getParent();