Jelajahi Sumber

Merge remote-tracking branch 'BabylonJS/master'

MackeyK24 7 tahun lalu
induk
melakukan
c54300387c

+ 6 - 3
Viewer/src/viewer/viewer.ts

@@ -1,7 +1,7 @@
 import { viewerManager } from './viewerManager';
 import { TemplateManager } from './../templateManager';
 import configurationLoader from './../configuration/loader';
-import { CubeTexture, Color3, IEnvironmentHelperOptions, EnvironmentHelper, Effect, SceneOptimizer, SceneOptimizerOptions, Observable, Engine, Scene, ArcRotateCamera, Vector3, SceneLoader, AbstractMesh, Mesh, HemisphericLight, Database, SceneLoaderProgressEvent, ISceneLoaderPlugin, ISceneLoaderPluginAsync, Quaternion, Light, ShadowLight, ShadowGenerator, Tags, AutoRotationBehavior, BouncingBehavior, FramingBehavior, Behavior } from 'babylonjs';
+import { CubeTexture, Color3, IEnvironmentHelperOptions, EnvironmentHelper, Effect, SceneOptimizer, SceneOptimizerOptions, Observable, Engine, Scene, ArcRotateCamera, Vector3, SceneLoader, AbstractMesh, Mesh, HemisphericLight, Database, SceneLoaderProgressEvent, ISceneLoaderPlugin, ISceneLoaderPluginAsync, Quaternion, Light, ShadowLight, ShadowGenerator, Tags, AutoRotationBehavior, BouncingBehavior, FramingBehavior, Behavior, Tools } from 'babylonjs';
 import { ViewerConfiguration, ISceneConfiguration, ISceneOptimizerConfiguration, IObserversConfiguration, IModelConfiguration, ISkyboxConfiguration, IGroundConfiguration, ILightConfiguration, ICameraConfiguration } from '../configuration/configuration';
 
 import * as deepmerge from '../../assets/deepmerge.min.js';
@@ -656,12 +656,12 @@ export abstract class AbstractViewer {
      */
     private _onTemplateLoaded(): Promise<AbstractViewer> {
         return this.onTemplatesLoaded().then(() => {
-            let autoLoadModel = !!this.configuration.model;
+            let autoLoadModel = this.configuration.model;
             return this.initEngine().then((engine) => {
                 return this.onEngineInitObservable.notifyObserversWithPromise(engine);
             }).then(() => {
                 if (autoLoadModel) {
-                    return this.loadModel().then(() => { return this.scene });
+                    return this.loadModel().catch(e => { }).then(() => { return this.scene });
                 } else {
                     return this.scene || this.initScene();
                 }
@@ -669,6 +669,9 @@ export abstract class AbstractViewer {
                 return this.onSceneInitObservable.notifyObserversWithPromise(scene);
             }).then(() => {
                 return this.onInitDoneObservable.notifyObserversWithPromise(this);
+            }).catch(e => {
+                Tools.Warn(e.toString());
+                return this;
             });
         })
     }

+ 4 - 2
Viewer/webpack.gulp.config.js

@@ -10,8 +10,10 @@ module.exports = {
         umdNamedDefine: true
     },
     externals: {
-        cannon: true,
-        vertx: true
+        cannon: 'CANNON',
+        oimo: 'OIMO',
+        vertx: true,
+        "./Oimo": "OIMO"
     },
     resolve: {
         extensions: ['.ts', '.js'],

File diff ditekan karena terlalu besar
+ 62 - 66
dist/preview release/viewer/babylon.viewer.js


File diff ditekan karena terlalu besar
+ 8 - 12322
dist/preview release/viewer/babylon.viewer.max.js


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

@@ -1512,7 +1512,9 @@ module BABYLON.GLTF2 {
         }
 
         private static _GetDrawMode(context: string, mode: number | undefined): number {
-            mode = mode || MeshPrimitiveMode.TRIANGLES;
+            if (mode == undefined) {
+                mode = MeshPrimitiveMode.TRIANGLES;
+            }
 
             switch (mode) {
                 case MeshPrimitiveMode.POINTS: return Material.PointListDrawMode;