2
0
Эх сурвалжийг харах

Editor: Add option for toggle rendering of helpers.

Mugen87 5 жил өмнө
parent
commit
04811c49c5

+ 1 - 0
editor/js/Editor.js

@@ -79,6 +79,7 @@ function Editor() {
 		windowResize: new Signal(),
 		windowResize: new Signal(),
 
 
 		showGridChanged: new Signal(),
 		showGridChanged: new Signal(),
+		showHelpersChanged: new Signal(),
 		refreshSidebarObject3D: new Signal(),
 		refreshSidebarObject3D: new Signal(),
 		historyChanged: new Signal(),
 		historyChanged: new Signal(),
 
 

+ 21 - 15
editor/js/Sidebar.Settings.Viewport.js

@@ -2,7 +2,7 @@
  * @author mrdoob / http://mrdoob.com/
  * @author mrdoob / http://mrdoob.com/
  */
  */
 
 
-import { UIDiv, UIBreak, UIText } from './libs/ui.js';
+import { UIDiv, UIText, UIRow } from './libs/ui.js';
 import { UIBoolean } from './libs/ui.three.js';
 import { UIBoolean } from './libs/ui.three.js';
 
 
 
 
@@ -12,28 +12,34 @@ function SidebarSettingsViewport( editor ) {
 	var strings = editor.strings;
 	var strings = editor.strings;
 
 
 	var container = new UIDiv();
 	var container = new UIDiv();
-	container.add( new UIBreak() );
 
 
-	container.add( new UIText( strings.getKey( 'sidebar/settings/viewport/grid' ) ).setWidth( '90px' ) );
+	// grid
 
 
-	var show = new UIBoolean( true ).onChange( update );
-	container.add( show );
+	var showGridRow = new UIRow();
 
 
-	/*
-	var snapSize = new UI.Number( 25 ).setWidth( '40px' ).onChange( update );
-	container.add( snapSize );
+	showGridRow.add( new UIText( strings.getKey( 'sidebar/settings/viewport/grid' ) ).setWidth( '90px' ) );
 
 
-	var snap = new UI.THREE.Boolean( false, 'snap' ).onChange( update );
-	container.add( snap );
-	*/
+	var showGrid = new UIBoolean( true ).onChange( function () {
 
 
-	function update() {
+		signals.showGridChanged.dispatch( showGrid.getValue() );
 
 
-		signals.showGridChanged.dispatch( show.getValue() );
+	} );
+	showGridRow.add( showGrid );
+	container.add( showGridRow );
 
 
-		// signals.snapChanged.dispatch( snap.getValue() === true ? snapSize.getValue() : null );
+	// helpers
 
 
-	}
+	var showHelpersRow = new UIRow();
+
+	showHelpersRow.add( new UIText( strings.getKey( 'sidebar/settings/viewport/helpers' ) ).setWidth( '90px' ) );
+
+	var showHelpers = new UIBoolean( true ).onChange( function () {
+
+		signals.showHelpersChanged.dispatch( showHelpers.getValue() );
+
+	} );
+	showHelpersRow.add( showHelpers );
+	container.add( showHelpersRow );
 
 
 	return container;
 	return container;
 
 

+ 3 - 0
editor/js/Strings.js

@@ -310,6 +310,7 @@ function Strings( config ) {
 			'sidebar/settings/shortcuts/focus': 'Focus',
 			'sidebar/settings/shortcuts/focus': 'Focus',
 
 
 			'sidebar/settings/viewport/grid': 'Grid',
 			'sidebar/settings/viewport/grid': 'Grid',
+			'sidebar/settings/viewport/helpers': 'Helpers',
 
 
 			'sidebar/history': 'History',
 			'sidebar/history': 'History',
 			'sidebar/history/persistent': 'persistent',
 			'sidebar/history/persistent': 'persistent',
@@ -628,6 +629,7 @@ function Strings( config ) {
 			'sidebar/settings/shortcuts/focus': 'Focus',
 			'sidebar/settings/shortcuts/focus': 'Focus',
 
 
 			'sidebar/settings/viewport/grid': 'Grille',
 			'sidebar/settings/viewport/grid': 'Grille',
+			'sidebar/settings/viewport/helpers': 'Helpers',
 
 
 			'sidebar/history': 'Historique',
 			'sidebar/history': 'Historique',
 			'sidebar/history/persistent': 'permanent',
 			'sidebar/history/persistent': 'permanent',
@@ -920,6 +922,7 @@ function Strings( config ) {
 			'sidebar/settings/shortcuts/focus': '聚焦',
 			'sidebar/settings/shortcuts/focus': '聚焦',
 
 
 			'sidebar/settings/viewport/grid': '网格',
 			'sidebar/settings/viewport/grid': '网格',
+			'sidebar/settings/viewport/helpers': 'Helpers',
 
 
 			'sidebar/history': '历史记录',
 			'sidebar/history': '历史记录',
 			'sidebar/history/persistent': '本地存储',
 			'sidebar/history/persistent': '本地存储',

+ 11 - 1
editor/js/Viewport.js

@@ -38,6 +38,7 @@ function Viewport( editor ) {
 	var camera = editor.camera;
 	var camera = editor.camera;
 	var scene = editor.scene;
 	var scene = editor.scene;
 	var sceneHelpers = editor.sceneHelpers;
 	var sceneHelpers = editor.sceneHelpers;
+	var showSceneHelpers = true;
 
 
 	var objects = [];
 	var objects = [];
 
 
@@ -688,6 +689,15 @@ function Viewport( editor ) {
 
 
 	} );
 	} );
 
 
+	signals.showHelpersChanged.add( function ( showHelpers ) {
+
+		showSceneHelpers = showHelpers;
+		transformControls.enabled = showHelpers;
+
+		render();
+
+	} );
+
 	signals.cameraResetted.add( updateAspectRatio );
 	signals.cameraResetted.add( updateAspectRatio );
 
 
 	// animations
 	// animations
@@ -743,7 +753,7 @@ function Viewport( editor ) {
 		if ( camera === editor.viewportCamera ) {
 		if ( camera === editor.viewportCamera ) {
 
 
 			renderer.autoClear = false;
 			renderer.autoClear = false;
-			renderer.render( sceneHelpers, camera );
+			if ( showSceneHelpers === true ) renderer.render( sceneHelpers, camera );
 			viewHelper.render( renderer );
 			viewHelper.render( renderer );
 			renderer.autoClear = true;
 			renderer.autoClear = true;