| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- /**
- * @author mrdoob / http://mrdoob.com/
- */
- THREE.MultiMaterial = function ( materials ) {
- this.uuid = THREE.Math.generateUUID();
- this.type = 'MultiMaterial';
- this.materials = materials instanceof Array ? materials : [];
- this.visible = true;
- };
- THREE.MultiMaterial.prototype = {
- constructor: THREE.MultiMaterial,
- toJSON: function ( meta ) {
- var output = {
- metadata: {
- version: 4.2,
- type: 'material',
- generator: 'MaterialExporter'
- },
- uuid: this.uuid,
- type: this.type,
- materials: []
- };
- var materials = this.materials;
- for ( var i = 0, l = materials.length; i < l; i ++ ) {
- var material = materials[ i ].toJSON( meta );
- delete material.metadata;
- output.materials.push( material );
- }
- output.visible = this.visible;
- return output;
- },
- clone: function () {
- var material = new this.constructor();
- for ( var i = 0; i < this.materials.length; i ++ ) {
- material.materials.push( this.materials[ i ].clone() );
- }
- material.visible = this.visible;
- return material;
- }
- };
- // backwards compatibility
- THREE.MeshFaceMaterial = THREE.MultiMaterial;
|