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

Editor: Added normalOffset support.

Mr.doob 5 жил өмнө
parent
commit
6ed64942af

+ 35 - 17
editor/js/Sidebar.Object.js

@@ -302,17 +302,6 @@ function SidebarObject( editor ) {
 
 	container.add( objectShadowRow );
 
-	// shadow radius
-
-	var objectShadowRadiusRow = new UIRow();
-
-	objectShadowRadiusRow.add( new UIText( strings.getKey( 'sidebar/object/shadowRadius' ) ).setWidth( '90px' ) );
-
-	var objectShadowRadius = new UINumber( 1 ).onChange( update );
-	objectShadowRadiusRow.add( objectShadowRadius );
-
-	container.add( objectShadowRadiusRow );
-
 	// shadow bias
 
 	var objectShadowBiasRow = new UIRow();
@@ -324,6 +313,28 @@ function SidebarObject( editor ) {
 
 	container.add( objectShadowBiasRow );
 
+	// shadow normal offset
+
+	var objectShadowNormalOffsetRow = new UIRow();
+
+	objectShadowNormalOffsetRow.add( new UIText( strings.getKey( 'sidebar/object/shadowNormalOffset' ) ).setWidth( '90px' ) );
+
+	var objectShadowNormalOffset = new UINumber( 0 ).onChange( update );
+	objectShadowNormalOffsetRow.add( objectShadowNormalOffset );
+
+	container.add( objectShadowNormalOffsetRow );
+
+	// shadow radius
+
+	var objectShadowRadiusRow = new UIRow();
+
+	objectShadowRadiusRow.add( new UIText( strings.getKey( 'sidebar/object/shadowRadius' ) ).setWidth( '90px' ) );
+
+	var objectShadowRadius = new UINumber( 1 ).onChange( update );
+	objectShadowRadiusRow.add( objectShadowRadius );
+
+	container.add( objectShadowRadiusRow );
+
 	// visible
 
 	var objectVisibleRow = new UIRow();
@@ -594,15 +605,21 @@ function SidebarObject( editor ) {
 
 			if ( object.shadow !== undefined ) {
 
-				if ( object.shadow.radius !== objectShadowRadius.getValue() ) {
+				if ( object.shadow.bias !== objectShadowBias.getValue() ) {
 
-					editor.execute( new SetValueCommand( editor, object.shadow, 'radius', objectShadowRadius.getValue() ) );
+					editor.execute( new SetValueCommand( editor, object.shadow, 'bias', objectShadowBias.getValue() ) );
 
 				}
 
-				if ( object.shadow.bias !== objectShadowBias.getValue() ) {
+				if ( object.shadow.normalOffset !== objectShadowNormalOffset.getValue() ) {
 
-					editor.execute( new SetValueCommand( editor, object.shadow, 'bias', objectShadowBias.getValue() ) );
+					editor.execute( new SetValueCommand( editor, object.shadow, 'normalOffset', objectShadowNormalOffset.getValue() ) );
+
+				}
+
+				if ( object.shadow.radius !== objectShadowRadius.getValue() ) {
+
+					editor.execute( new SetValueCommand( editor, object.shadow, 'radius', objectShadowRadius.getValue() ) );
 
 				}
 
@@ -646,7 +663,7 @@ function SidebarObject( editor ) {
 			'decay': objectDecayRow,
 			'castShadow': objectShadowRow,
 			'receiveShadow': objectReceiveShadow,
-			'shadow': [ objectShadowRadiusRow, objectShadowBiasRow ]
+			'shadow': [ objectShadowBiasRow, objectShadowNormalOffsetRow, objectShadowRadiusRow ]
 		};
 
 		for ( var property in properties ) {
@@ -840,8 +857,9 @@ function SidebarObject( editor ) {
 
 		if ( object.shadow !== undefined ) {
 
-			objectShadowRadius.setValue( object.shadow.radius );
 			objectShadowBias.setValue( object.shadow.bias );
+			objectShadowNormalOffset.setValue( object.shadow.normalOffset );
+			objectShadowRadius.setValue( object.shadow.radius );
 
 		}
 

+ 6 - 3
editor/js/Strings.js

@@ -110,8 +110,9 @@ function Strings( config ) {
 			'sidebar/object/penumbra': 'Penumbra',
 			'sidebar/object/decay': 'Decay',
 			'sidebar/object/shadow': 'Shadow',
-			'sidebar/object/shadowRadius': 'Shadow Radius',
 			'sidebar/object/shadowBias': 'Shadow Bias',
+			'sidebar/object/shadowNormalOffset': 'Shadow Normal Offset',
+			'sidebar/object/shadowRadius': 'Shadow Radius',
 			'sidebar/object/cast': 'cast',
 			'sidebar/object/receive': 'receive',
 			'sidebar/object/visible': 'Visible',
@@ -426,8 +427,9 @@ function Strings( config ) {
 			'sidebar/object/penumbra': 'Pénombre',
 			'sidebar/object/decay': 'Affaiblissement',
 			'sidebar/object/shadow': 'Ombre',
-			'sidebar/object/shadowRadius': 'Rayon de l\'ombre',
 			'sidebar/object/shadowBias': 'Biais directionnel des ombres',
+			'sidebar/object/shadowNormalOffset': 'Shadow Normal Offset',
+			'sidebar/object/shadowRadius': 'Rayon de l\'ombre',
 			'sidebar/object/cast': 'Projète',
 			'sidebar/object/receive': 'Reçoit',
 			'sidebar/object/visible': 'Visible',
@@ -742,8 +744,9 @@ function Strings( config ) {
 			'sidebar/object/penumbra': '边缘',
 			'sidebar/object/decay': '衰减',
 			'sidebar/object/shadow': '阴影',
-			'sidebar/object/shadowRadius': '阴影半径',
 			'sidebar/object/shadowBias': '阴影偏移',
+			'sidebar/object/shadowRadius': 'Rayon de l\'ombre',
+			'sidebar/object/shadowRadius': '阴影半径',
 			'sidebar/object/cast': '产生',
 			'sidebar/object/receive': '接受',
 			'sidebar/object/visible': '可见性',