头图

AssetBundle依赖打包有哪些注意点

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问答社区提供了回答

Scripting

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

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

感谢罗中杰@UWA问答社区提供了回答

Rendering

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

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

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

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

以上问题有哪位大拿也曾经做过类似的测试,可以来分享一下

Rendering

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

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

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

感谢纪检全@UWA问答社区提供了回答

封面图来源于网络


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

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

UWA官网:[链接]

33 声望
12 粉丝
0 条评论
推荐阅读
Wwise内存问题
Q:Unity自带的Profiler工具不能对Wwise内存进行Profiler,用Wwise Profiler只能看到一个总的Total Used,具体加载了哪些没有一个具体的表格,有什么工具或者方法可以截取音频的内存快照呢?

侑虎科技阅读 84

封面图
XSS(Cross Site Scripting)跨站脚本攻击
原理页面渲染的数据中包含可运行的脚本。类型攻击的基础类型包括:反射型(url参数直接注入)和存储型(存储到DB后读取时注入)。注入点HTML节点内容注入 {代码...} 上面的代码不会生效,如果你在浏览器控制台运...

zxl20070701阅读 296

如何在运行时优雅地Reset DOTS
1)如何在运行时优雅地Reset DOTS​2)用顶点着色器进行旋转的Shader放在Image上不能正常工作3)FrameBuffer Fetch在确定支持的手机上显示全紫4)Unity系统中,Android端判断GamePad文件在不在

侑虎科技阅读 294

封面图
Unity升级后打包AssetBundle变慢
1)Unity升级后打包AssetBundle变慢​2)打包使有些资源合成了一个资源data.unity3d,有些分开的原因3)Unreal在移动设备中无法使用Stat命令获取到GPU Thread的耗时4)Unity中如何看到相机视野范围内的剔除结果

侑虎科技阅读 286

封面图
MeshRenderer如何使用GPU Instancing的材质球正常合批
1)MeshRenderer如何使用GPU Instancing的材质球正常合批​2)关于AssetBundle加密,如何重新实现LoadFromFile接口3)移动端开放世界类型游戏中选择动态阴影技术以及优化方案组合4)Unity导出Gradle工程,如何防止...

侑虎科技阅读 263

封面图
TMP的阴影性能如何
1)TMP的阴影性能如何​2)CommandBuffer.DrawMeshInstanced无法画阴影问题3)Unity编辑器在Require大量加载Lua文件时,经常报出not enough memory4)场景制作的时候,2D资源受后处理调色影响比较大

侑虎科技阅读 205

封面图
获得将要生成的资源的GUID
1)获得将要生成的资源的GUID ​2)多个小资源包合并为大资源包的疑问 3)模型Meta中的hasExtraRoot参数的作用和历史原因 4)合批注意点

侑虎科技阅读 198

封面图

UWA官网:[链接]

33 声望
12 粉丝
宣传栏