Unity 上的 AirSim#
- Unity 上的 AirSim 允许您在 Unity 引擎中运行模拟器。此项目包含一些示例 Unity 项目和 AirLib 库的包装器,可作为 Unity 中的本机插件运行。
- 其中包含两个基本的 Unity 项目,一个用于汽车模拟器,另一个用于无人机模拟器。它们旨在轻量级,可用于验证您的设置是否正确。
- 查看 Unity 博客文章以获取此版本的概述。
警告:实验性版本#
此项目仍处于早期开发阶段,可能会有一些粗糙之处。我们正在努力完全支持完整的 AirLib API 和功能集,但某些功能可能缺失。点击此处查看当前支持的 API 列表。
Windows#
从源代码构建#
安装 Unity#
- 从此页面下载 Unity Hub。
- 使用 Unity Hub 从此处安装 Unity 2019.3.12。此处有详细说明。
- 注意:如果您是第一次使用 Unity,请查看入门指南。Unity 用户手册包含额外的提示、资源和常见问题解答。
构建 Airsim#
-
安装 Visual Studio 2019。确保在安装 VS 2019 时选择 使用 C++ 的桌面开发 和 Windows 10 SDK 10.0.18362(应默认选中)。
-
启动
适用于 VS 2019 的 x64 本机工具命令提示符
。 - 克隆仓库:
git clone https://github.com/Microsoft/AirSim.git
,并通过cd AirSim
进入 AirSim 目录。 - 从命令行运行
build.cmd
。
构建 Unity 项目#
- 进入 AirSim\Unity 目录:
cd Unity
。 - 构建 unity 项目:
build.cmd
。 - 此外,还有一个免费环境
Windridge City
,您可以从 Unity 资源商店下载。当然,您也可以随时创建自己的环境。
Linux#
依赖项#
sudo apt-get install libboost-all-dev
下载并安装适用于 Linux 的 Unity#
警告:适用于 Linux 的 Unity 编辑器仍处于 Beta 阶段。可能会有一些粗糙之处。
安装 Unity#
- 从此页面下载 Unity Hub。
- 使用 Unity Hub 安装 Unity 2019.3.12.
- 注意:如果您是第一次使用 Unity,请查看入门指南。Unity 用户手册包含额外的提示、资源和常见问题解答。
构建 Airsim#
git clone https://github.com/Microsoft/AirSim.git;
cd AirSim;
./setup.sh;
./build.sh
生成 AirsimWrapper 共享库#
cd AirSim/Unity
./build.sh
这将生成必要的共享库并将其复制到 UnityDemo Plugins 文件夹。
用法#
- 启动 Unity Hub,点击左侧窗格中的
项目
,然后点击添加
按钮 - 选择文件夹
AirSim\Unity\UnityDemo
,然后点击确定
按钮。 - 点击 Unity Hub 菜单中显示的新项目以在 Unity 中打开它。
- 在底部窗格中,点击
项目
->资产
->场景
。然后,双击SimModeSelector
。这将把 SimModeSelector 场景加载到场景层次结构窗格中。不要将 CarDemo 或 DroneDemo 场景添加到场景层次结构窗格中。 - 点击播放按钮开始模拟(再次点击播放停止模拟)。
- 或者,您可以在
Settings.json
文件中更改 SimMode。(您可以在此处阅读有关Settings.json
的更多信息) - 控制汽车
使用WASD
或箭头键
或 AirSim 客户端。 - 控制无人机
无人机飞行目前无法通过键盘控制。 - 更改摄像机视图
使用键0
、1
、2
、3
切换不同摄像机视图的窗口。 - 记录模拟数据
按屏幕右下角的“录制”按钮(红色按钮),切换模拟数据的录制。录制的数据可在 Windows 上的Documents\AirSim\(录制日期)
和 Linux 上的~/Documents/AirSim/(录制日期)
中找到。
为 AirSim 构建自定义环境#
要使用 UnityDemo
以外的环境,请按照此处的说明操作
交叉编译到 Linux#
Unity 编辑器支持将项目编译到 Linux 系统。在遵循在 Windows 上构建 AirSim 和 Unity 的步骤后,执行以下操作:
Linux 先决条件#
在能够使用 Airsim 插件运行 Unity 二进制文件之前,请务必按照上述 Linux 构建步骤在您的 Linux 机器上构建 Airsim 和 Airsim Unity。
在 Windows 上打包 UnityDemo 二进制文件#
安装所需组件#
为了将您的项目打包到 Linux,必须安装 Linux 构建支持 Unity 附加组件。* 打开 Unity Hub,点击 Unity 2018.2.15f1 选项卡右侧 更多选项 下拉窗口中的 添加组件 按钮。 * 确保已选择 Linux 构建支持 平台。
一旦此组件成功安装,您就可以为 Linux 构建 Unity 项目了!
构建项目#
- 在您的 Windows 机器上,通过导航到工具栏中的构建设置选项
文件 -> 构建设置
来构建 Unity Demo - 确保以下场景设置为构建
- SimModeSelector
- CarDemo
- DroneDemo
- 将目标操作系统设置为 linux,并选择适合您系统的版本(x86 vs x86_64)
- 点击
构建
- 将构建好的项目以及生成的文件夹
"{project_name}_Data"
传输到您的 linux 机器
将 AirsimWrapper 库复制到项目插件文件夹#
- 在您的 linux 机器上,导航到您的 AirSim 仓库,并在终端窗口中运行以下命令
这将生成必要的共享库,以允许 Airsim 与 Unity 通信,并将其复制到您项目二进制文件的插件文件夹中。cp Unity/linux-build/libAirsimWrapper.so path/to/your/project/{project_name}_Data/Plugins/{os_version}
运行项目二进制文件#
- 打开终端并导航到您的项目目录
- 将您的项目二进制文件设置为可执行文件
chmod +x "{project_name}.{configuration}"
- 运行二进制文件
./{project_name}.{configuration}
使用 Airsim API#
- 要快速开始使用汽车或无人机的 Python API,只需运行
hello_car.py
或hello_drone.py
脚本即可。 - AirSim C++ 和 Python API 的详细信息请参见此处。