由於卡牌遊戲的卡圖總數既多,
又會隨著玩家牌組不同而有非常多的排列組合,
如果每局都將所有卡圖載入肯定是不行的,
遊戲中動態載入的話,
也需要考慮到瞬間的效能消耗、以及Draw Call結合的問題。
因此上禮拜就是在研究這個了,
吸收大量資訊+實際測試後,
得出的結論是用<Image>取代<SpriteRenderer>,
在Layer管理上會直覺許多,
如Raycast Target、Filled Image Type等功能也較完善,
至於消耗效能稍多的問題就以Canvas動靜分離的方式來節省。
並且以uGUI新的SpriteAtlas來取代Packing Tag,
以新的AssetBundle、LoadFromFile + StreamingAssets
取代Resources.Load,
成功實現了將大量圖片打包成圖集後,
於每局遊戲開始前動態載入會用到的部分,
並且載入多張圖也都算是同一個Draw Call。
研究到此總算是告一段落,可以繼續往下寫了,
也順便跟大家分享一下這點心得,
若有更好的方式歡迎討論指教唷!
沒有留言:
張貼留言