Unity中調用DLL庫

DLL —— Dynamic Link Library(動態連接庫文件),這裏以Window平臺爲例。框架

 

Unity支持的兩種語言生成的DLL庫(C++、C#),這裏以C#爲例,C++網上能夠搜索很詳細的資料。編輯器

 

1) 添加引用關係spa

若是有對UnityEngine、UnityEditor的引用,須要先添加引用關係。.net

image

路徑一般位於Unity安裝目錄下的Editor/Data/Managed路徑下。3d

 

2) 生成DLL文件excel

創建項目時,選擇「類庫」。目標框架.Net Framework的版本,只能選擇3.5及如下版本code

image

 

 

3) 在項目中引用DLL文件blog

Unity會自動加載相應的DLL文件,因此DLL文件只要存放於Assets目錄下便可,固然爲了統一管理,通常放在Plugins目錄下。遊戲

 

這裏有一個須要注意的點,若是DLL文件放在Editor下,那麼只能是Editor目錄下的C#文件才能夠引用,若是想在項目運行時的C#中進行引用,那DLL文件就不能放在Editor目錄下。以上目錄只與名字相關,與層級無關,路徑能夠是Assets/a/b/c/d/e/../XX.DLLget

 

放置好DLL後,注意刷新Visual Studio中的解決方案。

 

 

參考連接:

 在 Unity 工程 (Project) 中使用 DLL(動態庫)

 unity中調用dll文件總結

在Unity3D裏使用DLL

 

 

如何查看DLL中的方法是否已經導出呢?

C#:dnSpy

C++:depends

 

 

理解如何使用以後,咱們作一個示例:在Unity加載並解析Excel文件。這裏用的庫是 EPPlus ,使用的版本是3.5

image

假設咱們只會在編輯器中使用,那麼能夠將DoNet35目錄下的二個文件,放到這樣的目錄中:ThirdParty/EPPlus/Editor  這樣就只有編輯器裏才能使用到這個類庫。使用方法也很簡單

ExcelPackage package = new ExcelPackage(new FileInfo(filePath));

List<string> keys = new List<string>();
List<string> values = new List<string>();

ExcelWorksheet sheet = package.Workbook.Worksheets[1];
int rows = sheet.Dimension.Rows;
for (int row = 2; row <= rows; row++)
{
    string key = sheet.Cells[row, 1].Value.ToString();
    string value = sheet.Cells[row, 2].Value.ToString();

    keys.Add(key);
    values.Add(value);
}

//

 

在Unity中能讀取excel就很方便了,這樣就比較方便地作技能編輯器、加載數據配置、提取遊戲中的文字等。

相關文章
相關標籤/搜索