? ,,

亚洲午夜精品视频_国产黄大片_网站av_99亚洲伊人久久精品影院红桃_91av入口_永久免费av片在线观看全网站

聯系我們

給我們留言

聯系我們

地址:福建省晉江市青陽街道洪山路國際工業設計園納金網

郵箱:info@narkii.com

電話:0595-82682267

(周一到周五, 周六周日休息)

當前位置:主頁 > 3D教程 > 圖文教程

UE4引擎的夸平臺讀寫Excel的組件:DataTable

來源: 52vr | 責任編輯:傳說的落葉 | 發布時間: 2019-06-04 08:26 | 瀏覽量:

[UE4]引擎自身提供的一種夸平臺讀寫Excel的組件:DataTable

 

UE4自身提供的一種讀寫文件的組件:UDataTable。好處就是不用自己寫fopen、fclose等 c++ stl API相關的邏輯,避開不同平臺的差異;壞處就是你想要的功能DataTable沒有實現,那么還得用fopen自己發揮。

 

讀寫excel需要導出為CSV文件,目前還不支持*.XLS格式。

 

下面官方文檔中關于用C++代碼定義行結構的用法沒有具體說明:

如果是藍圖創建DataTable,那么行結構Struct也可以用UE4提供的Struct組件,創建方式是:add new -》 Blueprints -》 Structure,然后再這個Structure中設置行結構。

如果是用C++代碼創建DataTable,直接new C++ class,選擇繼承DataTable。另外FTableRowBase可以直接定義在自定義DataTable的頭文件中,例如:

 
  1. #pragma once  
  2.   
  3. #include "Engine/DataTable.h"  
  4. #include "CharactersDT.generated.h"  
  5.   
  6. USTRUCT(BlueprintType)  
  7. struct FLevelUpData : public FTableRowBase  
  8. {  
  9.     GENERATED_USTRUCT_BODY()  
  10.   
  11. public:  
  12.   
  13.     FLevelUpData()  
  14.         : XPtoLvl(0)  
  15.         , AdditionalHP(0)  
  16.     {}  
  17.   
  18.     /** The 'Name' column is the same as the XP Level */  
  19.   
  20.     /** XP to get to the given level from the previous level */  
  21.     UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = LevelUp)  
  22.         int32 XPtoLvl;  
  23.   
  24.     /** Extra HitPoints gained at this level */  
  25.     UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = LevelUp)  
  26.         int32 AdditionalHP;  
  27.   
  28.     /** Icon to use for Achivement */  
  29.     UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = LevelUp)  
  30.         TAssetPtr<UTexture> AchievementIcon;  
  31. };  
 

 

Using excel to store gameplay data - DataTables

https://wiki.unrealengine.com/Using_excel_to_store_gameplay_data_-_DataTables

 

Data Driven Gameplay Elements

https://docs.unrealengine.com/latest/INT/Gameplay/DataDriven/index.html

 

Driving Gameplay with Data from Excel

https://forums.unrealengine.com/showthread.php?12572-Driving-Gameplay-with-Data-from-Excel

 

用藍圖操作DataTable的方法:
Unreal Engine, Datatables for Blueprints (build & Use)

https://www.youtube.com/watch?v=a8jMl69alrg

Excel to Unreal

https://www.youtube.com/watch?v=WLv67ddnzN0

 

如何用C++代碼動態加載*.CSV

如果你的表格很少的話可以使用這個自帶的DataTable,如果表格很多且會頻繁改動,那么每次改動后都要手動在UE編輯器中一個一個操作,所以,建議用C++動態加載*.csv:

 
  1. FString csvFile = FPaths::GameContentDir() + "Downloads\\DownloadedFile.csv";  
  2. if (FPaths::FileExists(csvFile ))  
  3. {  
  4.     FString FileContent;  
  5.     //Read the csv file  
  6.     FFileHelper::LoadFileToString(FileContent, *csvFile );  
  7.     TArray<FString> problems = YourDataTable->CreateTableFromCSVString(FileContent);  
  8.   
  9.     if (problems.Num() > 0)  
  10.     {  
  11.         for (int32 ProbIdx = 0; ProbIdx < problems.Num(); ProbIdx++)  
  12.         {          
  13.             //Log the errors  
  14.         }  
  15.     }  
  16.     else  
  17.     {  
  18.         //Updated Successfully  
  19.     }  
  20. }  

 參考自:

https://answers.unrealengine.com/questions/156354/how-to-load-the-csv-datatable-dynamically.html


相關文章
網友評論

您需要登錄后才可以發帖 登錄 | 立即注冊

關閉

全部評論:0條

推薦
熱門
主站蜘蛛池模板: 日韩av无码精品一二三区 | 国产亚洲精彩视频 | 国产欧美久久一区二区 | 麻豆一区二区三区精品视频 | 国产一区二区三区电影 | 国产精品丝袜高跟鞋 | 欧美xxxxx高潮喷水麻豆 | 99青草青草久热精品视频 | 无码国产色欲xxxx视频 | 男女同床爽爽视频免费 | 日本熟妇色熟妇在线视频播放 | 成人自拍视频在线观看 | 任我鲁这里有精品视频在线播 | 福利午夜 | 国产精品视频99 | 朝鲜女人大白屁股ass孕交 | 高清一级毛片一本到免费观看 | 精品日韩欧美一区二区三区 | 国产69精品久久久久久人妻精品 | 黄色免费视屏 | 特黄特黄视频 | 影音先锋在线_让看片永远陪伴 | 搡老熟女中国老太 | 中文在线观看视频 | 全免费a级毛片免费看视频免 | 午夜拍拍 | 亚洲成av人片在线观看无 | 亚洲精品国产一区二区三区在 | 亚洲欧美综合另类 | 欧美成国产精品 | 国产一级片 | 成人免费网站 | 欧美另类激情 | 综合欧美日韩一区二区三区 | asmr国产一区在线 | 亚洲成人套图 | a级毛片视频免费观看 | 极品女神西比尔久久精品 | 日韩国产人妻一区二区三区 | 国产精品久久久久久麻豆一区 | 欧美激情一区二区三区成人 |