共计 2275 个字符,预计需要花费 6 分钟才能阅读完成。
1)在 UI 上制作动画的计划抉择
2)AssetBundle 依赖加载问题
3)TTF 字体如何渲染未蕴含的字符
4)Unity 2020.3 应用 HDRP 渲染管线启动我的项目很卡
这是第 278 篇 UWA 技术常识分享的推送。明天咱们持续为大家精选了若干和开发、优化相干的问题,倡议浏览工夫 10 分钟,认真读完必有播种。
UWA 问答社区:answer.uwa4d.com
UWA QQ 群 2:793972859(原群已满员)
Animation
Q:在 UI 上做动画是应用 Animation 还是 Animator 呢?或者有什么更好的计划吗?
A:之前专门对这个问题做过测试,在场景中用 3 种办法实现同样的动画。
复制 10 份和 50 份同样的动画,测试数据如下:
从耗时上看,Dotween 是最优的,所以对于比较简单的动画,倡议尽量应用 Dotween 来实现。
感激 Xuan@UWA 问答社区提供了答复
AssetBundle
Q:对于 AssetBundle 依赖加载的问题,比方一个公共资源 A,有很多(B、C、D、E…)Bundle 都援用了 A。实践上是先加载公共资源 A,再加载(B、C、D、E…),然而在不同中央可能(B、C、D、E…)会同时加载,那么 A 是不是加载了很屡次,这种状况是要如何解决呢?
A1:B、C、D、E 筹备加载 A 时,如果发现 A 已加载就跳过,加载中就追加一个回调,未加载才须要触发加载 A。
感激黄晓文 @UWA 问答社区提供了答复
A2:曾经加载过的 Bundle 要记录下来:Dictionary<string,AssetBundle>,那么天然曾经加载过的 AssetBundle 就不必再加载。
另外 AssetBundle 还要做援用计数,援用为 0 就 Unload,不懂就看 Addressable 的源码。
感激 Jee@UWA 问答社区提供了答复
A3:Unity 的 AssetBundle 治理其实还是须要本人去手动做。如果一个 AssetBundle 被反复加载,那么引擎会间接报错。所以就像楼上说的,搞一个数据结构和容器通过援用计数去全程跟踪记录 AssetBundle 的加载及应用情况。
感激黄程 @UWA 问答社区提供了答复
Font
Q:一些 TTF 字体,其中只蕴含了英文数字标点等无限的几百个字符,当我用这个字体显示中文的时候,能够显示,单并不是字体的格调,他是如何做到的?Fallback 到其余零碎默认字体吗?
A:能够浏览一下官网文档,有比拟具体的阐明:
https://docs.unity3d.com/Manu…“When Unity tries to render text with a dynamic font, but it cannot find the font (because Include Font Data was not selected, and the font is not installed on the user machine), or the font does not include the requested glyph (like when trying to render text in east Asian scripts using a latin font, or when using styled bold/italic text), then it will try each of the fonts listed in the Font Names field, to see if it can find a font matching the font name in the project (with font data included) or installed on the user machine which has the requested glyph. If none of the listed fallback fonts are present and have the requested glyph, Unity will fall back to a hard-coded global list of fallback fonts, which contains various international fonts commonly installed on the current runtime platform.”
中文版能够浏览一下这篇文章:《Unity font 钻研小结》
感激贾伟昊 @UWA 问答社区提供了答复
Editor
Q:Unity 2020.3 应用 HDRP 渲染管线启动我的项目很卡。
1. 每次进入 Play 模式时,hold on 时长特地久。
2. 大场景批改渲染时,hold on 时长特地久。(即便敞开 Always Refresh)
3. 代码批改,Unity 执行编译时长特地久。
心愿解决过相干问题的大佬们能给点意见,感激!
A:确认一下这个 Debugger 选项是否开启了,不确定这个会不会有影响。
感激 Xuan@UWA 问答社区提供了答复 ]
20211206
更多精彩问题等你答复~
- Unity 增量打包 AssetBundle 没变动的资源也会被从新打包
- 在模型有 UV2 的状况下开启 Generate Lightmap UVs
- 如何实现 AAB 包的增量更新
封面图来源于网络
明天的分享就到这里。当然,生有涯而知无涯。在漫漫的开发周期中,您看到的这些问题兴许都只是冰山一角,咱们早已在 UWA 问答网站上筹备了更多的技术话题等你一起来摸索和分享。欢送酷爱提高的你退出,兴许你的办法恰能解他人的当务之急;而他山之“石”,也能攻你之“玉”。
官网:www.uwa4d.com
官网技术博客:blog.uwa4d.com
官网问答社区:answer.uwa4d.com
UWA 学堂:edu.uwa4d.com
官网技术 QQ 群:793972859(原群已满员)