AirSim Windows 平台构建指南:从 Unreal Engine 安装到插件落地与运行
AirSim Windows 平台构建指南从 Unreal Engine 安装到插件落地与运行【免费下载链接】AirSimOpen source simulator for autonomous vehicles built on Unreal Engine / Unity, from Microsoft AI Research项目地址: https://gitcode.com/gh_mirrors/ai/AirSim本篇指南完整梳理 Microsoft AirSim 自动驾驶模拟器在 Windows 平台上的构建全流程从安装 Unreal Engine、配置 Visual Studio 2022到运行build.cmd产出可直接插入任意 Unreal 项目的插件再到搭建内置 Blocks 环境并启动模拟。读完本文你将掌握 AirSim 插件二进制在 Windows 上的完整产出链路、构建脚本的隐藏参数与依赖处理逻辑并能独立完成从源码到可运行模拟环境的搭建与排错。一、构建概览与版本要求AirSim 的 Windows 构建分为两个相对独立的阶段构建 AirSim 本体在仓库根目录运行 build.cmd脚本会依次完成第三方依赖rpclib、Eigen、cmake 检查的下载与编译、AirSim.sln的 MSBuild 编译最终把可用的插件位plugin bits输出到Unreal/Plugins文件夹。该插件可被“复制”进任意 Unreal 工程使用。构建 Unreal 宿主工程AirSim 本身不包含场景需要一个 Unreal 工程作为车辆运行环境。仓库自带轻量级Blocks 环境位于Unreal/Environments/Blocks也可参照文档自建照片级真实感环境。本仓库当前代码基线对应的版本要求为Unreal Engine 4.27仓库内Unreal/Environments/Blocks/Blocks.uproject的EngineAssociation字段即声明为4.27Visual Studio 2022build.cmd 中显式校验VisualStudioVersion必须大于等于17.0否则直接提示升级Windows 10 SDK 10.0.19041CMake 3.14由 check_cmake.bat 校验低于该版本会引导下载 CMake 3.14.7 安装包。若你持有 UE 4.16 或更早版本的旧工程请先阅读 升级指南 完成项目迁移再继续本流程。二、安装 Unreal EngineAirSim 依赖 Unreal Engine 提供渲染与物理宿主安装步骤如下下载并安装 Epic Games Launcher。Unreal Engine 本身开源免费但官方仍要求注册账号才能下载。启动 Launcher点击左侧窗格的Unreal Engine标签页。点击右上角Install按钮选择安装Unreal Engine 4.27的对应版本并按需指定安装位置见上文两张界面截图。若机器上安装了多个 Unreal 版本务必把当前使用的版本通过 Launch 按钮旁的下拉箭头设置为current否则构建脚本与编辑器可能链接到错误版本。安装完成后建议先重启 Epic Games Launcher 与 Unreal Engine 再构建第一个环境Launcher 重启后会询问是否将.uproject文件扩展名与 Unreal Engine 关联点击fix now完成关联这一步直接影响后续双击工程文件的体验。三、构建 AirSim 插件build.cmd 全解析3.1 Visual Studio 2022 安装要点安装 Visual Studio 2022 时务必勾选以下组件Desktop Development with C使用 C 的桌面开发工作负载Windows 10 SDK 10.0.19041默认即选中请确认未被取消在Individual Components单个组件标签页中选择最新的 .NET Framework SDK。这些组件是 Unreal 构建工具链UnrealBuildTool与 AirSim 原生代码编译所必需的前置条件。3.2 克隆仓库与构建命令打开Developer Command Prompt for VS 2022开发者命令行提示符执行git clone https://gitcode.com/gh_mirrors/ai/AirSim.git cd AirSim build.cmd两条注意事项来自官方文档与脚本本身不要安装在 C 盘。官方明确提示将 AirSim 放在 C 盘可能导致脚本失败并强制要求以管理员模式运行 Visual Studio建议克隆到 D、E 等其他盘符。必须在 VS 2022 的开发命令行环境中运行。build.cmd 首先检查VisualStudioVersion环境变量若为空会直接报错You need to run this command from x64 Native Tools Command Prompt for VS 2022。3.3 build.cmd 的构建流水线源码级拆解阅读 build.cmd 源码可以发现build.cmd实际依次完成如下六步环境与工具校验调用 check_cmake.bat 检查 CMake 版本要求不低于 3.14。若 CMake 缺失或版本过旧会提示按任意键下载cmake-3.14.7-win64-x64.msi并引导安装安装时需勾选加入 PATH。下载并编译 rpclib 2.3.0AirSim 的 RPC 通信层基于 rpclibAirSim 客户端与模拟器的 API 调用依赖它。脚本先检查external/rpclib/rpclib-2.3.0是否存在不存在则通过 PowerShell 下载v2.3.0.zip并解压随后执行cmake -GVisual Studio 17 2022生成工程并编译。同步 rpclib 产物到 AirLib 依赖目录通过robocopy /MIR将 rpclib 的 include 与Debug/Release库文件镜像复制到AirLib/deps/rpclib/include与AirLib/deps/rpclib/lib/x64。可选下载高精度 SUV 车辆模型默认下载约 37MB 的高多边形 SUV 模型资产到Unreal/Plugins/AirSim/Content/VehicleAdv/SUV。该步骤失败不会中断构建脚本会提示回退使用默认车辆模型gokart。下载 Eigen 3.3.7从 GitLab 拉取eigen-3.3.7.zip并整理到AirLib/deps/eigen3。Eigen 是 AirLib 中向量、矩阵与刚体动力学计算的基础数学库。编译 AirSim.sln 并发布插件以 x64 平台编译AirSim.sln同时涵盖 MavLinkCom 通信库随后把AirLib源码镜像到Unreal/Plugins/AirSim/Source/AirLib并复制 AirSim.props该文件将 MSBuild 的WindowsTargetPlatformVersion绑定为当前 SDK 版本至插件目录最终对Unreal/Environments下所有环境逐个调用update_from_git.bat同步插件文件。3.4 构建模式与可选参数build.cmd 支持以下命令行参数参数作用--Debug仅以 Debug 配置编译默认会同时编译 Debug 与 Release 两种配置--Release仅以 Release 配置编译--RelWithDebInfo仅以 RelWithDebInfo 配置编译--no-full-poly-car跳过约 37MB 高精度 SUV 车辆资产的下载使用默认车辆模型适合网络受限或快速验证场景例如跳过车辆资产并只产出 Release 位build.cmd --Release --no-full-poly-car构建成功后Unreal/Plugins文件夹即包含可直接投放进任意 Unreal 工程的插件含AirSim插件本体与Source/AirLib源码、Content资源。四、构建 Unreal 宿主工程AirSim 提供两种获取 Unreal 环境的方式详见 Unreal 环境设置方式一推荐快速上手直接使用仓库自带的 Blocks 环境Unreal/Environments/Blocks轻量、速度快是官方日常测试环境方式二参照 自定义 Unreal 环境指南 创建照片级真实感工程。在首次构建环境前请先关闭并重新打开 Unreal Engine 与 Epic Games Launcher。若之前未完成文件关联重启 Launcher 后会弹出修复提示点击fix now。build.cmd在收尾阶段已对Unreal/Environments下每个环境自动执行了 update_from_git.bat该脚本把根目录产出的Unreal/Plugins/AirSim与AirLib镜像复制进环境的Plugins/AirSim再调用clean.bat清理中间文件最后通过 GenerateProjectFiles.bat 从注册表读取 UnrealBuildTool 路径、对.uproject生成 Visual Studio 解决方案文件.sln。若在Unreal/Environments/Blocks下看不到.sln文件通常意味着上一节“构建 Unreal 项目”的步骤未完成请重跑上述流程。五、启动运行 AirSim双击Unreal/Environments/Blocks目录下的.sln若使用自定义工程则打开你自己的.sln用 Visual Studio 2022 加载。注Unreal 4.27 默认生成的.sln面向 Visual Studio 2019。VS 2022 可以直接加载运行该文件但若希望获得完整的 VS 2022 支持可在编辑器内通过Edit - Editor Preferences - Source Code将Source Code Editor设置为Visual Studio 2022。将 Blocks 工程或你的自定义工程设为启动项目构建配置选择Develop Editor平台选择x64。等待 Unreal 编辑器加载完成后点击Play按钮即可看到飞行器或车辆在场景中运行。性能建议进入Edit - Editor Preferences在搜索框输入CPU确保取消勾选Use Less CPU when in Background后台省 CPU否则窗口失焦时模拟帧率会明显下降影响飞行调试体验。完整使用方式可继续阅读 API 使用指南 与 settings.json 配置说明。若希望切换默认的多旋翼为汽车请参考 车辆使用指南。六、遥控器设置仅多旋翼若想手动操控多旋翼飞行需要配置遥控器详见 遥控器设置。不配置遥控器时仍有两条程序化控制路径API 控制通过 API 文档 使用 Python/C 客户端完成起飞、导航、取景等全流程控制计算机视觉模式Computer Vision mode见 图像 API 文档可使用键盘在场景中漫游适合纯视觉仿真场景。七、Windows 构建常见问题排查以下问题与解法提炼自仓库 构建 FAQ 的 Windows 章节可作为排错速查表现象原因与解法where is not recognized as an internal or external commandC:\WINDOWS\SYSTEM32未加入 PATH 环境变量MyProject could not be compiled. Try rebuilding from source manually存在编译错误日志位于My-Project\Saved\Logs常见诱因是 VS 版本冲突AirSim 用 VS 2019 而 UE 用 VS 2017在日志中搜索2017关键字确认error C100 : An internal error has occurred in the compiler已知与 VS 版本15.9.0相关AirSim 已合入规避代码请拉取最新代码后重试corecrt.h: No such file or directory或Windows SDK version 8.1 not found安装 VS 时未勾选 Windows SDK 组件回到 VS Installer 补装修改 VS 中的头文件后构建无效果Unreal VS 构建系统对纯头文件修改不敏感可改动AirSimGameMode.cpp等 cpp 文件强制触发重编译UE 使用旧版 VS 或出现LNK1181: cannot open input file ws2_32.lib在Edit - Editor Preferences - General - Source Code - Source Code Editor与Edit - Project Settings - Platforms - Windows - Toolchain - CompilerVersion两处指定 VS 版本仍无效则卸载全部旧版 VS 后重装另外关于固件的选择默认情况下 AirSim 使用内置的 simple_flight 固件无需额外配置如需切换为 PX4请阅读 PX4 设置指南。源码改动后的常规开发迭代流程可参考 开发工作流。八、AirSim on Unity实验性除 Unreal 外AirSim 还提供了与 Unity 引擎的实验性集成见 Unity 集成文档。该集成仍在持续完善中并非所有功能都已就绪生产项目建议以 Unreal 路径为主仅作评估或研究用途时尝试 Unity 路径。九、下一步学习路径完成 Windows 构建后可按需深入以下主题Blocks 环境快速上手指南Blocks 工程的独立启动说明与“更改代码后如何重编”自定义 Unreal 环境打造自己的高保真仿真场景settings.json 配置配置车辆类型、传感器、天气等运行参数构建 FAQWindows / Linux 全平台常见编译问题集Linux 构建指南跨平台构建的对照参考。【免费下载链接】AirSimOpen source simulator for autonomous vehicles built on Unreal Engine / Unity, from Microsoft AI Research项目地址: https://gitcode.com/gh_mirrors/ai/AirSim创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

createTable 函数详解:在 Solid 中创建响应式表格实例

createTable 函数详解:在 Solid 中创建响应式表格实例

前端UI组件 【免费下载链接】table 🤖 Headless UI for building powerful tables & datagrids for TS/JS - React-Table, Vue-Table, Solid-Table, Svelte-Table 项目地址: https://gitcode.com/gh_mirrors/ta/table 点击查看 免费下载 createTabl…

2026/9/21 17:01:56 阅读更多 →
Sass JavaScript Calculation API 完整指南:在 JS API 中构建与使用 calc() / min() / max() / clamp() 计算类型

Sass JavaScript Calculation API 完整指南:在 JS API 中构建与使用 calc() / min() / max() / clamp() 计算类型

前端 【免费下载链接】sass Sass makes CSS fun! 项目地址: https://gitcode.com/gh_mirrors/sa/sass 点击查看 免费下载 导读 本文以 Sass 仓库中的 JavaScript Calculation API 草案(Draft 3.1)为骨架,系统讲解如何在 Sass 的…

2026/9/21 17:01:56 阅读更多 →
Chrome Extensions Samples 之 Multi-Tab Browser:基于 webview 的 New Window、User Agent 与权限请求综合示例解析

Chrome Extensions Samples 之 Multi-Tab Browser:基于 webview 的 New Window、User Agent 与权限请求综合示例解析

Chrome Extensions Samples 之 Multi-Tab Browser:基于 webview 的 New Window、User Agent 与权限请求综合示例解析 【免费下载链接】chrome-extensions-samples Chrome Extensions Samples 项目地址: https://gitcode.com/gh_mirrors/ch/chrome-extensions-samp…

2026/9/21 17:01:56 阅读更多 →

最新新闻

CopyTranslator 复制即翻译外文阅读辅助:核心用法、功能特性与源码实现解析

CopyTranslator 复制即翻译外文阅读辅助:核心用法、功能特性与源码实现解析

桌面应用人工智能 【免费下载链接】CopyTranslator 🔠Foreign language reading and translation assistant based on copy and translate. 项目地址: https://gitcode.com/gh_mirrors/co/CopyTranslator 点击查看 免费下载 CopyTranslator 是一款基于&…

2026/9/21 18:48:38 阅读更多 →
TanStack Table 的 HeaderGroup 接口详解:表头分组模型、深度层级与渲染实践

TanStack Table 的 HeaderGroup 接口详解:表头分组模型、深度层级与渲染实践

前端UI组件 【免费下载链接】table 🤖 Headless UI for building powerful tables & datagrids for TS/JS - React-Table, Vue-Table, Solid-Table, Svelte-Table 项目地址: https://gitcode.com/gh_mirrors/ta/table 点击查看 免费下载 HeaderGrou…

2026/9/21 18:48:38 阅读更多 →
React Native Vector Icons FontAwesomeFreeSolid 包演进史:从 FontAwesome 7 迁移到 Expo 配置插件的完整版本解读

React Native Vector Icons FontAwesomeFreeSolid 包演进史:从 FontAwesome 7 迁移到 Expo 配置插件的完整版本解读

UI组件移动开发 【免费下载链接】react-native-vector-icons Customizable Icons for React Native with support for image source and full styling. 项目地址: https://gitcode.com/gh_mirrors/re/react-native-vector-icons 点击查看 免费下载 react-native-ve…

2026/9/21 18:48:38 阅读更多 →
Nix 构建性能调优:深入理解 `cores` 与 `max-jobs` 的协同机制

Nix 构建性能调优:深入理解 `cores` 与 `max-jobs` 的协同机制

开发工具CLI 【免费下载链接】nix Nix, the purely functional package manager 项目地址: https://gitcode.com/gh_mirrors/ni/nix 点击查看 免费下载 Nix 是纯粹函数式包管理器,其构建调度完全由两个相互独立又彼此耦合的配置项驱动:max-j…

2026/9/21 18:48:38 阅读更多 →
Nix Archive (NAR) 格式完全规范:Nix 纯函数包管理器的文件系统对象序列化格式解析

Nix Archive (NAR) 格式完全规范:Nix 纯函数包管理器的文件系统对象序列化格式解析

Nix Archive (NAR) 格式完全规范:Nix 纯函数包管理器的文件系统对象序列化格式解析 【免费下载链接】nix Nix, the purely functional package manager 项目地址: https://gitcode.com/gh_mirrors/ni/nix Nix Archive(简称 NAR)是 Nix…

2026/9/21 18:48:37 阅读更多 →
微信视频聊天没有声音保姆级教程

微信视频聊天没有声音保姆级教程

5步搞定微信视频无声,源码解析背后的音频链路 配置环境就卡半天,视频画面有了,声音却像被静音,这种抓狂感每个搞过音视频开发的都懂。别急着重启手机,这背后是音频采集、编码、传输、解码到播放的全链路问题。今天咱们不整虚的,直接扒开微信的…

2026/9/21 18:47:37 阅读更多 →

日新闻

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程 【免费下载链接】agentic-awesome-skills AAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and …

2026/9/21 0:00:01 阅读更多 →
gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析 【免费下载链接】gin-vue-admin 🚀ViteVue3Gin拥有AI辅助的基础开发平台,企业级业务AI开发解决方案,内置mcp辅助服务,内置skills管理,…

2026/9/21 0:00:01 阅读更多 →
Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

桌面应用AI 应用插件系统 【免费下载链接】Wox A cross-platform launcher that simply works 项目地址: https://gitcode.com/gh_mirrors/wo/Wox 点击查看 免费下载 全功能插件(Full-featured Plugin)是 Wox 三类插件实现方式中能力最完整的…

2026/9/21 0:00:01 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/21 3:13:20 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/21 2:19:36 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/21 4:51:05 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/21 15:36:51 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/21 15:36:51 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/19 23:35:34 阅读更多 →