2022-04-20|閱讀時間 ‧ 約 3 分鐘

UE4環境美術1-8,最佳化

這系列是我之前在EpicGames官方學習路徑「Journey to becoming an Environment Artist in UE4」留下來的筆記,目錄在此,歡迎參考

最佳化的目的

  • 讓遊戲能在目標平台達到目標幀數。
  • 維持合理的容量(遊戲的容量主要是受美術影響)
  • 保持穩定性

各種方向的最佳化

Polycount(多邊體數量)
一個模型中使用的多邊體的數量,我們也常會聽到Tri count,指的是三角形數量Tri count跟Polyconut是同等的概念,只是計算方式不同。當模型匯入UE,便會自動把Polygon切成Triangle,才可以進行後續的渲染。
針對Polycount最佳化該注意的方向:
  • 多邊形和頂點的總數
  • 物件與畫面的比例、與攝影機的距離
  • 物件在遊戲中重複使用的次數
  • 模型會從幾種方向觀察
  • 物件的輪廓是否夠完整

Drawcalls(繪製呼叫)
最重要的項目。繪製畫面時需要消耗運算資源的各種工作統稱Drawcall,每個Drawcall包含貼圖、材質等資訊,並會被送到GPU及GPU以進行運算。Drawcall的數量會大幅影響FPS。
簡單來說,畫面上每個物件都會增加Drawcall次數,盡可能控制Drawcall才能維持效能。用不那麼正確的方法來打比方,每個Mesh需要一個Drawcall,即使是一樣的Mesh出現兩次;每個Material都會消耗一個Drawcall。
該注意的方向:
  • 場景中用到多少模型
  • 畫面中出現了多少種材質
  • 可不可以把模型合併成一個(例如一排書的模型可以做成一整個)

LODs
把離攝影機比較遠的模型,(自動)替換成低模
可以用外部3D軟體手動製作低模,也可以在UE中自動生成。方法是在模型的Detail中選擇LOD Group,挑選需要的Preset,然後再逐步調整各種選項。
另外,也可以針對不同的LOD調整Material,例如移除LOD2某些看不到的Material以減少Drawcall

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.