提交 d4bb9b04 编写于 作者: M Mr.doob

Material/Object3D serialisation clean up.

上级 d4af29e8
......@@ -373,7 +373,7 @@ Object.assign( Object3D.prototype, EventDispatcher.prototype, {
}
return this;
},
getObjectById: function ( id ) {
......@@ -613,10 +613,10 @@ Object.assign( Object3D.prototype, EventDispatcher.prototype, {
object.type = this.type;
if ( this.name !== '' ) object.name = this.name;
if ( JSON.stringify( this.userData ) !== '{}' ) object.userData = this.userData;
if ( this.castShadow === true ) object.castShadow = true;
if ( this.receiveShadow === true ) object.receiveShadow = true;
if ( this.visible === false ) object.visible = false;
if ( JSON.stringify( this.userData ) !== '{}' ) object.userData = this.userData;
object.matrix = this.matrix.toArray();
......
......@@ -81,8 +81,13 @@ Object.assign( MaterialLoader.prototype, {
if ( json.wireframeLinewidth !== undefined ) material.wireframeLinewidth = json.wireframeLinewidth;
if ( json.wireframeLinecap !== undefined ) material.wireframeLinecap = json.wireframeLinecap;
if ( json.wireframeLinejoin !== undefined ) material.wireframeLinejoin = json.wireframeLinejoin;
if ( json.skinning !== undefined ) material.skinning = json.skinning;
if ( json.morphTargets !== undefined ) material.morphTargets = json.morphTargets;
if ( json.dithering !== undefined ) material.dithering = json.dithering;
if ( json.visible !== undefined ) material.visible = json.visible;
if ( json.userData !== undefined ) material.userData = json.userData;
// Deprecated
......
......@@ -61,10 +61,10 @@ function Material() {
this.visible = true;
this.needsUpdate = true;
this.userData = {};
this.needsUpdate = true;
}
Object.assign( Material.prototype, EventDispatcher.prototype, {
......@@ -155,7 +155,6 @@ Object.assign( Material.prototype, EventDispatcher.prototype, {
data.type = this.type;
if ( this.name !== '' ) data.name = this.name;
if ( JSON.stringify( this.userData ) !== '{}' ) data.userData = this.userData;
if ( this.color && this.color.isColor ) data.color = this.color.getHex();
......@@ -224,17 +223,21 @@ Object.assign( Material.prototype, EventDispatcher.prototype, {
data.depthTest = this.depthTest;
data.depthWrite = this.depthWrite;
if ( this.dithering === true ) data.dithering = true;
if ( this.alphaTest > 0 ) data.alphaTest = this.alphaTest;
if ( this.premultipliedAlpha === true ) data.premultipliedAlpha = this.premultipliedAlpha;
if ( this.wireframe === true ) data.wireframe = this.wireframe;
if ( this.wireframeLinewidth > 1 ) data.wireframeLinewidth = this.wireframeLinewidth;
if ( this.wireframeLinecap !== 'round' ) data.wireframeLinecap = this.wireframeLinecap;
if ( this.wireframeLinejoin !== 'round' ) data.wireframeLinejoin = this.wireframeLinejoin;
data.skinning = this.skinning;
data.morphTargets = this.morphTargets;
if ( this.morphTargets === true ) data.morphTargets = true;
if ( this.skinning === true ) data.skinning = true;
data.dithering = this.dithering;
if ( this.visible === false ) data.visible = false;
if ( JSON.stringify( this.userData ) !== '{}' ) data.userData = this.userData;
// TODO: Copied from Object3D.toJSON
......@@ -311,12 +314,13 @@ Object.assign( Material.prototype, EventDispatcher.prototype, {
this.dithering = source.dithering;
this.alphaTest = source.alphaTest;
this.premultipliedAlpha = source.premultipliedAlpha;
this.overdraw = source.overdraw;
this.visible = source.visible;
this.userData = JSON.parse( JSON.stringify( source.userData ) );
this.clipShadows = source.clipShadows;
this.clipIntersection = source.clipIntersection;
......@@ -334,7 +338,6 @@ Object.assign( Material.prototype, EventDispatcher.prototype, {
}
this.clippingPlanes = dstPlanes;
this.userData = JSON.parse( JSON.stringify( source.userData ) );
return this;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册