对Unity的Resources目录进行改名-阿里云开发者社区

开发者社区> 人工智能> 正文

对Unity的Resources目录进行改名

简介: 项目用的是Unity5.5版本,开发的时候将相关的图集、预制对象资源都放在 Resources 目录下,而真机使用的是 StreamingAssets 目录下的资源。   Resources(不分层级)在打包的时候,无论是否被使用,只要在里面会被打包进 apk 和 ipa 中,势必导致整个包体变大。

项目用的是Unity5.5版本,开发的时候将相关的图集、预制对象资源都放在 Resources 目录下,而真机使用的是 StreamingAssets 目录下的资源。

 

Resources(不分层级)在打包的时候,无论是否被使用,只要在里面会被打包进 apk 和 ipa 中,势必导致整个包体变大。

 

所以,我们需要做的事情就是。 Resources 目录改名为 xx –> 打包 –> xx 再改名回 Resources,这个过程一般都是手工修改,因为发现使用 Editor 提供的方法都会导致目录名再还原的时候,预制对象的引用发生了变化。我尝试使用 RenameAsset、MoveAsset都不能满意要求

 

RenameAsset(pathName、newName)

https://docs.unity3d.com/ScriptReference/AssetDatabase.RenameAsset.html

 

MoveAsset(oldPath、newPath)

https://docs.unity3d.com/ScriptReference/AssetDatabase.MoveAsset.html

 

最后同事通过反编译 UnityEditor.dll 文件,找到了这个方法,很神奇的方法,但和手动改名效果一样,目录名再还原回去的时候 svn 没有发生变

ObjectNames.SetNameSmart(obj, "xxxx");

Image

 

到此,打包动作就可以考虑用程序全自动处理了。

 

网上查过一遍,没有发现更多关于 ObjectName.setNameSmart 的解释,希望这篇文章能帮助到正好为改名烦恼的童鞋 微笑

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
人工智能
使用钉钉扫一扫加入圈子
+ 订阅

了解行业+人工智能最先进的技术和实践,参与行业+人工智能实践项目

其他文章