游戲現在已經融入到我們的生活中了,很多的人不管是在交友還是娛樂的時候都是玩游戲的。隨著玩游戲的人越來越多,現在市面上需要unity人才也是在不斷的擴展啊,那么學習unity需要學習什么內容呢?下面粵嵌科技的小編就來和大家說下其中的一個知識點:unity的批注處理
unity3d中批處理是什么?
1.在Unity3D中進行批處理的一個前提是相同材質的物體可以被合并,如果這些物體使用不同的材質,那么當我們把這些材質對應的紋理打成“圖集”以后可以對其進行合并,并且在合并的時候應該是用Renderer.sharedMaterial 而非 Renderer.material以保證材質是可以共享的。
2.Unity3D在屏幕上繪制一個圖形本質上調用OpneGL或者DirectX這樣的API,因此在這個過程中會產生一定程度上的性能消耗。DrawCall是OpenGL中描述繪制次數的一個量,比如一個基本的OpenGL繪制流程是設置顏色->繪圖方式->頂點坐標->繪制->結束,在繪制的過程中每幀都會重復這個過程,這就是一次DrawCall,所以當游戲中的繪制過程變得復雜的時候,就會帶來DrawCall的急劇增加,進而帶來游戲的性能問題,反映到游戲表現上就變成了優化問題。
3. 在Unity3D中采取了什么樣的措施來降低DrawCall?Unity3D使用了批處理來達到降低DrawCall的目的,批處理希望通過對物體網格的重組來獲得更高的繪制效率,試想以下如果將多個物體合并為一個物體,那么在繪制的時候只需要繪制一次就夠了,因此從這個角度上來講這樣做肯定是可以降低DrawCall的,更深刻的一種理解是這里體現了一種資源循環調用的思想,接觸過android開發的朋友們一定知道ListView控件可以對其元素進行“緩存”從而提高效率,因為我們可以發現其實ListView是對列表項進行某種程度上的“復用”從而提高了效率,在Unity3D這里同樣遵循了這個原理。
如果說你想要學習unity技術的話,那么知識點肯定就不止這么少了。粵嵌科技歡迎每位想要學習unity語言的學員來我們公司的unity培訓班進行實地考察,也可以點擊我們文章下面的獲取試聽資格按鈕來獲取我們的unity課程免費試聽資格,在試聽中可以更加深入的了解我們粵嵌科技。