Unity Prefab 与 Particle System Mesh 冗余

在Unity开发中,删除Shader属性或组件参数后,Prefab文件中仍可能存在序列化数据,导致资源依赖错误。文章探讨了这个问题,提出通过反向引用查找和EditorUtility.SetDirty方法来清除Prefab中的冗余引用,以避免不必要的资源打包。同时指出,ParticleSystem的无效Mesh依赖也需要特别处理,可能需要编写脚本来彻底解决。
摘要由CSDN通过智能技术生成

/

材质的Shader,或者GameObject组件的Monobehavior,在开发过程中可能会删掉一个Shader的Property或者代码的序列化参数。
这些参数被删除后,材质或者GameObject Prefab文件中,该参数的序列化数据并未被删除。

比如下图中名为TestGetDependency的组件。参数 testSubject已经从代码中删除。

但是这个GameObject的Prefab文件中,testSubject记录仍然存在。

这样会导致使用类似AssetDataBase.GetDependencies之类方法获得资源依赖时,取得testSubject 引用的物体,导致打包时包入不需要的资源。

用脚本扫描SerializedObject的方式是可以清除这些引用的,但是这样需要对应每一种类似情况单独写脚本(当前只想到Shader对应材质,代码文件对应Prefab)ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值