Skip to content

一个可以收集工程中的粒子特效文件并批量预览的小工具。

License

Notifications You must be signed in to change notification settings

ForkRepository-JE/VFX-Collect-Preview-In-Unity

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 

Repository files navigation

VFX-Collect-Preview-In-Unity

简介

本工具是一个 Unity 编辑器扩展,用于批量收集、管理和预览项目中的粒子特效预制体(Particle Prefab)。通过扫描指定目录下的预制体文件,开发者可以快速整理粒子资源,并在独立的预览场景中进行可视化预览,提升VFX资源的管理效率。

核心功能

收集系统

  • 多路径扫描:支持配置多个扫描路径,可同时监控项目中的不同目录
  • 自动识别:自动检测包含 ParticleSystem 组件的预制体(包括子对象中的粒子系统)
  • 去重处理:确保扫描结果中每个预制体只出现一次
  • 进度显示:显示扫描进度条,支持大型项目的批量处理

管理界面

  • 搜索过滤:支持按路径、文件名进行实时搜索
  • 排序功能:可按预制体名称或路径进行升序/降序排列
  • 分页显示:支持大量数据的分页浏览,可自定义每页显示数量
  • 批量选择:支持单选、多选和全选操作
  • 状态记忆:自动保存扫描结果和配置信息

预览系统

  • 独立预览场景:在独立场景中预览粒子效果,不影响当前工作场景
  • 网格化布局:自动按网格排列粒子预制体,支持 XZ 平面和 XY 平面两种布局模式
  • 可调间距:支持 1-100 单位的自定义间距调节
  • 分页预览:预览场景支持分页显示(每页最多100个预制体)
  • 自动聚焦:自动调整摄像机视角以合适方式显示所有预制体

预览控制中心

  • 独立控制窗口:单独的"Particle Preview"控制面板
  • 一键播放:批量播放所有粒子系统
  • 循环控制:可强制所有粒子系统进入循环播放模式
  • 视觉辅助:可显示/隐藏间隔边框和名称标签
  • Selection Outline:支持切换选择轮廓显示(兼容多版本Unity)

配置管理

  • 持久化配置:所有设置自动保存到配置文件
  • 路径管理:支持添加、删除和修改扫描路径
  • 偏好设置:记住用户的显示偏好和布局选择

使用指南

1. 安装

Editor/ParticlePrefabCollector 文件夹及其所有内容复制到你的 Unity 项目的 Assets/Editor/ 目录下。

2. 打开工具

在 Unity 菜单栏选择:ToolsParticlePrefab Collector

3. 配置扫描路径

  • 在"扫描路径"区域配置需要监控的文件夹
  • 支持添加多个路径,点击"+"按钮添加新路径
  • 修改路径后点击"保存路径设置"按钮

4. 收集粒子预制体

  • 点击"重新收集"按钮开始扫描
  • 工具会显示扫描进度和结果统计
  • 扫描完成后显示所有找到的粒子预制体

5. 预览粒子效果

  • 在列表中选择需要预览的预制体(支持多选)
  • 点击"预览"按钮进入预览模式
  • 使用"Particle Preview"控制窗口进行各种操作
  • 完成后点击"结束预览"返回正常编辑模式

系统要求

操作系统

  • Windows:Windows 10/11(推荐)
  • macOS:macOS 10.15 及以上
  • 注意:本工具为Editor扩展,仅在Unity编辑器中运行

项目要求

  • 需要包含粒子系统的预制体文件
  • 建议项目结构清晰,便于路径配置
  • 支持任意项目规模,大型项目请耐心等待扫描完成

预览控制功能详解

布局控制

  • 排列间隔:1-100单位可调,实时生效
  • 垂直排列:切换XY平面(垂直)或XZ平面(水平)布局
  • 网格排列:每行最多10个预制体,自动换行

播放控制

  • 一键播放:同时播放所有粒子系统
  • 循环播放:强制所有粒子进入循环模式
  • 重启播放:切换循环模式时自动重新播放

视觉辅助

  • 间隔边框:显示每个预制体的占用区域
  • 名称标签:在Scene视图中显示预制体名称
  • Selection Outline:高亮显示选中的对象(需Unity支持)

技术特性

性能优化

  • 分批处理:支持大型项目的分批扫描
  • 缓存机制:缓存搜索和排序结果减少重复计算
  • 内存管理:及时清理预览场景资源

兼容性

  • Unity版本:支持Unity 2020.3及以上版本
  • 跨平台:兼容Windows、macOS
  • API适配:使用反射处理版本差异功能

配置持久化

  • 自动保存:所有设置自动保存到ScriptableObject
  • 项目级配置:配置文件与项目一起保存
  • 设置恢复:重启Unity后自动恢复用户偏好

文件结构

Editor/ParticlePrefabCollector/
├── ParticlePrefabCollectorWindow.cs          # 主窗口界面和逻辑
├── ParticlePrefabPreviewControlWindow.cs     # 预览控制窗口
├── ParticlePrefabPreviewSceneHelper.cs       # 预览场景管理器
├── ParticlePrefabPreviewConfig.cs            # 配置数据结构
├── ParticlePrefabScanResult.cs               # 扫描结果数据结构

核心文件说明

  • ParticlePrefabCollectorWindow.cs:工具的主入口,负责UI渲染、用户交互、扫描逻辑和数据管理
  • ParticlePrefabPreviewSceneHelper.cs:预览场景的管理器,处理预制体实例化、布局、播放控制等
  • ParticlePrefabPreviewControlWindow.cs:独立的预览控制面板,提供预览操作界面
  • ParticlePrefabPreviewConfig.cs:可持久化的配置类,保存用户偏好设置
  • ParticlePrefabScanResult.cs:扫描结果的数据容器,记录扫描路径和结果

许可证

本项目采用开源许可证,详见 LICENSE 文件。

贡献与支持

如何贡献

欢迎为本项目贡献代码、报告问题或提出改进建议:

  1. 报告问题:在GitHub上提交Issue,详细描述问题和复现步骤
  2. 功能建议:提出新功能想法或改进建议
  3. 代码贡献:Fork项目,创建分支,提交Pull Request
  4. 文档改进:帮助完善文档和使用说明

技术支持

如有使用问题或技术疑问,可通过以下方式获得帮助:

  • 在GitHub Issues中搜索相关问题
  • 提交新的Issue描述具体问题

About

一个可以收集工程中的粒子特效文件并批量预览的小工具。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 100.0%