Browse Source

Editor: Minimal MultiMaterial support. See #10931

Mr.doob 8 years ago
parent
commit
6252b6fa59
2 changed files with 23 additions and 2 deletions
  1. 2 1
      editor/js/Sidebar.Material.js
  2. 21 1
      editor/js/Sidebar.Scene.js

+ 2 - 1
editor/js/Sidebar.Material.js

@@ -1279,7 +1279,8 @@ Sidebar.Material = function ( editor ) {
 
 	signals.objectSelected.add( function ( object ) {
 
-		if ( object && object.material ) {
+		if ( object && object.material &&
+			Array.isArray( object.material ) === false ) {
 
 			var objectChanged = object !== currentObject;
 

+ 21 - 1
editor/js/Sidebar.Scene.js

@@ -23,6 +23,26 @@ Sidebar.Scene = function ( editor ) {
 
 	}
 
+	function getMaterialName( material ) {
+
+		if ( Array.isArray( material ) ) {
+
+			var array = [];
+
+			for ( var i = 0; i < material.length; i ++ ) {
+
+				array.push( material[ i ].name );
+
+			}
+
+			return array.join( ',' );
+
+		}
+
+		return material.name;
+
+	}
+
 	function buildHTML( object ) {
 
 		var html = '<span class="type ' + object.type + '"></span> ' + object.name;
@@ -33,7 +53,7 @@ Sidebar.Scene = function ( editor ) {
 			var material = object.material;
 
 			html += ' <span class="type ' + geometry.type + '"></span> ' + geometry.name;
-			html += ' <span class="type ' + material.type + '"></span> ' + material.name;
+			html += ' <span class="type ' + material.type + '"></span> ' + getMaterialName( material );
 
 		}