位置: 编程技术 - 正文

unity3d减小安装包大小专题(4):剔除重复资源(unity3d2019安装步骤)

编辑:rootadmin

推荐整理分享unity3d减小安装包大小专题(4):剔除重复资源(unity3d2019安装步骤),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:unity安装空间不足,unity3d怎么安装插件,unity安装空间不足,unity安装空间不足,unity3d怎么安装插件,unity3d安装步骤,unity3d修改默认安装路径,unity3d怎么安装插件,内容如对您有帮助,希望把文章链接给更多的朋友!

如果你们美术不是很给力的话,是非常容易出现重复资源的情况。那么如果能剔除,当然是最好的了。

先看下无场景的情况下apk大小:.4M(这里有一个小插曲,本来是M的,后来发现有一个jpg竟然占了兆,仔细看了下发现是贴图采用了真彩色无压缩,所以还是使用压缩的先).

然后加上所有场景文件,重新打包一个apk,大小变成:M。

然后用软件Duplicate Cleaner Free查看下重复文件。

个重复文件。

那么接下来才是重点,怎么剔除呢,直接删掉肯定不行,因为引用这个文件的所有地方都会出错。那么就要按照下面的操作:

选择一个原始模型,打开其他重复模型场景,将所有的模型改成原始模型,然后删除重复模型,确认后将原始模型拖入common。

替换fbx比较麻烦,要一个个替换,但图片就相对简单了,只要直接设置就可以了。

unity3d减小安装包大小专题(4):剔除重复资源(unity3d2019安装步骤)

替换fbx的方法:先找到原始fbx,然后替换材质,可以先拖一个正确的到场景中,全部设置材质后,在break掉和prefab的关系,就不会红色了。

然后比较恶心的是有些fbx替换后直接消失了,也没有红色的提示,这个就只能看你自己先截一张老的场景的图,然后和新的比较。

public class FindMissing:ScriptableObject{ [MenuItem("Tools/FindMissing")] static void FindMissingMaterial() { Transform[] transforms = Selection.GetTransforms (SelectionMode.TopLevel | SelectionMode.OnlyUserModifiable); foreach(Transform transform in transforms) { MeshFilter mesh = transform.GetComponent<MeshFilter>(); if(mesh != null && mesh.sharedMesh == null) { mesh.gameObject.SetActive(false); } } }}

这个脚本可以把有问题的active设置为false.

这个脚本我怕弄不回来,就暂时不管了。

然后这真心是一个体力活,诶,下次一定要和美术说好规范。

我搞了一下午,还剩个重复项,主要的问题还是因为我们场景确实很多,接近个。

明天继续吧。

又搞了一天,总算弄好了,不知道有没有漏掉的,不过没有关系,以后可以查漏补缺。看看新的apk大小吧:M

减少了&#;M,算是不错的成果了。

Unity3D关于UIRoot的屏幕适配方法 转载自:

Unity3d 杂七杂八小技巧 文章作者:松阳本文出自阿修罗道,禁止用于商业用途,转载请注明出处。原文链接:

Unity3D控件分析之UIWidget 原文:

本文链接地址:https://www.jiuchutong.com/biancheng/381581.html 转载请保留说明!

上一篇:unity3d 实现windows 消息(unity3d winform)

下一篇:Unity3D关于UIRoot的屏幕适配方法(unity3D关于公共安全内容制作)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络