動態

詳情 返回 返回

為什麼場景中沒有剛體更無碰撞事件但仍有較高物理耗時 - 動態 詳情

1)為什麼場景中沒有剛體更無碰撞事件但仍有較高物理耗時
2)如何優化與Camera相關的多個RT
3)解析Unity Profiler.data的思路
4)血條信息用哪種方案性能更好


這是第435篇UWA技術知識分享的推送,精選了UWA社區的熱門話題,涵蓋了UWA問答、社區帖子等技術知識點,助力大家更全面地掌握和學習。

UWA社區主頁:community.uwa4d.com
UWA QQ羣:793972859

Physics

Q:我有個疑問:為什麼GOT性能報告和Profiler裏看物理模塊耗時都很高?但其實這時候場景裏已經沒有剛體了,按理説不會發生碰撞,只有在代碼裏用了Raycast判斷子彈命中,後來我把設置裏的物理模擬關掉,又打了包,物理耗時確實降了下來,看子彈還是能正常命中(因為是代碼調的),看粒子裏的碰撞也還是能生效。

我不明白的是:之前那麼高的物理耗時是在做什麼?可能是什麼導致的?是有一些我沒留意到的地方用了物理導致的,還是説Unity機制如此?(Unity版本2022.3.59)

A:的確,當前Unity版本的機制就是這樣,很多時候必須要關閉掉物理模擬(指把Simulation Mode改成Script)才可以節省耗時。具體機制是場景中只要Static Collider數量大於0且沒有關閉物理模擬就會有耗時,和場景中有沒有剛體、有沒有發生碰撞事件無直接關聯。

針對以上問題,有經驗的朋友歡迎轉至社區交流:
https://answer.uwa4d.com/question/684688ea682c7e5cd61bfaa0


Rendering

Q:當加載Addtive場景時,有兩個Main Camera,Camera的RT也會有兩份,請問這個有什麼好辦法嘛?

還有一個問題是正常場景只有一個Camera,卻可能有7、8個和Camera相關的RT,請問有沒有可以優化的方案?

A:針對Additive的問題,如果是兩個視角不一樣的相機,那確實沒有辦法,都會生成對應的RT,除非視角位置一致,那設計場景的時候就只用一個Camera。

場景只有一個相機的時候就會有7-8種RT的問題,這些是URP自動生成的,_CameraDepthTexture需要關閉CopyDepth。如果有用到一些後處理或者渲染Feature必須用Depth,關閉CopyDepth也會出現_CameraDepthTexture。

  • _CameraColorAttachmentB是URP代碼生成的,如果真的用不到,可以改代碼避免生成。
  • _AfterPostProcessTexture這個要看渲染情況是不是真的用到了,不太確定是不是可以去除。

針對以上問題,有經驗的朋友歡迎轉至社區交流:
https://answer.uwa4d.com/question/68468a21682c7e5cd61bfaa1


Editor

Q:請問有沒有解析Unity Profiler.data的思路?主要想借鑑一下,做一些簡單的項目自動化參數監控。

A:可以看下這篇文章:
https://blog.csdn.net/weixin_43275620/article/details/132027578

Unity 2019版本應該不支持,需要用一些特殊的方案(比如反射)做類似的事情,網上基本沒有公開的信息。

針對以上問題,有經驗的朋友歡迎轉至社區交流:
https://answer.uwa4d.com/question/68468ab4682c7e5cd61bfaa2


UI

Q:請教下,這種每個玩家上面單獨的血條信息,一個玩家是走2個DrawCall性價比高,還是3個DrawCall的性價比高?

  • 2個DrawCall:圖標資源(1DrawCall)+ 所有文本(1DrawCall),2個單獨的Canvas;
  • 3個DrawCall:圖標資源(1DrawCall)+ 固態文本(1DrawCall)+ 距離文本(1DrawCall)。

其中距離信息基本上每幀都會變動,常規場景內玩家數量在15-40之間,如果採用3個DrawCall的方案,可能這塊的總數要佔到120,感覺就有點太高了。

A:這兩個方案主要涉及的不光是渲染這邊DrawCall的開銷,還涉及到UI更新的開銷。實際兩者哪個更好可能是受這些UI元素的複雜度影響的(如文本量),因此還是建議結合項目場景實際情況,在測試場景中堆疊足夠的數量後在真機上進行相關耗時的對比。

針對以上問題,有經驗的朋友歡迎轉至社區交流:
https://answer.uwa4d.com/question/68468c41682c7e5cd61bfaa3

封面圖來源於網絡


今天的分享就到這裏。生有涯而知無涯,在漫漫的開發週期中,我們遇到的問題只是冰山一角,UWA社區願伴你同行,一起探索分享。歡迎更多的開發者加入UWA社區。

UWA官網:www.uwa4d.com
UWA社區:community.uwa4d.com
UWA學堂:edu.uwa4d.com
官方技術QQ羣:793972859

user avatar liuliqianxiao 頭像
點贊 1 用戶, 點贊了這篇動態!
點贊

Add a new 評論

Some HTML is okay.