diff --git a/README.md b/README.md index 8f4ef623..89e8c102 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,8 @@ Supported Languages: 中文 / [繁體中文](README-tw.md) / [English](README-en ## v0.4.2即将更新 -1. 保存场景,如果设置了不保存子组件,则不保存模型内部组件。这可以加快场景保存和载入速度,减小场景大小。 +1. 保存场景,如果设置`不保存子组件`,则不保存模型内部组件。这可以加快场景保存和载入速度,减小场景大小。 +2. 保存场景,如果设置`不保存材质`,则不保存模型内部材质。这用于修改了模型内部组件名称和结构,没修改材质的情况。 ## v0.4.1更新【[更新日志](docs-dev/update/UpdateLog.md)】 diff --git a/ShadowEditor.Web/src/serialization/Converter.js b/ShadowEditor.Web/src/serialization/Converter.js index 031ff9e0..1aeb7d4a 100644 --- a/ShadowEditor.Web/src/serialization/Converter.js +++ b/ShadowEditor.Web/src/serialization/Converter.js @@ -494,11 +494,13 @@ Converter.prototype.parseScene = function (parent, children, parts, serverParts, obj.position.copy(obj1.position); obj.rotation.copy(obj1.rotation); obj.scale.copy(obj1.scale); - if (obj.material && obj1.material) { // blob:http:// - if (obj.material.map && obj.material.map.image && obj.material.map.image.src && obj.material.map.image.src.toString().startsWith('blob:http://')) { - // 这种类型材质不能被替换 - } else { - obj.material = obj1.material; + if(options.options.saveMaterial !== false) { + if (obj.material && obj1.material) { // blob:http:// + if (obj.material.map && obj.material.map.image && obj.material.map.image.src && obj.material.map.image.src.toString().startsWith('blob:http://')) { + // 这种类型材质不能被替换 + } else { + obj.material = obj1.material; + } } } } else {