Sfoglia il codice sorgente

Merge pull request #14301 from Mugen87/dev11

Layers: Added serialization/ deserialization
Mr.doob 7 anni fa
parent
commit
a969a9c584

+ 1 - 0
src/core/Object3D.js

@@ -659,6 +659,7 @@ Object3D.prototype = Object.assign( Object.create( EventDispatcher.prototype ),
 		if ( this.renderOrder !== 0 ) object.renderOrder = this.renderOrder;
 		if ( JSON.stringify( this.userData ) !== '{}' ) object.userData = this.userData;
 
+		object.layers = this.layers.mask;
 		object.matrix = this.matrix.toArray();
 
 		if ( this.matrixAutoUpdate === false ) object.matrixAutoUpdate = false;

+ 1 - 0
src/loaders/ObjectLoader.js

@@ -865,6 +865,7 @@ Object.assign( ObjectLoader.prototype, {
 		if ( data.frustumCulled !== undefined ) object.frustumCulled = data.frustumCulled;
 		if ( data.renderOrder !== undefined ) object.renderOrder = data.renderOrder;
 		if ( data.userData !== undefined ) object.userData = data.userData;
+		if ( data.layers !== undefined ) object.layers.mask = data.layers;
 
 		if ( data.children !== undefined ) {
 

+ 3 - 0
test/unit/src/core/Object3D.tests.js

@@ -512,16 +512,19 @@ export default QUnit.module( 'Core', () => {
 					"receiveShadow": true,
 					"visible": false,
 					"userData": { "foo": "bar" },
+					"layers": 1,
 					"matrix": [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ],
 					"children": [
 						{
 							"uuid": "5D4E9AE8-DA61-4912-A575-71A5BE3D72CD",
 							"type": "Object3D",
+							"layers": 1,
 							"matrix": [ 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1 ],
 							"children": [
 								{
 									"uuid": "B43854B3-E970-4E85-BD41-AAF8D7BFA189",
 									"type": "Object3D",
+									"layers": 1,
 									"matrix": [ 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1 ]
 								}
 							]