Notifications
bg
桔子
tspersonal - Programmer
Shanghai, China
0
Likes
4
Followers
2
Connections
All
Articles0
Games0
Showcases0
Column0
Jobs0
桔子
Sep 19, 2019
最近项目检查AB资源的时候发现一个很严重的问题导致AB的包体很大,定位在了一个FBX文件自动导入材质的时候会导入一个使用StandardShader的材质。
我们都知道Standard包含成千上万的变体,然后被依赖进AB之后那么AB实际打出来的时候就会很大。图下是一个空的工程空的材质只是用到了Standard之后打AB竟然有1M大小,网上查找了很多资料,但是并没有说明StandardShader与AB的关系啊,咱也不敢在Always Included Shaders中加这个资源,加了之后打apk等包慢不说而且包体还很大。
后面根据官方提供方案,使用Shader Variant Collection进行预加载的,但是引用了Standard的材质仍然是会打进AB中,并不能解决AB包体过大的问题啊!求助各位大神!

桔子
tspersonal
3 months ago
Reply@Pengyue Li使用Shader Variant Collection的时候,给这个collection打包了吗?
放在与自己Shader脚本同目录下,对这个文件夹打的ab,自己写的shader是没什么问题的,unity内置的关联不上
Pengyue Li
Developer Relations Engineer
3 months ago
使用Shader Variant Collection的时候,给这个collection打包了吗?
桔子
tspersonal
3 months ago
Reply@Pengyue Lihi,你试一下,把所有material放到一个文件夹下,把这个文件夹打成bundle,这样,模型的bundle就只是一条引用,就不会变大了,我刚刚验证过
这一点之前试过了,模型的确不会变大。因为我们的打包方式是冗余资源才打包,检查资源的时候发现多个模型引用了一个材质(Standard)之后,模型的AB的确是正常大小,但是材质的AB就会变大。项目中的这种材质比较多,所以AB包的资源就会很大。现在就是把所有模型的自动生成的空材质的Shader换成了一个空的没有变体的Shader,AB包的大小已经减少到了正常大小。针对Shader的AB的话,如果是自己写的Shader可以用ShaderVariant来减少AB大小,但是Unity内置的Shader的话,我实在没找出什么解决方案
Pengyue Li
Developer Relations Engineer
3 months ago
hi,你试一下,把所有material放到一个文件夹下,把这个文件夹打成bundle,这样,模型的bundle就只是一条引用,就不会变大了,我刚刚验证过
View More Comments
桔子
postedan idea
Sep 2, 2019
unity2019.1.8f1 打包不管怎么修改都是一直报这个错误,不知道什么原因,请各位大佬来解决下疑难杂症。。。

About Me
666
See more
Certifications (0)
Import
See all
桔子's liked projects (7)
Following (2)
Followers (4)