【虛幻4】兩種在虛幻4中處理數據的方法

1.通過數據表(Data Table)功能處理數據。

官方文檔:中文官方文檔

工具:Visual Studio、虛幻4、Office

數據表就是以有意義且有用的方式將各種相關的數據歸類的表格, 其中,數據字段可以是任何有效的 UObject 屬性,包括資產引用。

在設計師將 CSV 文件導入數據表前,程序員必須創建行容器以指示引擎如何解釋數據。 這些數據表包含了列名,這些列名和基于代碼的UStruct結構以及它的(子)變量一一對應, 這個UStruct的結構必須繼承自FTableRowBase才可以被導入器辨識。

首列應命名為“Name”,并包含用于訪問每行以供游戲使用的名稱。隨后的列 具有標題的變量名,而且同一列的下方為行/列交叉點的數據。鑒于此格式, 每一行將與繼承自 FTableRowBase 的結構一一對應。

官方示例

例如,以下顯示了升級經驗數據的定義和向游戲提供數據的 CSV 文檔:

CSV:



2.通過數據曲線

數據曲線的工作方式與數據表相似, 但數據曲線僅支持浮點型數據。和數據表一樣,首列命名為“Name”,并包含用于訪問每行 以供游戲使用的名稱。首列后的每個列標題存儲 用于繪制曲線的 X 軸變量。該標題下的數據為給定行的 Y 軸值。鑒于此格式, 每一行將與一個代碼可訪問并沿其插入數據的曲線相應。


數據表示例2:

CVS:

Id,HP,Icon,BlueprintKey

1,100,Texture2D'/Game/FirstPerson/Textures/Test.Test',Class'/Game/FirstPerson/BP_DataTableTest.BP_DataTableTest_C'

2,200,Texture2D'/Game/FirstPerson/Textures/Test.Test',Class'/Game/FirstPerson/BP_DataTableTest.BP_DataTableTest_C'

其中BP_DataTableTest是一個繼承自AActor的一個藍圖類,BP_DataTableTest_C是實際生成的藍圖類。

對應的C++代碼如下所示:


代碼編譯完成后,我們就可以把剛才創建好的csv文件導入到編輯器中,通過Import導入文件,導入后如下圖所示:


在藍圖中的用法


在上述數據表示例中,引用的資產為延遲加載資產(TAssetPtr處理此事項,我們最終使用了LoadAsset和Load Class Asset來實現異步加載,注意右上角的時鐘圖標)。如果資產字段類型設置為UTexture,則將在加載數據表時加載所有資產。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容