Переглянути джерело

Editor: Store equirectangular environment (#22187)

Mr.doob 4 роки тому
батько
коміт
9afaec0990
4 змінених файлів з 10 додано та 2 видалено
  1. 1 0
      editor/index.html
  2. 1 0
      editor/js/Editor.js
  3. 7 1
      editor/js/Sidebar.Scene.js
  4. 1 1
      editor/js/libs/ui.three.js

+ 1 - 0
editor/index.html

@@ -158,6 +158,7 @@
 				signals.objectRemoved.add( saveState );
 				signals.objectRemoved.add( saveState );
 				signals.materialChanged.add( saveState );
 				signals.materialChanged.add( saveState );
 				signals.sceneBackgroundChanged.add( saveState );
 				signals.sceneBackgroundChanged.add( saveState );
+				signals.sceneEnvironmentChanged.add( saveState );
 				signals.sceneFogChanged.add( saveState );
 				signals.sceneFogChanged.add( saveState );
 				signals.sceneGraphChanged.add( saveState );
 				signals.sceneGraphChanged.add( saveState );
 				signals.scriptChanged.add( saveState );
 				signals.scriptChanged.add( saveState );

+ 1 - 0
editor/js/Editor.js

@@ -132,6 +132,7 @@ Editor.prototype = {
 		this.scene.name = scene.name;
 		this.scene.name = scene.name;
 
 
 		this.scene.background = scene.background;
 		this.scene.background = scene.background;
+		this.scene.environment = scene.environment;
 		this.scene.fog = scene.fog;
 		this.scene.fog = scene.fog;
 
 
 		this.scene.userData = JSON.parse( JSON.stringify( scene.userData ) );
 		this.scene.userData = JSON.parse( JSON.stringify( scene.userData ) );

+ 7 - 1
editor/js/Sidebar.Scene.js

@@ -402,7 +402,12 @@ function SidebarScene( editor ) {
 
 
 		if ( scene.environment ) {
 		if ( scene.environment ) {
 
 
-			// TODO
+			if ( scene.environment.mapping === THREE.EquirectangularReflectionMapping ) {
+
+				environmentType.setValue( 'Equirectangular' );
+				environmentEquirectangularTexture.setValue( scene.environment );
+
+			}
 
 
 		} else {
 		} else {
 
 
@@ -434,6 +439,7 @@ function SidebarScene( editor ) {
 		}
 		}
 
 
 		refreshBackgroundUI();
 		refreshBackgroundUI();
+		refreshEnvironmentUI();
 		refreshFogUI();
 		refreshFogUI();
 
 
 	}
 	}

+ 1 - 1
editor/js/libs/ui.three.js

@@ -56,7 +56,7 @@ class UITexture extends UISpan {
 
 
 					// assuming RGBE/Radiance HDR iamge format
 					// assuming RGBE/Radiance HDR iamge format
 
 
-					const loader = new RGBELoader().setDataType( THREE.UnsignedByteType );
+					const loader = new RGBELoader().setDataType( THREE.FloatType );
 					loader.load( event.target.result, function ( hdrTexture ) {
 					loader.load( event.target.result, function ( hdrTexture ) {
 
 
 						hdrTexture.sourceFile = file.name;
 						hdrTexture.sourceFile = file.name;