项目用的是Unity5.5版本,开发的时候将相关的图集、预制对象资源都放在 Resources 目录下,而真机使用的是 StreamingAssets 目录下的资源。html
Resources(不分层级)在打包的时候,不管是否被使用,只要在里面会被打包进 apk 和 ipa 中,势必致使整个包体变大。svn
因此,咱们须要作的事情就是。 Resources 目录更名为 xx –> 打包 –> xx 再更名回 Resources,这个过程通常都是手工修改,由于发现使用 Editor 提供的方法都会致使目录名再还原的时候,预制对象的引用发生了变化。我尝试使用 RenameAsset、MoveAsset都不能满意要求3d
RenameAsset(pathName、newName) htm
https://docs.unity3d.com/ScriptReference/AssetDatabase.RenameAsset.html 对象
MoveAsset(oldPath、newPath) blog
https://docs.unity3d.com/ScriptReference/AssetDatabase.MoveAsset.html ip
最后同事经过反编译 UnityEditor.dll 文件,找到了这个方法,很神奇的方法,但和手动更名效果同样,目录名再还原回去的时候 svn 没有发生变 资源
ObjectNames.SetNameSmart(obj, "xxxx"); 开发
到此,打包动做就能够考虑用程序全自动处理了。get
网上查过一遍,没有发现更多关于 ObjectName.setNameSmart 的解释,但愿这篇文章能帮助到正好为更名烦恼的童鞋