1)Addressable卸載AssetBundle失效的疑惑
2)模型Meta中的hasExtraRoot參數(shù)的作用及其歷史原因
3)TMP為什么有多次Delegate.Combine()的GC
4)準(zhǔn)備在海外發(fā)行游戲,比較常用的身份認(rèn)證類SDK
這是第331篇UWA技術(shù)知識(shí)分享的推送,精選了UWA社區(qū)的熱門話題,涵蓋了UWA問答、社區(qū)帖子等技術(shù)知識(shí)點(diǎn),助力大家更全面地掌握和學(xué)習(xí)。
Addressable
Q:項(xiàng)目開發(fā)的版本是UnityWebGL,我有一個(gè)初包場景A,一個(gè)過渡場景Loading,兩個(gè)用Addressables打的Bundle場景B與C,都是Remote的。
我在A場景點(diǎn)擊按鈕,使用SceneManager.LoadScene到Loading,然后用Addressables.LoadSceneAsync加載Bundle場景B,并保存了B場景的句柄Handle。
進(jìn)入到B場景后,點(diǎn)擊按鈕跳轉(zhuǎn)到Loading場景,然后拿到保存的B場景句柄Handle,使用Addressables.UnloadSceneAsync與Resources.UnloadUnusedAssets,然后Addressables.LoadSceneAsync加載Bundle場景C,并把原B場景的句柄Handle賦值C場景的句柄。
進(jìn)入到C場景后,又切換B場景,在Google瀏覽器F12模式下,第二次加載B場景,網(wǎng)絡(luò)模塊下沒顯示場景B的Bundle。
給我的感覺是B場景的Bundle在跳轉(zhuǎn)C場景的時(shí)候沒有被卸載,希望能幫助解答一下這是什么原因。
我查看了源碼,Addressables.UnloadSceneAsync的底層確實(shí)是調(diào)用了AssetBundle.Unload(true);的。
A:Addressable加載過一次的AssetBundle,會(huì)下載到本地硬盤緩存,Addressable.UnloadSceneAsync和Resources.UnloadUnusedAssets這兩個(gè)操作只是會(huì)讓相關(guān)資源從Runtime內(nèi)存中卸載,不會(huì)刪除本地硬盤的內(nèi)容。
第二次加載是不用從遠(yuǎn)程服務(wù)器加載的,而是通過本地硬盤加載,所以不存在網(wǎng)絡(luò)下載了。
感謝Xuan@UWA問答社區(qū)提供了回答
Mesh
Q:模型Meta中的hasExtraRoot參數(shù)的作用是什么?有什么歷史原因么?
模型Meta中有個(gè)奇怪的參數(shù)hasExtraRoot,看起來是humanDescription旗下的,但實(shí)際會(huì)對任何類型的模型都造成影響。

這個(gè)參數(shù)無論是在API還是編輯器界面,都找不到調(diào)整的地方。當(dāng)前項(xiàng)目中一部分是0,一部分是1。觀察得出,這個(gè)在為1的情況下,會(huì)保留外層無Mesh關(guān)聯(lián)的Transform;為0的情況下會(huì)移除頂層Child不超過1,并且無Mesh的Transform。
不知道這個(gè)是怎么生成的,是不是為了適配某些歷史版本呢?
針對以上問題,有經(jīng)驗(yàn)的朋友歡迎轉(zhuǎn)至社區(qū)交流分享:
https://answer.uwa4d.com/question/64252d9f6778221ae30a0fd9
TextMeshPro
Q:TMP為什么有多次Delegate.Combine()的GC?
只有一個(gè)界面對一個(gè)TMP的OnPreRenderText進(jìn)行了一次+=的操作,為什么在其他界面也發(fā)現(xiàn)有Delegate.Combine()的GC,且每次大小不同?
下圖是唯一操作過的界面:

下圖是其他界面,有2MB的,還有些幾十KB的:

針對以上問題,有經(jīng)驗(yàn)的朋友歡迎轉(zhuǎn)至社區(qū)交流分享:
https://answer.uwa4d.com/question/6423ff146778221ae30955ca
Platform
Q:準(zhǔn)備在海外發(fā)行游戲,請問身份認(rèn)證類SDK有哪些比較常用?最好是能直接支持Unity接入的,謝謝。
A:Google、Facebook或Game Center應(yīng)該都可以。
感謝WTF-082699@UWA問答社區(qū)提供了回答
封面圖來源于網(wǎng)絡(luò)
今天的分享就到這里。當(dāng)然,生有涯而知無涯。在漫漫的開發(fā)周期中,您看到的這些問題也許都只是冰山一角,我們早已在UWA問答網(wǎng)站上準(zhǔn)備了更多的技術(shù)話題等你一起來探索和分享。歡迎熱愛進(jìn)步的你加入,也許你的方法恰能解別人的燃眉之急;而他山之“石”,也能攻你之“玉”。