diff --git a/editor/index.html b/editor/index.html
index 2faf8543caea91cf76546af6192112a6f8e97798..9505fa91a5f88f84fac730135586be4a79659259 100644
--- a/editor/index.html
+++ b/editor/index.html
@@ -158,6 +158,7 @@
signals.objectRemoved.add( saveState );
signals.materialChanged.add( saveState );
signals.sceneBackgroundChanged.add( saveState );
+ signals.sceneEnvironmentChanged.add( saveState );
signals.sceneFogChanged.add( saveState );
signals.sceneGraphChanged.add( saveState );
signals.scriptChanged.add( saveState );
diff --git a/editor/js/Editor.js b/editor/js/Editor.js
index 393a621096942bfd5655747dc4ea38da307f23cd..7abf8db4e4507dc72fbd25c08020697ab7de57ca 100644
--- a/editor/js/Editor.js
+++ b/editor/js/Editor.js
@@ -132,6 +132,7 @@ Editor.prototype = {
this.scene.name = scene.name;
this.scene.background = scene.background;
+ this.scene.environment = scene.environment;
this.scene.fog = scene.fog;
this.scene.userData = JSON.parse( JSON.stringify( scene.userData ) );
diff --git a/editor/js/Sidebar.Scene.js b/editor/js/Sidebar.Scene.js
index 20edee7fded871429046348b538138d0be634bec..3a70f5f03ab796f6c9fe633263c1b31dc68a0517 100644
--- a/editor/js/Sidebar.Scene.js
+++ b/editor/js/Sidebar.Scene.js
@@ -402,7 +402,12 @@ function SidebarScene( editor ) {
if ( scene.environment ) {
- // TODO
+ if ( scene.environment.mapping === THREE.EquirectangularReflectionMapping ) {
+
+ environmentType.setValue( 'Equirectangular' );
+ environmentEquirectangularTexture.setValue( scene.environment );
+
+ }
} else {
@@ -434,6 +439,7 @@ function SidebarScene( editor ) {
}
refreshBackgroundUI();
+ refreshEnvironmentUI();
refreshFogUI();
}
diff --git a/editor/js/libs/ui.three.js b/editor/js/libs/ui.three.js
index 43c191670da81e2b4085f182ef950f3e9b7f4a7a..bc85373e4a59216af7b0d65b6345800b1fd41716 100644
--- a/editor/js/libs/ui.three.js
+++ b/editor/js/libs/ui.three.js
@@ -56,7 +56,7 @@ class UITexture extends UISpan {
// 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 ) {
hdrTexture.sourceFile = file.name;