@@ -195,6 +195,18 @@ Sidebar.Material = function ( editor ) {
195195
196196 container . add ( materialMetalnessRow ) ;
197197
198+ // sheen
199+
200+ var materialSheenRow = new UI . Row ( ) ;
201+ var materialSheenEnabled = new UI . Checkbox ( false ) . onChange ( update ) ;
202+ var materialSheen = new UI . Color ( ) . setHexValue ( 0x000000 ) . onChange ( update ) ;
203+
204+ materialSheenRow . add ( new UI . Text ( strings . getKey ( 'sidebar/material/sheen' ) ) . setWidth ( '90px' ) )
205+ materialSheenRow . add ( materialSheenEnabled ) ;
206+ materialSheenRow . add ( materialSheen ) ;
207+
208+ container . add ( materialSheenRow ) ;
209+
198210 // emissive
199211
200212 var materialEmissiveRow = new UI . Row ( ) ;
@@ -636,6 +648,22 @@ Sidebar.Material = function ( editor ) {
636648
637649 }
638650
651+ if ( material . sheen !== undefined ) {
652+
653+ var sheenEnabled = materialSheenEnabled . getValue ( ) === true ;
654+
655+ var sheen = sheenEnabled ? new THREE . Color ( materialSheen . getHexValue ( ) ) : null ;
656+
657+ editor . execute ( new SetMaterialValueCommand ( editor , currentObject , 'sheen' , sheen , currentMaterialSlot ) ) ;
658+
659+ }
660+
661+ if ( material . sheen !== undefined && material . sheen !== null && material . sheen . getHex ( ) !== materialSheen . getHexValue ( ) ) {
662+
663+ editor . execute ( new SetMaterialColorCommand ( editor , currentObject , 'sheen' , materialSheen . getHexValue ( ) , currentMaterialSlot ) ) ;
664+
665+ }
666+
639667 if ( material . emissive !== undefined && material . emissive . getHex ( ) !== materialEmissive . getHexValue ( ) ) {
640668
641669 editor . execute ( new SetMaterialColorCommand ( editor , currentObject , 'emissive' , materialEmissive . getHexValue ( ) , currentMaterialSlot ) ) ;
@@ -1157,6 +1185,7 @@ Sidebar.Material = function ( editor ) {
11571185 'roughness' : materialRoughnessRow ,
11581186 'metalness' : materialMetalnessRow ,
11591187 'emissive' : materialEmissiveRow ,
1188+ 'sheen' : materialSheenRow ,
11601189 'specular' : materialSpecularRow ,
11611190 'shininess' : materialShininessRow ,
11621191 'clearcoat' : materialClearcoatRow ,
@@ -1268,6 +1297,13 @@ Sidebar.Material = function ( editor ) {
12681297 materialMetalness . setValue ( material . metalness ) ;
12691298
12701299 }
1300+
1301+ if ( material . sheen !== undefined && material . sheen !== null ) {
1302+
1303+ materialSheenEnabled . setValue ( true ) ;
1304+ materialSheen . setHexValue ( material . sheen . getHexString ( ) ) ;
1305+
1306+ }
12711307
12721308 if ( material . emissive !== undefined ) {
12731309
0 commit comments