From 8eccd730af8692f07b3960237cf2a12f58b9bfb8 Mon Sep 17 00:00:00 2001 From: Michael Herzog Date: Mon, 10 Jun 2024 10:56:41 +0200 Subject: [PATCH] Editor: Add shadow intensity support. (#28597) --- editor/js/Sidebar.Object.js | 18 ++++++++++++++++++ editor/js/Strings.js | 4 ++++ 2 files changed, 22 insertions(+) diff --git a/editor/js/Sidebar.Object.js b/editor/js/Sidebar.Object.js index 3f1b3610e807e2..8a3d9d2a83662e 100644 --- a/editor/js/Sidebar.Object.js +++ b/editor/js/Sidebar.Object.js @@ -298,6 +298,17 @@ function SidebarObject( editor ) { container.add( objectShadowRow ); + // shadow intensity + + const objectShadowIntensityRow = new UIRow(); + + objectShadowIntensityRow.add( new UIText( strings.getKey( 'sidebar/object/shadowIntensity' ) ).setClass( 'Label' ) ); + + const objectShadowIntensity = new UINumber( 0 ).setRange( 0, 1 ).onChange( update ); + objectShadowIntensityRow.add( objectShadowIntensity ); + + container.add( objectShadowIntensityRow ); + // shadow bias const objectShadowBiasRow = new UIRow(); @@ -580,6 +591,12 @@ function SidebarObject( editor ) { if ( object.shadow !== undefined ) { + if ( object.shadow.intensity !== objectShadowIntensity.getValue() ) { + + editor.execute( new SetValueCommand( editor, object.shadow, 'intensity', objectShadowIntensity.getValue() ) ); + + } + if ( object.shadow.bias !== objectShadowBias.getValue() ) { editor.execute( new SetValueCommand( editor, object.shadow, 'bias', objectShadowBias.getValue() ) ); @@ -846,6 +863,7 @@ function SidebarObject( editor ) { if ( object.shadow !== undefined ) { + objectShadowIntensity.setValue( object.shadow.intensity ); objectShadowBias.setValue( object.shadow.bias ); objectShadowNormalBias.setValue( object.shadow.normalBias ); objectShadowRadius.setValue( object.shadow.radius ); diff --git a/editor/js/Strings.js b/editor/js/Strings.js index a92bc7950ae559..5f03115f737d8d 100644 --- a/editor/js/Strings.js +++ b/editor/js/Strings.js @@ -143,6 +143,7 @@ function Strings( config ) { 'sidebar/object/penumbra': 'Penumbra', 'sidebar/object/decay': 'Decay', 'sidebar/object/shadow': 'Shadow', + 'sidebar/object/shadowIntensity': 'Shadow Intensity', 'sidebar/object/shadowBias': 'Shadow Bias', 'sidebar/object/shadowNormalBias': 'Shadow Normal Bias', 'sidebar/object/shadowRadius': 'Shadow Radius', @@ -543,6 +544,7 @@ function Strings( config ) { 'sidebar/object/penumbra': 'Pénombre', 'sidebar/object/decay': 'Affaiblissement', 'sidebar/object/shadow': 'Ombre', + 'sidebar/object/shadowIntensity': 'Shadow Intensity', 'sidebar/object/shadowBias': 'Biais directionnel des ombres', 'sidebar/object/shadowNormalBias': 'Shadow Normal Bias', 'sidebar/object/shadowRadius': 'Rayon de l\'ombre', @@ -943,6 +945,7 @@ function Strings( config ) { 'sidebar/object/penumbra': '边缘', 'sidebar/object/decay': '衰减', 'sidebar/object/shadow': '阴影', + 'sidebar/object/shadowIntensity': 'Shadow Intensity', 'sidebar/object/shadowBias': '阴影偏移', 'sidebar/object/shadowNormalBias': '阴影法线偏移', 'sidebar/object/shadowRadius': '阴影半径', @@ -1343,6 +1346,7 @@ function Strings( config ) { 'sidebar/object/penumbra': '半影', 'sidebar/object/decay': '減衰', 'sidebar/object/shadow': '影', + 'sidebar/object/shadowIntensity': 'Shadow Intensity', 'sidebar/object/shadowBias': '影のバイアス', 'sidebar/object/shadowNormalBias': '影のノーマルバイアス', 'sidebar/object/shadowRadius': '影の半径',