Reference
作者: https://github.com/lwwhb
文章地址: Unity2022_SUNTAIL_Stylized_Fantasy_Village_Optimization/Documents/2022年3月1日 第柒讲 资源导入工作流
资源导入工作流的三种方案
1. 手动编写工具
优点: 根据项目特点自定义安排导入工作流,并且可以和后续资源制作与大包工作流结合
缺点: 存在开发和维护成本,会让编辑器菜单界面变得复杂,对新人理解工程不友好
适合类型: 大型商业游戏团队
AssetPostprocessor:
编写编辑器代码继承AssetPostprocesser对象自定义实现一些列OnPreprocessXXX接口修改资源导入设置属性
伪代码:
1 | public class XXXAssetPostprocessor : AssetPostprocessor |
参考资料: https://docs.unity3d.com/cn/2021.2/Manual/BestPracticeUnderstandingPerformanceInUnity4.html
AssetsModifiedProcessor(新试验接口):
资源被添加、删除、修改、移动时回调该对象的OnAssetsModified接口
1 | void OnAssetsModified(string[] changedAssets, string[] addedAssets, string[] deletedAssets, AssetMoveInfo[] movedAssets) |
2. 利用Presets功能
优点: 使用简单方便,只需要Assets目录结构合理规范即可
缺点: 无法和后续工作流整合,只适合做资源导入设置。
适合类型: 小型团队或中小规模项目
参考资料:https://docs.unity3d.com/cn/2021.2/Manual/DefaultPresetsByFolder.html
使用方法
- 对相应资源制作Preset配置文件。
- 在项目配置中可以制定默认的资源导入时的配置参数。
- 考虑到误操作导致的项目资源配置信息发生改变可以使用
AssetsModifiedProcessor(新试验接口):
资源被添加、删除、修改、移动时回调该对象的OnAssetsModified接口
例如当资源被修改时,我们重新配置其资源配置为默认的Preset
1 | void OnAssetsModified(string[] changedAssets, string[] addedAssets, string[] deletedAssets, AssetMoveInfo[] movedAssets) |
3. 利用AssetGraph工具
优点: 功能全,覆盖Unity资源工作流全流程,节点化编辑,直观
缺点: 有一定上手成本,一些自定义生成节点也需要开发,不是Unity标准包,Unity新功能支持较慢。
适合类型: 任何规模项目和中大型团队
AssetGraph仓库地址:https://github.com/Unity-Technologies/AssetGraph