Gary Hsu пре 7 година
родитељ
комит
3d23742949

+ 1 - 0
loaders/src/glTF/1.0/babylon.glTFLoader.ts

@@ -1569,6 +1569,7 @@ module BABYLON.GLTF1 {
         public useClipPlane = false;
         public compileShadowGenerators = false;
         public transparencyAsCoverage = false;
+        public _normalizeAnimationGroupsToBeginAtZero = true;
         public preprocessUrlAsync = (url: string) => Promise.resolve(url);
 
         public readonly onMeshLoadedObservable = new Observable<AbstractMesh>();

+ 4 - 1
loaders/src/glTF/2.0/babylon.glTFLoader.ts

@@ -81,6 +81,9 @@ module BABYLON.GLTF2 {
          */
         public transparencyAsCoverage = false;
 
+        /** @hidden */
+        public _normalizeAnimationGroupsToBeginAtZero = true;
+
         /**
          * Function called before loading a url referenced by the asset.
          */
@@ -927,7 +930,7 @@ module BABYLON.GLTF2 {
             }
 
             return Promise.all(promises).then(() => {
-                babylonAnimationGroup.normalize();
+                babylonAnimationGroup.normalize(this._normalizeAnimationGroupsToBeginAtZero ? 0 : null);
             });
         }
 

+ 7 - 0
loaders/src/glTF/babylon.glTFFileLoader.ts

@@ -122,6 +122,9 @@ module BABYLON {
          */
         transparencyAsCoverage: boolean;
 
+        /** @hidden */
+        _normalizeAnimationGroupsToBeginAtZero: boolean;
+
         /**
          * Function called before loading a url referenced by the asset.
          */
@@ -267,6 +270,9 @@ module BABYLON {
          */
         public transparencyAsCoverage = false;
 
+        /** @hidden */
+        public _normalizeAnimationGroupsToBeginAtZero = true;
+
         /**
          * Function called before loading a url referenced by the asset.
          */
@@ -587,6 +593,7 @@ module BABYLON {
             loader.useClipPlane = this.useClipPlane;
             loader.compileShadowGenerators = this.compileShadowGenerators;
             loader.transparencyAsCoverage = this.transparencyAsCoverage;
+            loader._normalizeAnimationGroupsToBeginAtZero = this._normalizeAnimationGroupsToBeginAtZero;
             loader.preprocessUrlAsync = this.preprocessUrlAsync;
             loader.onMeshLoadedObservable.add(mesh => this.onMeshLoadedObservable.notifyObservers(mesh));
             loader.onTextureLoadedObservable.add(texture => this.onTextureLoadedObservable.notifyObservers(texture));