فهرست منبع

Merge pull request #3159 from RaananW/viewer-small-changes

dom-example update and small bug fix, minimizing dependencies
Raanan Weber 7 سال پیش
والد
کامیت
6aa1d0e7f1
6فایلهای تغییر یافته به همراه1457 افزوده شده و 1018 حذف شده
  1. 2 4
      Viewer/dist/domExample.html
  2. 1444 1001
      Viewer/dist/viewer.js
  3. 2 4
      Viewer/package.json
  4. 4 4
      Viewer/src/configuration/loader.ts
  5. 0 2
      Viewer/src/configuration/mappers.ts
  6. 5 3
      Viewer/src/viewer/defaultViewer.ts

+ 2 - 4
Viewer/dist/domExample.html

@@ -15,9 +15,8 @@
     </head>
 
     <body>
-        <babylon extends="minimal">
-            <model url="https://ugcorigin.s-microsoft.com/12/2e77b8e3-0000-0000-7a48-6505db2f0ef9/952/1508427934473.gltf" title="The Bus!"
-                subtitle="Remix3D" thumbnail="http://d33wubrfki0l68.cloudfront.net/7e08139ddee0ec38005f4232346c7f7386831300/fd934/githubuniverse/remix3d.png">
+        <babylon extends="minimal" scene.default-camera="false">
+            <model url="https://playground.babylonjs.com/scenes/BoomBox.glb" title="GLB Model" subtitle="BabylonJS">
             </model>
             <camera>
                 <behaviors>
@@ -27,7 +26,6 @@
             <lights>
                 <light1 type="1" shadow-enabled="true" position.y="0.5" direction.y="-1" intensity="4.5">
                     <shadow-config use-blur-exponential-shadow-map="true" use-kernel-blur="true" blur-kernel="64" blur-scale="4">
-
                     </shadow-config>
                 </light1>
             </lights>

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 1444 - 1001
Viewer/dist/viewer.js


+ 2 - 4
Viewer/package.json

@@ -39,10 +39,8 @@
         "babylonjs-materials": "^3.1.0-beta3",
         "babylonjs-post-process": "^3.1.0-beta3",
         "babylonjs-procedural-textures": "^3.1.0-beta3",
+        "deepmerge": "^2.0.1",
         "es6-promise": "^4.1.1",
-        "handlebars": "^4.0.11",
-        "lodash": "^4.17.4",
-        "lodash.merge": "^4.6.0",
-        "promise-polyfill": "^6.0.2"
+        "handlebars": "^4.0.11"
     }
 }

+ 4 - 4
Viewer/src/configuration/loader.ts

@@ -2,7 +2,7 @@ import { mapperManager } from './mappers';
 import { ViewerConfiguration } from './configuration';
 import { getConfigurationType } from './types';
 
-import * as merge from 'lodash.merge';
+import deepmerge from 'deepmerge';
 
 export class ConfigurationLoader {
 
@@ -10,11 +10,11 @@ export class ConfigurationLoader {
 
     public loadConfiguration(initConfig: ViewerConfiguration = {}): Promise<ViewerConfiguration> {
 
-        let loadedConfig = merge({}, initConfig);
+        let loadedConfig = deepmerge({}, initConfig);
 
         let extendedConfiguration = getConfigurationType(loadedConfig && loadedConfig.extends);
 
-        loadedConfig = merge(extendedConfiguration, loadedConfig);
+        loadedConfig = deepmerge(extendedConfiguration, loadedConfig);
 
         if (loadedConfig.configuration) {
 
@@ -34,7 +34,7 @@ export class ConfigurationLoader {
             let mapper = mapperManager.getMapper(mapperType);
             return this.loadFile(url).then((data: any) => {
                 let parsed = mapper.map(data);
-                return merge(loadedConfig, parsed);
+                return deepmerge(loadedConfig, parsed);
             });
         } else {
             return Promise.resolve(loadedConfig);

+ 0 - 2
Viewer/src/configuration/mappers.ts

@@ -3,8 +3,6 @@ import { ViewerConfiguration } from './configuration';
 
 import { kebabToCamel } from '../helper';
 
-import * as merge from 'lodash.merge';
-
 export interface IMapper {
     map(rawSource: any): ViewerConfiguration;
 }

+ 5 - 3
Viewer/src/viewer/defaultViewer.ts

@@ -371,14 +371,16 @@ export class DefaultViewer extends AbstractViewer {
 
     private setupCamera(focusMeshes: Array<AbstractMesh> = []) {
 
+        let cameraConfig = this.configuration.camera || {};
         let sceneConfig = this.configuration.scene || { autoRotate: false, defaultCamera: true };
 
-        if (sceneConfig.defaultCamera) {
+        if (!this.configuration.camera && sceneConfig.defaultCamera) {
+            if (sceneConfig.autoRotate) {
+                this.camera.useAutoRotationBehavior = true;
+            }
             return;
         }
 
-        let cameraConfig = this.configuration.camera || {};
-
         if (cameraConfig.position) {
             this.camera.position.copyFromFloats(cameraConfig.position.x || 0, cameraConfig.position.y || 0, cameraConfig.position.z || 0);
         }