AirSim是微軟基於UE4(後來也添加了Unity工程)開發的一款開源模擬器,可以模擬無人機、無人車。源碼地址:
https://github.com/Microsoft/AirSim
下面簡單說下編譯過程(假設已經安裝了VS、UE4等環境),編譯該項目分爲兩部分,第一部分是編譯依賴庫工程,第二部分是編譯UE4工程,這裏主要介紹依賴庫工程的編譯。
下載源碼解壓後可以看到AirSim目錄下有一個build.cmd文件,這個就是依賴庫工程的編譯命令文件,使用文本方式打開,可以看到如下所示的內容
從這些命令可以看出編譯的過程,文件中也有註釋,將主要步驟的註釋提取出來就是下面幾步
REM //---------- Check cmake version ----------
REM //---------- get rpclib ----------
REM //---------- Build rpclib ------------
REM //---------- copy rpclib binaries and include folder inside AirLib folder ----------
REM //---------- get High PolyCount SUV Car Model ------------
REM //---------- get Eigen library ----------
REM //---------- now we have all dependencies to compile AirSim.sln which will also compile MavLinkCom ----------
REM //---------- copy binaries and include for MavLinkCom in deps ----------
REM //---------- all our output goes to Unreal/Plugin folder ----------
REM //---------- done building ----------
編譯過程中會下載rpclib、eigen依賴庫,也會下載SUVCar的UE4資源。
打開"x64 Native Tools Command Prompt for VS 2017"工具
進入到AirSim目錄並運行build.cmd命令
首先會下載一些文件(build.cmd後加上--no-full-poly-car參數可以不下載車輛資源),如下圖所示
可能會出現下圖所示的錯誤
在網上找了下原因,是因爲half.h中有兩個全角雙引號,改爲半角雙引號即可
編譯成功後AirSim/Unreal/Plugins/AirSim/Source目錄下多了一個AirLib文件夾,這裏存放着編譯後的外部依賴庫。AirSim/Unreal/Plugins/AirSim/Content/VehicleAdv目錄下多了一個SUV文件夾,這就是編譯過程中下載的車輛資源,如果沒有在編譯過程中下載也可以手動下載後放到這個目錄。將AirSim/Unreal/Plugins目錄拷貝到AirSim/Unreal/Environments/Blocks目錄下,右鍵Blocks.uproject生成VS解決方案或者雙擊運行GenerateProjectFiles.bat也可以生成,打開VS解決方案編譯成功就能啓動UE4編輯器。
注:在編譯過程中下載的文件有可能下載失敗,如果失敗了可以手動下載然後放到相應的目錄,下載地址和保存/解壓位置都可以在build.cmd文件中找到。