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(原羣已滿員)