当前位置: 首页 > news >正文

【第1篇-环境安装】unreal engine + airsim

  • ❌linux UE4.27教程:ubuntu22.04安装ue和airsim - 知乎
    • linux好处:编译比vs2022方便,但linux端的渲染比较卡顿;还是建议windows端解决;
  • 消息✔️WindowsUE
    • win + unreal engine + vs2022编译airsim + 导出blocks.exe 即可;
    • 源码方式渲染卡顿,但编译导出为场景后,渲染速度OK;
  • 目的:① 飞行仿真系统+yolo检测+3D定位/3D航迹;② 数据标注,从物理尺寸反推标注;

一、windows端unreal engine + airsim编译环境搭建

  1. UE4.27 Launcher版本稳定; 用 Epic Games Launcher
    下载虚幻引擎 - Unreal Engine(+科学上网 秒下载 更快) UE5❌-坑更多

  1. 下载airsim

    git clone GitHub - microsoft/AirSim: Open source simulator for autonomous vehicles built on Unreal Engine / Unity, from Microsoft AI & Research · GitHub

  2. 编译airsim:下载后,打开vs2022的devloper commnad prompt工具,去执行build.cmd
    在ureal\environment\blocks文件夹执行update_from_git.bat 才有blocks.sln解决方案

    1. airsim下的build.cmd是整个airsim的环境。

    2. blocks才是环境下面的。

  3. 编译脚本:BUG1的脚本,生成Blocks.exe编译

3. 启动blocks.sln vs2022 编译 不是airsim.sln❌ 是blocks.sln✔️

把无人机放进去场景里面;然后点击.uproject,UE项目中插入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(需要 tornado>=6.1)和msgpack-rpc-python(需要 tornado<5),二者冲突。如果其他项目不需要rpc-msgpack,可以考虑卸载它。

三、从windows导出固定的Blocks.exe的方法

  • 待补充。

BUG1:build.cmd构建blocks.sln不成功

解决✔️:用一个新bat就可以搞定,内容检后面

下面是现象!

E:\Airsim\AirSim-main\Unreal\Environments\Blocks>rd /s/q Build 系统找不到指定的文件。 E:\Airsim\AirSim-main\Unreal\Environments\Blocks>rd /s/q Binaries 系统找不到指定的文件。 E:\Airsim\AirSim-main\Unreal\Environments\Blocks>rd /s/q Intermediate 系统找不到指定的文件。 E:\Airsim\AirSim-main\Unreal\Environments\Blocks>rd /s/q Saved E:\Airsim\AirSim-main\Unreal\Environments\Blocks>mkdir Saved\logs E:\Airsim\AirSim-main\Unreal\Environments\Blocks>rd /s/q Plugins\AirSim\Binaries 系统找不到指定的文件。 E:\Airsim\AirSim-main\Unreal\Environments\Blocks>rd /s/q Plugins\AirSim\Intermediate 系统找不到指定的文件。 E:\Airsim\AirSim-main\Unreal\Environments\Blocks>rd /s/q Plugins\AirSim\Saved 系统找不到指定的文件。 E:\Airsim\AirSim-main\Unreal\Environments\Blocks>del *.sln 找不到 E:\Airsim\AirSim-main\Unreal\Environments\Blocks\*.sln E:\Airsim\AirSim-main\Unreal\Environments\Blocks>setlocal E:\Airsim\AirSim-main\Unreal\Environments\Blocks>del /q gen_temp.txt 找不到 E:\Airsim\AirSim-main\Unreal\Environments\Blocks\gen_temp.txt E:\Airsim\AirSim-main\Unreal\Environments\Blocks>powershell -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\Blocks>type gen_temp.tmp 1>gen_temp.txt E:\Airsim\AirSim-main\Unreal\Environments\Blocks>set /p gen_bin= 0<gen_temp.txt E:\Airsim\AirSim-main\Unreal\Environments\Blocks>del /q gen_temp.tmp E:\Airsim\AirSim-main\Unreal\Environments\Blocks>del /q gen_temp.txt E:\Airsim\AirSim-main\Unreal\Environments\Blocks>for %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 2>nul rd /s/q Binaries 2>nul rd /s/q Intermediate 2>nul rd /s/q Saved 2>nul mkdir Saved\logs 2>nul echo Cleaning plugin files... rd /s/q Plugins\AirSim\Binaries 2>nul rd /s/q Plugins\AirSim\Intermediate 2>nul rd /s/q Plugins\AirSim\Saved 2>nul echo Deleting solution files... del *.sln 2>nul echo Generating project files... REM 设置您的UE路径 - 修改这里! set UE_PATH=E:\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路径,然后调用构建工程的工具;

http://www.jsqmd.com/news/1176651/

相关文章:

  • 3分钟上手B站会员购抢票神器:biliTickerBuy完整使用指南
  • Open Source Candies设计资源大全:免费图标、图片和字体资源推荐
  • RoomAliveToolkit深度技术解析:Gray Code编码与Levenberg-Marquardt优化算法
  • 3分钟上手:Qu1cksc0pe恶意软件分析工具全攻略 [特殊字符]
  • 5步掌握AI绘画提示词生成神器:Clip Interrogator创意高效指南
  • Android旋转选择器CursorWheelLayout事件处理完全指南:点击与选中监听
  • 从吃灰到生产力:如何用Armbian让你的旧电视盒子变身全能Linux服务器
  • 动态规划-01背包(模板)、完全背包(模板)、多重背包1(模板)、多重背包2(模板)、背包与魔法、砝码称重
  • 如何用Buzz实现完全离线的音频转录?免费开源工具终极指南
  • Jackhammer源码架构深度解析:Java后端与可扩展设计原理
  • 超级电容壳体激光封焊:AIDC供电安全的最后一道防线
  • AIGC 检测看的是句子结构还是用词?搞懂再改才不白费
  • 逆向工具箱 - 次元剑
  • 企业资质代办甄选合规机构推荐:北京孵财管理咨询 - 余小铁
  • 2026年7月最新昆明宇舶官方售后热线及客户服务网点地址 - 亨得利官方服务中心
  • Netgraph API完全参考:从Graph到ArcDiagram,掌握所有类与方法
  • OurJS完全指南:基于Node.js与Redis的免费博客引擎与CMS平台入门
  • 如何解决Windows远程桌面单用户限制:RDPWrap终极配置指南
  • ARIA与CSS AAM整合:样式化内容如何实现无障碍访问的终极指南
  • 为啥现在的大模型越来越垃圾了
  • 如何在CI/CD中集成publish-please实现自动化npm发布
  • futures-await未来展望:对Rust语言特性的影响与贡献
  • 2026 年不容错过的电缆接头厂家排行,引领电气连接新未来 - 星城方舟
  • 2026 厦门室内空气检测机构口碑榜:闽环测研等 5 家正规实验室机构深度评析 - CMA甲醛检测
  • 乡村振兴规划:Linkage Mapper 田园生态连通性提升
  • 十三、C++lambda表达式和包装器
  • Jackhammer网络扫描功能详解:Nmap集成与网络安全评估终极指南
  • Jackhammer安全团队协作案例研究:如何提升开发与安全团队效率
  • 4680全极耳大圆柱焊接:储能电池量产的毫米级精度
  • Dr.Jit类型系统详解:Float、Array3f、Matrix4f等高级类型全面指南 [特殊字符]