【第1篇-环境安装】unreal engine + airsim
❌linux UE4.27教程ubuntu22.04安装ue和airsim - 知乎linux好处编译比vs2022方便但linux端的渲染比较卡顿还是建议windows端解决消息✔️WindowsUEwin unreal engine vs2022编译airsim 导出blocks.exe 即可源码方式渲染卡顿但编译导出为场景后渲染速度OK目的① 飞行仿真系统yolo检测3D定位/3D航迹② 数据标注从物理尺寸反推标注一、windows端unreal engine airsim编译环境搭建UE4.27 Launcher版本稳定 用 Epic Games Launcher下载虚幻引擎 - Unreal Engine科学上网 秒下载 更快 UE5❌-坑更多下载airsimgit clone GitHub - microsoft/AirSim: Open source simulator for autonomous vehicles built on Unreal Engine / Unity, from Microsoft AI Research · GitHub编译airsim下载后打开vs2022的devloper commnad prompt工具去执行build.cmd在ureal\environment\blocks文件夹执行update_from_git.bat 才有blocks.sln解决方案airsim下的build.cmd是整个airsim的环境。blocks才是环境下面的。编译脚本BUG1的脚本生成Blocks.exe编译3. 启动blocks.sln vs2022 编译 不是airsim.sln❌ 是blocks.sln✔️把无人机放进去场景里面然后点击.uprojectUE项目中插入airsim插件二、安装python airsim客户端目的为了写python脚本可以直接调用Blocks.exe里面的相机实现读图像、拉流等操作C的接口也有的在ros中也有简单说pip install 安装python包失败了需要从源码去安装cd E:\Airsim\AirSim-main\PythonClient pip install -e . # 这中间会出现tornado环境依赖问题以及SSL网络无法连接的问题2.1 修复windows certifi证书建议修复 Windows 证书库治本打开certmgr.msc检查「受信任的根证书颁发机构」是否有损坏/空证书或在 PowerShell管理员运行certutil -generateSSTFromWU roots.sst更新根证书注意环境中同时存在rpc-msgpack需要 tornado6.1和msgpack-rpc-python需要 tornado5二者冲突。如果其他项目不需要rpc-msgpack可以考虑卸载它。三、从windows导出固定的Blocks.exe的方法待补充。BUG1build.cmd构建blocks.sln不成功解决✔️用一个新bat就可以搞定内容检后面下面是现象E:\Airsim\AirSim-main\Unreal\Environments\Blocksrd /s/q Build 系统找不到指定的文件。 E:\Airsim\AirSim-main\Unreal\Environments\Blocksrd /s/q Binaries 系统找不到指定的文件。 E:\Airsim\AirSim-main\Unreal\Environments\Blocksrd /s/q Intermediate 系统找不到指定的文件。 E:\Airsim\AirSim-main\Unreal\Environments\Blocksrd /s/q Saved E:\Airsim\AirSim-main\Unreal\Environments\Blocksmkdir Saved\logs E:\Airsim\AirSim-main\Unreal\Environments\Blocksrd /s/q Plugins\AirSim\Binaries 系统找不到指定的文件。 E:\Airsim\AirSim-main\Unreal\Environments\Blocksrd /s/q Plugins\AirSim\Intermediate 系统找不到指定的文件。 E:\Airsim\AirSim-main\Unreal\Environments\Blocksrd /s/q Plugins\AirSim\Saved 系统找不到指定的文件。 E:\Airsim\AirSim-main\Unreal\Environments\Blocksdel *.sln 找不到 E:\Airsim\AirSim-main\Unreal\Environments\Blocks\*.sln E:\Airsim\AirSim-main\Unreal\Environments\Blockssetlocal E:\Airsim\AirSim-main\Unreal\Environments\Blocksdel /q gen_temp.txt 找不到 E:\Airsim\AirSim-main\Unreal\Environments\Blocks\gen_temp.txt E:\Airsim\AirSim-main\Unreal\Environments\Blockspowershell -command { (Get-ItemProperty Registry::HKEY_CLASSES_ROOT\Unreal.ProjectFile\shell\rungenproj -Name Icon ).Icon } gen_temp.tmp Get-ItemProperty : 找不到路径“HKEY_CLASSES_ROOT\Unreal.ProjectFile\shell\rungenproj”因为该路径不存在。 所在位置 行:1 字符: 6 { (Get-ItemProperty Registry::HKEY_CLASSES_ROOT\Unreal.ProjectFile ... ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CategoryInfo : ObjectNotFound: (HKEY_CLASSES_RO...hell\rungenproj:String) [Get-ItemProperty], ItemNotFo undException FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetItemPropertyCommand E:\Airsim\AirSim-main\Unreal\Environments\Blockstype gen_temp.tmp 1gen_temp.txt E:\Airsim\AirSim-main\Unreal\Environments\Blocksset /p gen_bin 0gen_temp.txt E:\Airsim\AirSim-main\Unreal\Environments\Blocksdel /q gen_temp.tmp E:\Airsim\AirSim-main\Unreal\Environments\Blocksdel /q gen_temp.txt E:\Airsim\AirSim-main\Unreal\Environments\Blocksfor %f in (*.uproject) do ( echo Generating files for %f /projectfiles E:\Airsim\AirSim-main\Unreal\Environments\Blocks\%f ) E:\Airsim\AirSim-main\Unreal\Environments\Blocks( echo Generating files for Blocks.uproject /projectfiles E:\Airsim\AirSim-main\Unreal\Environments\Blocks\Blocks.uproject ) Generating files for Blocks.uproject /projectfiles 不是内部或外部命令也不是可运行的程序 或批处理文件。下面是在Airsim\Unreal|Environments\Blocks文件夹下执行的.bat帮助生成Blocks.sln解决方案然后去编译。echo off setlocal enabledelayedexpansion cd /d E:\Airsim\AirSim-main\Unreal\Environments\Blocks echo Cleaning old build files... rd /s/q Build 2nul rd /s/q Binaries 2nul rd /s/q Intermediate 2nul rd /s/q Saved 2nul mkdir Saved\logs 2nul echo Cleaning plugin files... rd /s/q Plugins\AirSim\Binaries 2nul rd /s/q Plugins\AirSim\Intermediate 2nul rd /s/q Plugins\AirSim\Saved 2nul echo Deleting solution files... del *.sln 2nul echo Generating project files... REM 设置您的UE路径 - 修改这里 set UE_PATHE:\UE_4.27 REM 检查UE是否存在 if not exist %UE_PATH%\Engine\Binaries\DotNET\UnrealBuildTool.exe ( echo ERROR: Unreal Engine not found at %UE_PATH% echo Please update UE_PATH variable in this script. pause exit /b 1 ) REM 生成项目文件 %UE_PATH%\Engine\Binaries\DotNET\UnrealBuildTool.exe -projectfiles -project%CD%\Blocks.uproject -game -engine -rocket if %errorlevel% 0 ( echo Project files generated successfully! ) else ( echo Failed to generate project files. ) pause关键的是UE_PATH\....\UnrealBuildTool.exe .....设置UE路径然后调用构建工程的工具