═══════════════════════════════════════════════════════════════
  ZXZR 插件 - 多选对象材质批量替换功能使用说明
═══════════════════════════════════════════════════════════════

版本：2.1.0
更新日期：2025年11月
新增功能：支持多选对象批量材质替换

───────────────────────────────────────────────────────────────
📌 功能亮点
───────────────────────────────────────────────────────────────

✓ 支持多选对象批量材质替换
✓ 支持递归替换组件/组内部的材质
✓ 交互式替换工具自动识别选择集
✓ 自动统计并显示替换数量
✓ 完全兼容原有的单对象替换功能

───────────────────────────────────────────────────────────────
📖 使用方法一：菜单方式（推荐新手）
───────────────────────────────────────────────────────────────

步骤：
1. 在模型中选中多个具有相同材质的对象（Ctrl+点击多选）
2. 点击菜单：插件 → ZXZR插件 → 批量替换选中对象材质
3. 使用材质吸取工具点击要被替换的旧材质
4. 使用材质吸取工具点击新材质
5. 系统自动完成替换，并显示替换数量

适用场景：
• 批量修改多个对象的相同材质
• 快速更换整体配色方案
• 材质标准化处理

───────────────────────────────────────────────────────────────
📖 使用方法二：交互式工具方式（推荐熟练用户）
───────────────────────────────────────────────────────────────

步骤：
1. 从网站导入一个材质（自动启动材质替换工具）
   或使用菜单：插件 → ZXZR插件 → 材质吸取工具
2. 在模型中选中多个对象（支持多选）
3. 点击具有旧材质的任意面
4. 系统自动检测到选择集，批量替换所有选中对象中的相同材质

适用场景：
• 连续处理多个材质替换任务
• 直接在视图中进行快速操作
• 无需额外菜单操作

提示：
→ 如果不选择对象，点击后只替换点击的单个对象（保持原有行为）
→ 支持连续操作：替换完成后继续选择其他对象进行替换
→ 按 ESC 键退出工具

───────────────────────────────────────────────────────────────
📖 使用方法三：从网站直接导入材质（最方便）
───────────────────────────────────────────────────────────────

步骤：
1. 点击工具栏上的 ZXZR 插件图标，打开在线资源网站
2. 在网站上浏览并点击喜欢的材质文件
3. 系统自动下载材质并启动替换工具
4. 选中需要替换材质的多个对象
5. 点击具有旧材质的面，自动批量替换

优势：
• 无缝集成在线资源
• 一键下载并应用材质
• 自动启动替换工具
• 支持缓存，重复使用不重复下载

───────────────────────────────────────────────────────────────
💡 实用技巧
───────────────────────────────────────────────────────────────

技巧 1：快速多选
• 按住 Ctrl 键连续点击多个对象
• 使用选择工具拉框选择多个对象
• 在大纲视图中 Ctrl+点击多选

技巧 2：递归替换组件内部材质
• 选中组件实例后进行替换，会自动替换组件内部的材质
• 适用于批量处理相同组件的多个实例
• 一次操作即可更新所有组件实例

技巧 3：连续批量操作
• 替换完成后不要退出工具（不要按ESC）
• 继续选择其他对象，再次点击进行替换
• 提高工作效率，减少重复操作

技巧 4：精确控制替换范围
• 想只替换单个对象？不选择任何对象，直接点击
• 想批量替换？先多选对象，再点击
• 系统会自动识别你的意图

───────────────────────────────────────────────────────────────
📊 常见问题 Q&A
───────────────────────────────────────────────────────────────

Q1：为什么我选中了对象，但点击后只替换了一个？
A1：请确保：
    • 你选中的对象确实包含要替换的材质
    • 点击的面的材质与其他对象的材质一致
    • 查看状态栏的提示信息，确认替换数量

Q2：能否一次替换多种不同的材质？
A2：当前版本一次只能替换一种材质，但你可以连续多次操作：
    • 第一次：替换材质 A → B
    • 第二次：替换材质 C → D
    • 依此类推

Q3：替换后能否撤销？
A3：可以！使用 Ctrl+Z 撤销整个批量替换操作。
    • 整个批量操作作为一个事务记录
    • 撤销一次即可恢复所有对象

Q4：能否替换组件内部的材质？
A4：完全可以！系统会自动递归处理：
    • 组件本身的材质
    • 组件内部所有面的材质
    • 组件内部嵌套组件的材质

Q5：锁定的图层上的对象能否替换？
A5：不能。如果对象在锁定的图层上，需要先解锁图层。

Q6：工具启动后如何退出？
A6：按 ESC 键退出工具，或者点击其他工具按钮。

───────────────────────────────────────────────────────────────
🎯 典型应用场景
───────────────────────────────────────────────────────────────

场景 1：室内设计配色调整
• 选中所有墙面
• 批量替换墙面材质
• 快速尝试不同配色方案

场景 2：建筑外立面材质更新
• 选中建筑外墙的多个面
• 批量替换外墙材质
• 节省大量手动操作时间

场景 3：家具材质标准化
• 选中多个相同家具组件
• 批量替换家具材质
• 所有实例同步更新

场景 4：模型整体材质升级
• 选中模型中的多个对象
• 批量替换低质量材质为高质量材质
• 快速提升模型质量

───────────────────────────────────────────────────────────────
⚙️ 高级设置
───────────────────────────────────────────────────────────────

跳过已有材质功能：
• 按 S 键切换"跳过已有材质"配置
• 启用后：只替换无材质的对象
• 禁用后：替换所有匹配的材质（默认）

状态栏提示：
• 实时显示当前选中的材质
• 显示是否启用"跳过已有材质"
• 显示操作结果和替换数量

───────────────────────────────────────────────────────────────
🔄 版本对比
───────────────────────────────────────────────────────────────

旧版本（v2.0）：
✗ 不支持多选批量替换
✗ 每次只能替换一个对象
✗ 需要重复多次操作

新版本（v2.1）：
✓ 支持多选批量替换
✓ 一次可替换多个对象
✓ 自动识别选择集
✓ 显示替换数量统计
✓ 完全兼容旧版功能

───────────────────────────────────────────────────────────────
📞 技术支持
───────────────────────────────────────────────────────────────

如有问题，请参考：
• 插件菜单 → ZXZR插件 → 测试多选材质替换功能
• 插件菜单 → ZXZR插件 → 关于插件
• 详细文档：MULTI_SELECT_MATERIAL_REPLACE.md

版本历史：
• v2.1.0 (2025-11) - 新增多选批量材质替换功能
• v2.0.0 (2025-10) - 基础材质替换功能

───────────────────────────────────────────────────────────────
🎉 开始使用吧！
───────────────────────────────────────────────────────────────

现在你已经掌握了多选材质批量替换的所有功能，
开始享受高效的材质管理体验吧！

记住：
→ 菜单方式最简单（推荐新手）
→ 交互式工具最灵活（推荐熟练用户）
→ 在线导入最方便（推荐日常使用）

祝你使用愉快！🎨

═══════════════════════════════════════════════════════════════

