3

AssetBundle依赖打包有哪些注意点

 1 year ago
source link: https://blog.uwa4d.com/archives/TechSharing_318.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
AssetBundle依赖打包有哪些注意点

AssetBundle依赖打包有哪些注意点

  • 作者:admin
  • 时间:2天前
  • 浏览:93 次
  • 分类:厚积薄发

1)AssetBundle依赖打包有哪些注意点
​2)子程序集如何引用Assembly-CSharp.dll
3)Unity的线性空间下自定义贴图在PS中修改问题
4)如何关闭视锥体剔除


这是第318篇UWA技术知识分享的推送。今天我们继续为大家精选了若干和开发、优化相关的问题,建议阅读时间10分钟,认真读完必有收获。

UWA 问答社区:answer.uwa4d.com
UWA QQ群2:793972859(原群已满员)

AssetBundle

Q:AssetBundle依赖打包的注意点有哪些?

A:主要有以下几点:

  1. 运行时,AssetBundle驻留控制在40MB以内、数量在1000个以内;
  2. 使用LZ4压缩+LoadFromFile加载;
  3. 结合项目情况根据依赖树制定打包策略,如公共资源单独打AssetBundle、按使用场景和功能类型分包、独立资源打到一起、Shader/字体等(较为细碎、内存不高、高频使用、最好常驻的)资源打包到一起,启动游戏的时候常驻内存;
  4. 结合热更新需求打包;
  5. 依赖打包,追求0冗余;
  6. 粒度具体没有定值,近期经验上来看会需要尤其警惕AssetBundle包体超过10MB的。

另外,建议使用UWA的在线AssetBundle检测服务快速定位冗余资源。

感谢小ben@UWA问答社区提供了回答,欢迎大家转至社区交流:
https://answer.uwa4d.com/question/6399a1f03bd6691a9dc65ceb


Scripting

Q:如下图,新建程序集,找不到Assembly-CSharp主工程的程序集,请问有其他方法?

1.png

A:应该和Unity的脚本编译顺序有关,Assembly-CSharp.dll和Assembly-CSharp.Editor.dll是在最后,所以子程序集没法引用到。

感谢罗中杰@UWA问答社区提供了回答,欢迎大家转至社区交流:
https://answer.uwa4d.com/question/6397d2e866be116e07be83a7


Rendering

Q:我遇到了一个问题,在Unity的线性空间下,当我把一张数据贴图(黑白渐变图片)和一张数值为“808080”的灰度图在PS中用GAMA空间和线性空间分别导出为png格式的两张图片时(Unity中没有勾选sRGB选项),我发现这两张图片在Shader中的效果是一样的。但是我用电脑自带的图片查看器看两张图效果是不一样的,是Unity在对图片进行了什么设置呢?

是不是意味着我在Substance Painter输出的Roughness和Metallic(在一张图片的两个通道)可以在PS中修改而不用修改PS为线性空间,最后只要在Unity中把sRGB关掉就可以呢?

2.png
3.png

或者,我是不是可以理解为Unity在线性空间下,无论线性空间的贴图还是GAMA空间的贴图在不勾选sRGB时,Unity都会识别为线性空间的贴图,在勾选了sRGB时会识别为GAMA空间?

但是Unity是如何让一张GAMA图片和一张线性图片在不勾选sRGB的情况下保持一致的呢?

以上问题有哪位大拿也曾经做过类似的测试,可以来分享一下,欢迎转至社区交流:
https://answer.uwa4d.com/question/6399d9683bd6691a9dc68c92


Rendering

Q:Unity默认是开启的,但是我们项目类型不需要剔除,想着把它关了省些CPU,请问如何关闭?

我在UWA学堂中看到一篇文章,是说在CPU做的剔除。

4.png

A:我这两天学URP,发现URP是可以关闭CPU裁剪的,具体是调用了ScriptableRenderContext的Cull方法,这个可以通过修改URP源码实现。

感谢纪检全@UWA问答社区提供了回答,欢迎大家转至社区交流:
https://answer.uwa4d.com/question/638701a10a02a86d74656279

封面图来源于网络


今天的分享就到这里。当然,生有涯而知无涯。在漫漫的开发周期中,您看到的这些问题也许都只是冰山一角,我们早已在UWA问答网站上准备了更多的技术话题等你一起来探索和分享。欢迎热爱进步的你加入,也许你的方法恰能解别人的燃眉之急;而他山之“石”,也能攻你之“玉”。

官网:www.uwa4d.com
官方技术博客:blog.uwa4d.com
官方问答社区:answer.uwa4d.com
UWA学堂:edu.uwa4d.com
官方技术QQ群:793972859(原群已满员)


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK