- 📐 可视化编辑 - 在场景窗口中直观地拖拽和排列贴图,所见即所得
- 🔍 智能筛选 - 根据 Shader 类型自动筛选场景中的物体,快速批量处理
- 🌳 八叉树空间划分 - 使用八叉树算法对场景进行智能空间划分,优化合并策略
- 💾 配置持久化 - 使用 ScriptableObject 保存合并配置,支持再次编辑和复用
- 🤖 自动排布 - 一键自动排布贴图,支持平面装箱算法优化空间利用率
- 👁️ 实时预览 - 实时预览合并结果,调整过程可视化
- 📏 UV 网格显示 - 显示 UV 网格辅助自定义排布,精确定位
- 🧲 智能吸附 - 拖拽辅助功能,自动吸附到 2 的次幂坐标点
- ⚡ 性能优化 - 自动将贴图尺寸调整为 2 的次幂,符合 Unity 最佳实践
- 键盘微调 - 使用方向键精确调整选中贴图位置
- 多格式支持 - 支持 JPG、PNG、TGA 等多种贴图格式输出
- 资源路径提示 - 显示资源相对路径,方便定位和管理
- 强制覆盖选项 - 支持重名文件强制覆盖,提高工作效率
- 自定义贴图尺寸 - 灵活设置合并后贴图的尺寸,或使用自动匹配
- 将
Assets/MergeTexturesTools文件夹复制到你的 Unity 项目中 - 在 Unity 编辑器中打开菜单:
Wonderland6627 > MergeTextureMainWindow - 开始使用!
- 选择物体 - 在场景中选择需要合并贴图的物体,或使用 Shader 筛选功能批量选择
- 添加配置 - 点击"一键加入选中物体"将物体添加到合并列表
- 排列贴图 - 在场景窗口中拖拽贴图进行排列,或使用"自动排布"功能
- 预览效果 - 在预览窗口中查看合并效果
- 保存配置 - 点击"新建配置"保存当前合并配置(可选)
- 执行合并 - 点击"合并贴图"生成最终的大贴图和对应的 Mesh 资源
- 拖拽移动 - 左键拖拽贴图进行位置调整
- 选中高亮 - 点击贴图显示橙色边框,表示当前选中
- 键盘微调 - 选中贴图后使用
↑↓←→方向键进行像素级微调 - 场景平移 - 中键拖拽平移整个场景视图
- 坐标显示 - 实时显示贴图的坐标和尺寸信息
- Shader 类型筛选 - 自动识别场景中所有 Shader 类型
- 批量选择 - 根据 Shader 类型一键选择所有符合条件的物体
- 八叉树划分 - 使用八叉树对选中物体进行空间划分,可视化显示划分结果
- 保存配置 - 将当前合并配置保存为 ScriptableObject 资源
- 加载配置 - 从已保存的配置文件中加载之前的合并设置
- 场景关联 - 配置自动关联到当前场景,便于管理
- 平面装箱 - 使用 Unity 内置的 PackTextures 算法自动排布
- 大图优先 - 支持"大图在下"排序,优化排布效果
- 空间优化 - 自动计算最小合并尺寸,提高空间利用率
新增功能
- ✨ 添加启动页面 (StartUpPage)
- 🔧 对常用编辑器 API 进行封装扩展,提升代码复用性
改进
- 🎨 优化用户界面交互体验
- 📝 完善代码结构和注释
重大更新
- 🌳 八叉树空间划分 - 利用八叉树对场景进行划分,根据材质 Shader 类型筛选合并对象
- 💾 配置持久化 - 使用 ScriptableObject 作为合并配置存档,方便再次编辑合并
- 🔄 重构代码架构,提升可维护性
新增功能
- 🖼️ 添加新贴图格式自定义选项(JPG、PNG、TGA)
- 📐 在可视化场景中显示 UV 网格,帮助自定义排布
改进
- 🎯 优化贴图排布算法
新增功能
- 👁️ 预览窗口 - 添加预览窗口,所见即所得
- 🔄 一键重新排布 - 添加"大图在下"一键重新排布功能
- 📍 给合并信息添加属性的相对路径提示
- ✅ 可以在面板中选中或移除合并对象
改进
- 🎨 优化界面布局和交互
新增功能
- 📐 2 的次幂限制 - 限制新贴图大小为 2^N 长度的正方形,有助于 Unity 性能优化
- 🧲 拖拽辅助 - 添加拖拽辅助和拖拽辅助提示(移动到 2^N 坐标点附近自动吸附)
- 🎛️ 可以设置辅助灵敏度
改进
- 📜 优化需要合并贴图列表滚动框
新增功能
- 🎨 添加选中图橘色边框提示
- ⌨️ 可以使用小键盘方向键微调选中贴图
- 📏 默认新贴图大小为最大贴图大小,可以在面板中修改
- 🔄 新贴图大小可随着图片拖动变化,窗口左上角为原点
- ⚙️ 添加面板设置,可以在面板中修改一些显示信息
核心功能
- ✅ 选择想要合并贴图的物体,加入窗口显示面板,显示其贴图
- 🖱️ 使用鼠标移动选中贴图,同步显示其 Rect 信息
- 批量处理 - 使用 Shader 筛选功能快速选择同类型物体
- 保存配置 - 对于复杂场景,建议先保存配置,方便后续调整
- 自动排布 - 对于简单场景,直接使用自动排布功能快速完成
- 手动微调 - 对于特殊需求,使用拖拽和键盘微调进行精确调整
- ✅ 启用"自动拉伸边长(2^n)"选项,确保贴图尺寸符合 Unity 最佳实践
- ✅ 合理使用自动排布功能,提高空间利用率
- ✅ 合并前检查贴图可读写性,确保合并过程顺利进行
MergeTexturesTools/
├── Assets/
│ └── MergeTexturesTools/
│ ├── MTConfig/ # 配置管理模块
│ │ ├── Editor/ # 编辑器脚本
│ │ └── MTConst.cs # 常量定义
│ ├── MTHelper/ # 工具辅助模块
│ │ └── Editor/ # 工具类和扩展方法
│ ├── MTMain/ # 主窗口模块
│ │ └── Editor/ # 主窗口、场景、预览等核心功能
│ ├── MTOctree/ # 八叉树模块
│ │ └── Editor/ # 八叉树编辑器和实现
│ └── Resources/ # 资源文件(背景图、光标等)
└── README.md
欢迎提交 Issue 和 Pull Request!
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情
Wonderland6627
如果这个项目对你有帮助,请给个 ⭐ Star!
Made with ❤️ for Unity Developers