@@ -209,7 +209,7 @@ public void Export(ExportParameters exportParameters)
209209
210210 babylonScene . gravity = rawScene . GetVector3Property ( "babylonjs_gravity" ) ;
211211 ExportQuaternionsInsteadOfEulers = rawScene . GetBoolProperty ( "babylonjs_exportquaternions" , 1 ) ;
212- if ( Loader . Core . UseEnvironmentMap && Loader . Core . EnvironmentMap != null )
212+ if ( string . IsNullOrEmpty ( exportParameters . pbrEnvironment ) && Loader . Core . UseEnvironmentMap && Loader . Core . EnvironmentMap != null )
213213 {
214214 // Environment texture
215215 var environmentMap = Loader . Core . EnvironmentMap ;
@@ -224,6 +224,11 @@ public void Export(ExportParameters exportParameters)
224224 babylonScene . skyboxBlurLevel = rawScene . GetFloatProperty ( "babylonjs_skyboxBlurLevel" ) ;
225225 }
226226 }
227+ else if ( ! string . IsNullOrEmpty ( exportParameters . pbrEnvironment ) )
228+ {
229+ babylonScene . createDefaultSkybox = rawScene . GetBoolProperty ( "babylonjs_createDefaultSkybox" ) ;
230+ babylonScene . skyboxBlurLevel = rawScene . GetFloatProperty ( "babylonjs_skyboxBlurLevel" ) ;
231+ }
227232
228233 // Instantiate custom material exporters
229234 materialExporters = new Dictionary < ClassIDWrapper , IMaterialExporter > ( ) ;
@@ -343,7 +348,7 @@ public void Export(ExportParameters exportParameters)
343348
344349 // Default light
345350 bool addDefaultLight = rawScene . GetBoolProperty ( "babylonjs_addDefaultLight" , 1 ) ;
346- if ( addDefaultLight && babylonScene . LightsList . Count == 0 )
351+ if ( ! exportParameters . pbrNoLight && addDefaultLight && babylonScene . LightsList . Count == 0 )
347352 {
348353 RaiseWarning ( "No light defined" , 1 ) ;
349354 RaiseWarning ( "A default hemispheric light was added for your convenience" , 1 ) ;
@@ -471,6 +476,39 @@ public void Export(ExportParameters exportParameters)
471476 }
472477 }
473478 }
479+
480+ var sourcePath = exportParameters . pbrEnvironment ;
481+ if ( ! string . IsNullOrEmpty ( sourcePath ) ) {
482+ var fileName = Path . GetFileName ( sourcePath ) ;
483+
484+ // Allow only dds file format
485+ if ( ! fileName . EndsWith ( ".dds" ) )
486+ {
487+ RaiseWarning ( "Failed to export defauenvironment texture: only .dds format is supported." ) ;
488+ }
489+ else
490+ {
491+ RaiseMessage ( $ "texture id = Max_Babylon_Default_Environment") ;
492+ babylonScene . environmentTexture = fileName ;
493+
494+ if ( exportParameters . writeTextures )
495+ {
496+ try
497+ {
498+ var destPath = Path . Combine ( babylonScene . OutputPath , fileName ) ;
499+ if ( File . Exists ( sourcePath ) && sourcePath != destPath )
500+ {
501+ File . Copy ( sourcePath , destPath , true ) ;
502+ }
503+ }
504+ catch
505+ {
506+ // silently fails
507+ RaiseMessage ( $ "Fail to export the default env texture", 3 ) ;
508+ }
509+ }
510+ }
511+ }
474512 }
475513
476514
0 commit comments