Przeglądaj źródła

Editor: Fix canvas reference for video rendering. (#32864)

ycw 4 tygodni temu
rodzic
commit
625541ebbc
2 zmienionych plików z 5 dodań i 2 usunięć
  1. 2 2
      editor/js/Menubar.Render.js
  2. 3 0
      editor/js/libs/app.js

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

@@ -497,7 +497,7 @@ class RenderVideoDialog {
 
 			const qualityToBitrate = {
 				'low': 2e6,
-				'medium': 5e6, 
+				'medium': 5e6,
 				'high': 10e6,
 				'ultra': 20e6
 			};
@@ -526,7 +526,7 @@ class RenderVideoDialog {
 				player.render( currentTime );
 
 				const bitmap = await createImageBitmap( canvas );
-				const frame = new VideoFrame( bitmap, { timestamp: i * ( 1_000_000 / fps ) } );
+				const frame = new VideoFrame( bitmap, { timestamp: i * ( 1e6 / fps ) } );
 
 				videoEncoder.encode( frame, { keyFrame: i % fps === 0 } );
 				frame.close();

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

@@ -12,6 +12,7 @@ const APP = {
 		const dom = document.createElement( 'div' );
 
 		this.dom = dom;
+		this.canvas = null;
 
 		this.width = 500;
 		this.height = 500;
@@ -26,6 +27,7 @@ const APP = {
 
 				renderer.dispose();
 				dom.removeChild( renderer.domElement );
+				this.canvas = null;
 
 			}
 
@@ -49,6 +51,7 @@ const APP = {
 			if ( project.toneMappingExposure !== undefined ) renderer.toneMappingExposure = project.toneMappingExposure;
 
 			dom.appendChild( renderer.domElement );
+			this.canvas = renderer.domElement;
 
 			this.setScene( loader.parse( json.scene ) );
 			this.setCamera( loader.parse( json.camera ) );

粤ICP备19079148号