UE4的csv文件導入、URL地址的讀取及動態材質的設置


1.csv文件的導入

UE4是可以直接導入csv文件的,其過程和其他文件資源(圖片Texture,靜態網格物體StaticMesh等)相似,但在導入過程中有一些需要注意的點。

如下圖所示

這是一份編輯好的csv文件,里面的字段名稱和數據類型都是需要統一的點,同時在所有數據行前需要有目錄ID,這是區別於第一個字段的,如果忽略ID的編輯,在導入時會出現提示:無法識別name字段數據,這是因為UE4軟件將name的數據識別成目錄ID,導致name字段的實際數據為空。

其余字段的數據只需要注意類型統一即可,一般來說最通用的就是string格式(類似於萬精油),如果需要格式轉換可以在UE4軟件中進行。

在編輯好csv文件之后保存,在UE4軟件中直接導入即可,導入之后會自動生成為一個Data Table類型的文件,如下圖所示

在UE4內容瀏覽器中創建一個Structure用來承載該Data Table的數據,必須保證變量名稱和csv文件中的字段名稱相同,避免數據混亂,數據類型也應該保持一致。

2.URL地址讀取及動態材質設置

UE4可以直接讀取到網頁的URL地址,並進行地址圖片的下載。

首先創建一個Actor藍圖,在View視圖中添加一個Cube組件,在組件內部添加3個Text文檔輸入,分別作為csv文件的name,description和hp的載體。

在內容瀏覽器中創建一個簡單的材質,並添加實例,將實例的TextureSample轉換為變量,在實例中勾選該變量,使其成為可編輯狀態,同時將該材質實例賦予Actor藍圖的Cube。

返回Actor藍圖中,創建材質實例的動態變量

同時創建一個自定義函數

給自定義函數添加4個輸入節點,分別對應csv文件的4個字段,將前面3個字段分別賦予Text,這里在連接節點時會自動進行類型轉換。將第4個關鍵數據URL地址連接到DownloadImage函數上,成功時將其下載的Image自動轉換成Texture並賦予材質實例的TextureSample變量,達到動態更換材質的效果。

往關卡中拖放3個Actor藍圖實例,打開關卡藍圖進行函數的編寫。

首先獲取到關卡中所有的Actor藍圖實例,然后讀取csv文件生成的Data Table文件數據,對其進行循環遍歷,將遍歷的結果賦予事先創建好的Structure,並將其輸出到自定義函數的節點中。

運行關卡,可以看到結果

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM