此為教程第三部分,旨在幫助開發人員利用 unreal engine* 4 (ue4) 提公升遊戲效能。本教程對引擎內部和外部使用的一系列工具以及面向編輯器的最佳實踐加以概述,還提供了有助於提高幀速率和專案穩定性的指令碼。
指令碼優化
禁用完全透明物件
材質引數集合
材質 藍圖指令碼部分
tick、剔除和時間
大量移動、forloop 和多執行緒
資料結構
典型用途
佇列 堆疊
指令碼優化
禁用完全透明物件
即使完全透明的遊戲物件也會用到渲染繪製呼叫。為避免這些呼叫浪費,可設定引擎停止對它們的渲染。
如要使用藍圖完成該操作,ue4 需有多個系統共同協作。
材質引數集合
首先,建立乙個材質引數集合 (mpc)。這些資源儲存了可被遊戲中任何材質引用的標量引數和向量引數,可用於在遊戲中修改這些材質以產生動態效果。
可通過在 create advanced asset > materials & textures 選單中選中它來建立 mpc。
圖 32: 建立乙個材質引數集合。
在 mpc 中,可建立、命名和設定預設的標量引數和向量引數值。對於該優化,我們使用 opacity(透明度)標量引數並用其控制材質的透明度。
圖 33: 設定 opacity 標量引數
材質接下去,我們需要可利用 mpc 的材質。在該材質中,建立乙個名為 collection parameter 的 節點。通過該節點擊擇 mpc 以及其將使用的引數。
圖 34: 在材質中獲取 collection parameter 節點。
建立節點後,拖曳其 return pin(回位梢)以使用該引數的值。
圖 35: 在材質中設定 collection parameter。
藍圖指令碼部分
在建立 mpc 和材質後,我們可通過藍圖設定和獲取 mpc 的值。可通過 get/set scalar parameter value 和 get/set vector parameter value 呼叫和更改這些值。在這些節點中,選擇要使用的集合 (mpc) 以及該集合內的引數名稱。
在本示例中,我們將 opacity 標量值設定為遊戲時間的正弦值,介於 1 到 -1 之間。
圖 36: 設定和使用標量引數並在函式中使用它的值。
如要設定是否渲染物件,我們可建立名為 set visible opacity 的新函式,以 mpc 的 opacity 引數值和乙個靜態網格元件為輸入,輸出則為物件是否可見的 boolean 值。
然後我們進行是否大於近似零值的檢測,在本示例中為 0.05。檢測 0 值也可以,但接近零時玩家無法再看到物件,因此我們可在值接近零時將其關閉。不將標量引數準確設定為零有助於在出現浮點錯誤時提供緩衝,確保其被關閉(例如,將其設定為 0.0001)。
intel技術雙週刊已全面開啟:訂閱這裡。
Unreal Engine 4 渲染 (0)前言
unreal engine 4的渲染系統是無限可編輯並且支援多種平台的絕大多數的最新渲染技術。感謝節點式的編輯器,在unreal中編寫meterial是非常可行的,但是人們往往因為渲染系統的複雜性和缺乏可用的教學內容而躊躇。epic game的角色例項 這個教程會分為幾個章節,下面有章節的列表。前幾...
UnrealEngine4初始化流程
自古以來全部的遊戲引擎都分為三個大階段 init,loop,exit。ue4也不例外。首先找到帶有入口函式的檔案 runtime launch private x launch x.cpp。windows平台就將 x替換成windows。guardedmain位於 runtime launch pr...
Unreal Engine 4 各平台的大小端問題
讀取png大小時候,png檔案頭的地16個位元組開始是寬,20個位元組開始是高。但是遇到了大小端的問題,讀進來的數總是不對,做一下記錄 iplatformfile platformfile fplatformfilemanager get getplatformfile ifilehandle fi...