AirSim我尝试从GitHub下载发行版运行,但是出错(报错为编译器内部错误),因为使用了不同的VS版本。一般要求用15.9以下的VS,但是我不想回退或者安装多个版本,因此,找到合适的办法是自己编译。
直接clone而不是下载发行版AirSim,然后在Windows左下角搜索框输入x64即可:
这就是VS2017 x64命令行工具,然后切换到AirSim后直接运行build.cmd即可。
这里需要注意的有几点,如我这里是Windows10,那么需要先打开AirSim项目的sln文件,修改其中各个工程的WindowsSDK版本为Windows10。另外,如果出现“warning C4819: 该文件包含不能在当前代码页(936)中表示的字符”,这个是Eigen3中的half.h文件导致,简单的可以修改其中的一个引号解决该问题,不过我更推荐下面这种操作:
https://blog.youkuaiyun.com/helloworld_ptt/article/details/77927515
就是打开VS的工具->自定义->命令,菜单栏选为文件,然后点击“添加命令”,添加一个“高级保存选项”,这样就能将该文件保存为代码页1200了:
接着,可能高规格的车辆模型下载处理失败,所以可以将build.cmd改为:
build.cmd --no-full-poly-car
这样编译成功得到Unreal的插件:
我这里Unreal是4.22.1版本,新建一个空项目,将该插件拷贝过去:
另外修改Unreal的项目文件:
{
"FileVersion": 3,
"EngineAssociation": "4.22",
"Category": "",
"Description": "",
"Modules": [
{
"Name": "CarDemo",
"Type": "Runtime",
"LoadingPhase": "Default",
"AdditionalDependencies": [
"AirSim"
]
}
],
"Plugins": [
{
"Name": "PhysXVehicles",
"Enabled": true
},
{
"Name": "RawInput",
"Enabled": true
},
{
"Name": "AirSim",
"Enabled": true
}
]
}
然后在该文件右键选择生成VS项目文件,VS打开后设置项目配置为“DebugGame Editor”和Win64平台,运行即可自动启动Unreal。Unreal中设置“窗口->世界设置”,选择GameMode为AirSimGameMode:
我暂时还有一点问题,就是加载车辆模型失败:
这个等过些时间解决再记录。