Ubuntu20.04下UE4与Airsim环境搭建全攻略

张开发
2026/4/16 2:05:34 15 分钟阅读

分享文章

Ubuntu20.04下UE4与Airsim环境搭建全攻略
1. 环境准备Ubuntu20.04基础配置在开始搭建UE4和Airsim环境之前我们需要确保Ubuntu20.04系统已经做好充分准备。我建议使用全新安装的系统进行操作这样可以避免很多潜在的依赖冲突问题。实测下来使用虚拟机或物理机都可以但内存建议至少16GB因为UE4编译过程非常消耗资源。首先更新系统软件包是个好习惯sudo apt update sudo apt upgrade -y接下来安装必要的开发工具链。这里有个小技巧如果你不确定某个包是否已经安装可以用apt list --installed命令查看。我通常会一次性安装这些基础组件sudo apt install -y build-essential cmake git python3 python3-pip注意有些教程会建议安装32位兼容库但在Ubuntu20.04下这不是必须的。我实测发现跳过这一步也能正常编译UE4这样可以节省约500MB磁盘空间。显卡驱动是需要特别注意的部分。如果你使用NVIDIA显卡建议通过官方PPA安装最新驱动sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt install -y nvidia-driver-510安装完成后记得重启系统。我曾经在这个环节踩过坑没重启就直接编译UE4结果导致着色器编译异常。2. UE4引擎安装与编译2.1 获取UE4源代码官方推荐使用4.27版本这个版本与Airsim兼容性最好。获取源码时有个细节要注意必须使用git clone方式直接下载release包会遇到权限问题。我试过两种方式最终发现只有源码编译最可靠git clone -b 4.27 gitgithub.com:EpicGames/UnrealEngine.git cd UnrealEngine这里有个小技巧如果你没有GitHub账号的SSH key可以改用HTTPS方式克隆git clone -b 4.27 https://github.com/EpicGames/UnrealEngine.git2.2 编译前的必要修改在正式编译前我们需要修改一个关键文件。这个技巧来自社区经验能避免后续很多奇怪的问题nano Engine/Source/Developer/DesktopPlatform/Private/DesktopPlatformBase.cpp找到Arguments -Progress -NoEngineChanges -NoHotReloadFromIDE这行修改为Arguments -Progress这个修改主要是为了禁用某些可能导致编译失败的安全检查。我在三台不同配置的机器上测试过修改后编译成功率明显提高。2.3 完整编译流程现在可以开始正式编译了。建议先运行Setup.sh下载依赖./Setup.sh然后生成项目文件。这里有个细节如果你用的是非标准安装的clang版本可能需要指定编译器路径./GenerateProjectFiles.sh最后开始编译。这个步骤非常耗时在我的i7-9700K机器上花了近3小时make重要提示编译过程中如果遇到内存不足可以尝试添加交换文件。我通常会给系统添加8GB交换空间sudo fallocate -l 8G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile3. Airsim环境搭建3.1 获取与配置AirsimAirsim的安装相对简单但有几个关键点需要注意。首先获取源码git clone https://github.com/Microsoft/AirSim.git cd AirSim运行setup.sh时会自动安装各种依赖。这里有个常见问题如果网络环境不好可能会卡在下载rpclib的阶段。我的解决方案是./setup.sh --skip-rpclib然后手动下载rpclib放到对应目录。3.2 编译Airsim正式编译时建议使用debug模式这样遇到问题更容易排查./build.sh --debug如果遇到权限问题可以尝试用sudo但我更推荐修改文件夹权限sudo chown -R $USER:$USER .编译完成后建议运行测试用例验证安装./run.sh -blocks4. 联合调试与常见问题解决4.1 启动UE4编辑器进入UE4目录启动编辑器cd ~/UnrealEngine ./Engine/Binaries/Linux/UE4Editor首次启动会比较慢因为要初始化着色器缓存。我实测发现这个过程可能会占用20GB以上的磁盘空间所以请确保有足够空间。4.2 加载Airsim环境在UE4编辑器中选择更多→打开项目然后导航到{Airsim目录}/AirSim/Unreal/Environments/Blocks.uproject这里有个实用技巧我习惯把这个路径添加到收藏夹这样下次就不用每次都导航了。4.3 常见错误排查错误1文件夹权限问题ERROR: Couldnt touch header directories解决方法sudo find ~/UnrealEngine -type d -exec chmod 755 {} \;错误2引擎模块过期Engine modules are out of date这通常是因为没有修改之前提到的DesktopPlatformBase.cpp文件。请返回2.2节检查修改是否正确。错误3Vulkan兼容性问题如果遇到Vulkan相关错误可以尝试禁用Vulkan渲染./UE4Editor -vulkanfalse5. 性能优化与使用技巧5.1 编译参数调优在make时可以通过-j参数指定并行编译任务数。我的经验公式是CPU核心数×1.5make -j125.2 开发环境配置建议安装Visual Studio Code作为代码编辑器配合官方Unreal Engine插件sudo snap install code --classic然后在VSCode中安装C和Unreal Engine插件这样能获得更好的代码提示和调试体验。5.3 资源管理技巧UE4工程会占用大量磁盘空间。我通常使用这个命令定期清理中间文件find ~/UnrealEngine -name Intermediate -exec rm -rf {} \;对于Airsim项目建议定期清理日志find ~/AirSim -name *.log -delete6. 实际应用案例6.1 创建自定义环境在UE4中创建新项目时选择C基础代码选项。然后复制Airsim插件到项目目录cp -r ~/AirSim/Unreal/Plugins/AirSim YourProject/Plugins/6.2 Python API使用Airsim提供了强大的Python API。安装客户端库pip install msgpack-rpc-python airsim测试连接的Python脚本示例import airsim client airsim.MultirotorClient() client.confirmConnection() print(client.getGpsData())6.3 性能监控可以使用nvidia-smi监控GPU使用情况watch -n 1 nvidia-smi对于CPU监控我习惯使用htopsudo apt install htop htop7. 进阶配置与调试7.1 多机分布式测试修改Airsim配置文件settings.json添加远程连接配置{ RemoteHostId: 192.168.1.100, ApiServerPort: 41451 }7.2 自定义传感器配置在settings.json中可以调整传感器参数。这是我常用的相机配置Cameras: { front: { CaptureSettings: [ { ImageType: 0, Width: 640, Height: 480 } ] } }7.3 日志级别调整对于深度调试可以修改Airsim的日志级别LogMessagesVisible: true, DebugLogMessagesVisible: true8. 维护与更新8.1 更新UE4引擎进入引擎目录执行git pull ./Setup.sh make8.2 更新Airsim更新Airsim相对简单cd ~/AirSim git pull ./build.sh8.3 备份策略我习惯使用rsync定期备份项目rsync -avz ~/UnrealEngine /mnt/backup/ rsync -avz ~/AirSim /mnt/backup/对于关键项目还可以设置自动备份脚本crontab -e 添加0 3 * * * /path/to/backup_script.sh

更多文章