Просмотр исходного кода

Editor: Retain viewport color when rendering images/videos. (#32866)

Michael Herzog 3 недель назад
Родитель
Сommit
84ea547e53
4 измененных файлов с 11 добавлено и 0 удалено
  1. 1 0
      editor/js/Editor.js
  2. 2 0
      editor/js/Menubar.Render.js
  3. 2 0
      editor/js/Viewport.js
  4. 6 0
      editor/js/libs/app.js

+ 1 - 0
editor/js/Editor.js

@@ -134,6 +134,7 @@ function Editor() {
 
 
 	this.viewportCamera = this.camera;
 	this.viewportCamera = this.camera;
 	this.viewportShading = 'default';
 	this.viewportShading = 'default';
+	this.viewportColor = new THREE.Color();
 
 
 	this.addCamera( this.camera );
 	this.addCamera( this.camera );
 
 

+ 2 - 0
editor/js/Menubar.Render.js

@@ -210,6 +210,7 @@ class RenderImageDialog {
 
 
 			const renderer = new THREE.WebGLRenderer( { antialias: true, logarithmicDepthBuffer: true } );
 			const renderer = new THREE.WebGLRenderer( { antialias: true, logarithmicDepthBuffer: true } );
 			renderer.setSize( imageWidth.getValue(), imageHeight.getValue() );
 			renderer.setSize( imageWidth.getValue(), imageHeight.getValue() );
+			renderer.setClearColor( editor.viewportColor );
 
 
 			if ( project.shadows !== undefined ) renderer.shadowMap.enabled = project.shadows;
 			if ( project.shadows !== undefined ) renderer.shadowMap.enabled = project.shadows;
 			if ( project.shadowType !== undefined ) renderer.shadowMap.type = project.shadowType;
 			if ( project.shadowType !== undefined ) renderer.shadowMap.type = project.shadowType;
@@ -414,6 +415,7 @@ class RenderVideoDialog {
 			await player.load( editor.toJSON() );
 			await player.load( editor.toJSON() );
 			player.setPixelRatio( 1 );
 			player.setPixelRatio( 1 );
 			player.setSize( videoWidth.getValue(), videoHeight.getValue() );
 			player.setSize( videoWidth.getValue(), videoHeight.getValue() );
+			player.setClearColor( editor.viewportColor );
 
 
 			//
 			//
 
 

+ 2 - 0
editor/js/Viewport.js

@@ -385,6 +385,8 @@ function Viewport( editor ) {
 
 
 		}
 		}
 
 
+		renderer.getClearColor( editor.viewportColor );
+
 		renderer.setPixelRatio( window.devicePixelRatio );
 		renderer.setPixelRatio( window.devicePixelRatio );
 		renderer.setSize( container.dom.offsetWidth, container.dom.offsetHeight );
 		renderer.setSize( container.dom.offsetWidth, container.dom.offsetHeight );
 
 

+ 6 - 0
editor/js/libs/app.js

@@ -142,6 +142,12 @@ const APP = {
 
 
 		};
 		};
 
 
+		this.setClearColor = function ( color ) {
+
+			renderer.setClearColor( color );
+
+		};
+
 		this.setSize = function ( width, height ) {
 		this.setSize = function ( width, height ) {
 
 
 			this.width = width;
 			this.width = width;

粤ICP备19079148号