Unity 中使用GDAL庫

GDAL(Geospatial Data Abstraction Library)是處理地理信息時很常用的一個開源庫,功能強大,支持數(shù)據(jù)格式非常廣泛。Unity是個很流行的三維游戲引擎,在地理信息行業(yè)做空間數(shù)據(jù)可視化也是個非常棒的工具。在實際工作中遇到的一個問題就是,怎么在Unity中引入GDAL的庫,從而使用GDAL提供的API以及強大的功能。

Unity開發(fā)使用的是C#語言,基于開源的.NET框架Mono。Unity中目前能使用的.NET庫的版本是2.0/3.5,運行時甚至是2.0。因此,在引入外部插件或者開發(fā)動態(tài)庫的時候,一定要選擇Unity能兼容的目標框架,如下圖所示。

目標框架的選擇.png

查看運行時版本信息的代碼是:

Debug.Log(System.Environment.Version);

或者

using System;
using System.Reflection;
Type type = Type.GetType("Mono.Runtime");
if (type != null) {
MethodInfo displayName = type.GetMethod("GetDisplayName", BindingFlags.NonPublic | BindingFlags.Static);
if (displayName != null)
Debug.Log(displayName.Invoke(null, null));
}

GDAL本身是C++實現(xiàn)的,經(jīng)過不同的接口封裝,出現(xiàn)了Python版本、C#版本等等。在選擇GDAL庫的時候,使用別人編譯好的版本即可,省的自己再去折騰,但是由于版本問題,只能選擇使用MSVC 2008(最高.NET 3.5)所編譯的動態(tài)庫,下載地址在這里:http://www.gisinternals.com/query.html?content=filelist&file=release-1500-x64-gdal-1-11-4-mapserver-6-4-3.zip

使用的時候注意,把GDAL相關的CSharp封裝庫(Managed DLL)放到Unity工程下面的Asset/Plugins文件夾下面,這樣VS2015在啟動的時候,會在CSharp工程中引用。

Plugins下面的文件

其他的dll文件(Native DLL)要保證在環(huán)境變量中,運行時搜索依賴的時候才能找得到。

要把這個路徑寫入環(huán)境變量中

參考

1.http://answers.unity3d.com/questions/924021/what-is-the-version-of-net-in-unity-5.html
2.https://docs.unity3d.com/Manual/UsingDLL.html

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 111. [動畫系統(tǒng)]如何將其他類型的動畫轉換成關鍵幀動畫? 動畫->點緩存->關鍵幀 112. [動畫]Unit...
    胤醚貔貅閱讀 13,510評論 3 88
  • [Unity]技術學習路線圖(長期更新) Unity技術面試題 一:什么是協(xié)同程序?答:在主線程運行時同時開啟另一...
    肖浩唄閱讀 23,847評論 15 244
  • 這個是我剛剛整理出的Unity面試題,為了幫助大家面試,同時幫助大家更好地復習Unity知識點,如果大家發(fā)現(xiàn)有什么...
    dingz閱讀 662評論 0 0
  • 中午吃飯被通知要帶我去沈陽 慢慢來 接近大家
    Lucky黑girl閱讀 191評論 0 0
  • 昨日在同覺寺禪堂進行了二七首次小參答疑,及法華經(jīng)方便品第七講,收到良好的反饋效果。今日將放送法華經(jīng)方便品第七講簡單...
    王乓乓閱讀 577評論 0 0

友情鏈接更多精彩內容