@@ -236,12 +236,11 @@ Sidebar.Material = function ( editor ) {
236
236
237
237
//
238
238
239
- var selected = null ;
240
- var selectedHasUvs = false ;
241
-
242
239
function update ( ) {
243
240
244
- var material = selected . material ;
241
+ var object = editor . selected ;
242
+ var objectHasUvs = object . geometry . faceVertexUvs [ 0 ] . length > 0 ;
243
+ var material = object . material ;
245
244
var textureWarning = false ;
246
245
247
246
if ( material ) {
@@ -255,7 +254,7 @@ Sidebar.Material = function ( editor ) {
255
254
if ( material instanceof materialClasses [ materialClass . getValue ( ) ] == false ) {
256
255
257
256
material = new materialClasses [ materialClass . getValue ( ) ] ( ) ;
258
- selected . material = material ;
257
+ object . material = material ;
259
258
260
259
}
261
260
@@ -300,13 +299,13 @@ Sidebar.Material = function ( editor ) {
300
299
301
300
var mapEnabled = materialMapEnabled . getValue ( ) === true ;
302
301
303
- if ( selectedHasUvs ) {
302
+ if ( objectHasUvs ) {
304
303
305
304
material . map = mapEnabled ? materialMap . getValue ( ) : null ;
306
305
material . needsUpdate = true ;
307
306
308
- selected . geometry . buffersNeedUpdate = true ;
309
- selected . geometry . uvsNeedUpdate = true ;
307
+ object . geometry . buffersNeedUpdate = true ;
308
+ object . geometry . uvsNeedUpdate = true ;
310
309
311
310
} else {
312
311
@@ -321,12 +320,12 @@ Sidebar.Material = function ( editor ) {
321
320
322
321
var lightMapEnabled = materialLightMapEnabled.getValue() === true;
323
322
324
- if ( selectedHasUvs ) {
323
+ if ( objectHasUvs ) {
325
324
326
325
material.lightMap = lightMapEnabled ? materialLightMap.getValue() : null;
327
326
material.needsUpdate = true;
328
- selected .geometry.buffersNeedUpdate = true;
329
- selected .geometry.uvsNeedUpdate = true;
327
+ object .geometry.buffersNeedUpdate = true;
328
+ object .geometry.uvsNeedUpdate = true;
330
329
331
330
} else {
332
331
@@ -341,13 +340,13 @@ Sidebar.Material = function ( editor ) {
341
340
342
341
var bumpMapEnabled = materialBumpMapEnabled . getValue ( ) === true ;
343
342
344
- if ( selectedHasUvs ) {
343
+ if ( objectHasUvs ) {
345
344
346
345
material . bumpMap = bumpMapEnabled ? materialBumpMap . getValue ( ) : null ;
347
346
material . bumpScale = materialBumpScale . getValue ( ) ;
348
347
material . needsUpdate = true ;
349
- selected . geometry . buffersNeedUpdate = true ;
350
- selected . geometry . uvsNeedUpdate = true ;
348
+ object . geometry . buffersNeedUpdate = true ;
349
+ object . geometry . uvsNeedUpdate = true ;
351
350
352
351
} else {
353
352
@@ -361,12 +360,12 @@ Sidebar.Material = function ( editor ) {
361
360
362
361
var normalMapEnabled = materialNormalMapEnabled . getValue ( ) === true ;
363
362
364
- if ( selectedHasUvs ) {
363
+ if ( objectHasUvs ) {
365
364
366
365
material . normalMap = normalMapEnabled ? materialNormalMap . getValue ( ) : null ;
367
366
material . needsUpdate = true ;
368
- selected . geometry . buffersNeedUpdate = true ;
369
- selected . geometry . uvsNeedUpdate = true ;
367
+ object . geometry . buffersNeedUpdate = true ;
368
+ object . geometry . uvsNeedUpdate = true ;
370
369
371
370
} else {
372
371
@@ -380,12 +379,12 @@ Sidebar.Material = function ( editor ) {
380
379
381
380
var specularMapEnabled = materialSpecularMapEnabled . getValue ( ) === true ;
382
381
383
- if ( selectedHasUvs ) {
382
+ if ( objectHasUvs ) {
384
383
385
384
material . specularMap = specularMapEnabled ? materialSpecularMap . getValue ( ) : null ;
386
385
material . needsUpdate = true ;
387
- selected . geometry . buffersNeedUpdate = true ;
388
- selected . geometry . uvsNeedUpdate = true ;
386
+ object . geometry . buffersNeedUpdate = true ;
387
+ object . geometry . uvsNeedUpdate = true ;
389
388
390
389
} else {
391
390
@@ -399,13 +398,13 @@ Sidebar.Material = function ( editor ) {
399
398
400
399
var envMapEnabled = materialEnvMapEnabled . getValue ( ) === true ;
401
400
402
- if ( selectedHasUvs ) {
401
+ if ( objectHasUvs ) {
403
402
404
403
material . envMap = envMapEnabled ? materialEnvMap . getValue ( ) : null ;
405
404
material . reflectivity = materialReflectivity . getValue ( ) ;
406
405
material . needsUpdate = true ;
407
- selected . geometry . buffersNeedUpdate = true ;
408
- selected . geometry . uvsNeedUpdate = true ;
406
+ object . geometry . buffersNeedUpdate = true ;
407
+ object . geometry . uvsNeedUpdate = true ;
409
408
410
409
} else {
411
410
@@ -475,9 +474,11 @@ Sidebar.Material = function ( editor ) {
475
474
476
475
} ;
477
476
477
+ var object = editor . selected ;
478
+
478
479
for ( var property in properties ) {
479
480
480
- properties [ property ] . setDisplay ( selected . material [ property ] !== undefined ? '' : 'none' ) ;
481
+ properties [ property ] . setDisplay ( object . material [ property ] !== undefined ? '' : 'none' ) ;
481
482
482
483
}
483
484
@@ -499,9 +500,6 @@ Sidebar.Material = function ( editor ) {
499
500
500
501
if ( object && object . material ) {
501
502
502
- selected = object ;
503
- selectedHasUvs = object . geometry . faceVertexUvs [ 0 ] . length > 0 ;
504
-
505
503
container . setDisplay ( '' ) ;
506
504
507
505
var material = object . material ;
@@ -552,14 +550,19 @@ Sidebar.Material = function ( editor ) {
552
550
553
551
if ( material . map !== undefined ) {
554
552
555
- if ( selectedHasUvs ) {
553
+ materialMapEnabled . setValue ( material . map !== null ) ;
556
554
557
- materialMapEnabled . setValue ( material . map !== null ) ;
558
- materialMap . setValue ( material . map ) ;
555
+ if ( material . map !== null ) {
559
556
560
- } else {
557
+ if ( object . geometry . faceVertexUvs [ 0 ] . length > 0 ) {
561
558
562
- console . warn ( "Can't set texture, model doesn't have texture coordinates" ) ;
559
+ materialMap . setValue ( material . map ) ;
560
+
561
+ } else {
562
+
563
+ console . warn ( "Can't set texture, model doesn't have texture coordinates" ) ;
564
+
565
+ }
563
566
564
567
}
565
568
@@ -632,9 +635,6 @@ Sidebar.Material = function ( editor ) {
632
635
633
636
} else {
634
637
635
- selected = null ;
636
- selectedHasUvs = false ;
637
-
638
638
container . setDisplay ( 'none' ) ;
639
639
640
640
}
0 commit comments