diff --git a/src/materials/ShaderMaterial.js b/src/materials/ShaderMaterial.js index 456c0ef5f4c58ad4782aeaddc6cc4aedbc3b1e2c..4c1609fe7e1750f4f68e38f584d47318b5b31072 100644 --- a/src/materials/ShaderMaterial.js +++ b/src/materials/ShaderMaterial.js @@ -123,42 +123,42 @@ ShaderMaterial.prototype.toJSON = function ( meta ) { var uniform = this.uniforms[ name ]; var value = uniform.value; - if ( value.isTexture ) { + if ( value && value.isTexture ) { data.uniforms[ name ] = { type: 't', value: value.toJSON( meta ).uuid }; - } else if ( value.isColor ) { + } else if ( value && value.isColor ) { data.uniforms[ name ] = { type: 'c', value: value.getHex() }; - } else if ( value.isVector2 ) { + } else if ( value && value.isVector2 ) { data.uniforms[ name ] = { type: 'v2', value: value.toArray() }; - } else if ( value.isVector3 ) { + } else if ( value && value.isVector3 ) { data.uniforms[ name ] = { type: 'v3', value: value.toArray() }; - } else if ( value.isVector4 ) { + } else if ( value && value.isVector4 ) { data.uniforms[ name ] = { type: 'v4', value: value.toArray() }; - } else if ( value.isMatrix4 ) { + } else if ( value && value.isMatrix4 ) { data.uniforms[ name ] = { type: 'm4',