Unity中調用DLL庫


DLL —— Dynamic Link Library(動態鏈接庫文件),這里以Window平台為例。

 

Unity支持的兩種語言生成的DLL庫(C++、C#),這里以C#為例,C++網上可以搜索很詳細的資料。

 

1) 添加引用關系

如果有對UnityEngine、UnityEditor的引用,需要先添加引用關系。

image

路徑通常位於Unity安裝目錄下的Editor/Data/Managed路徑下。

 

2) 生成DLL文件

建立項目時,選擇“類庫”。目標框架.Net Framework的版本,只能選擇3.5及以下版本

image

 

 

3) 在項目中引用DLL文件

Unity會自動加載相應的DLL文件,所以DLL文件只要存放於Assets目錄下即可,當然為了統一管理,一般放在Plugins目錄下。

 

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

 

放置好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就很方便了,這樣就比較方便地做技能編輯器、加載數據配置、提取游戲中的文字等。


免責聲明!

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



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