Unity 上的 AirSim#

  • Unity 上的 AirSim 允许您在 Unity 引擎中运行模拟器。此项目包含一些示例 Unity 项目和 AirLib 库的包装器,可作为 Unity 中的本机插件运行。
  • 其中包含两个基本的 Unity 项目,一个用于汽车模拟器,另一个用于无人机模拟器。它们旨在轻量级,可用于验证您的设置是否正确。
  • 查看 Unity 博客文章以获取此版本的概述。

警告:实验性版本#

此项目仍处于早期开发阶段,可能会有一些粗糙之处。我们正在努力完全支持完整的 AirLib API 和功能集,但某些功能可能缺失。点击此处查看当前支持的 API 列表。

Windows#

从源代码构建#

安装 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#

构建 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 客户端。
  • 控制无人机
    无人机飞行目前无法通过键盘控制。
  • 更改摄像机视图
    使用键 0123 切换不同摄像机视图的窗口。
  • 记录模拟数据
    按屏幕右下角的“录制”按钮(红色按钮),切换模拟数据的录制。录制的数据可在 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
  • 确保以下场景设置为构建
    1. SimModeSelector
    2. CarDemo
    3. DroneDemo
  • 将目标操作系统设置为 linux,并选择适合您系统的版本(x86 vs x86_64)
  • 点击 构建
  • 将构建好的项目以及生成的文件夹 "{project_name}_Data" 传输到您的 linux 机器

将 AirsimWrapper 库复制到项目插件文件夹#

  • 在您的 linux 机器上,导航到您的 AirSim 仓库,并在终端窗口中运行以下命令
    cp Unity/linux-build/libAirsimWrapper.so path/to/your/project/{project_name}_Data/Plugins/{os_version}
    这将生成必要的共享库,以允许 Airsim 与 Unity 通信,并将其复制到您项目二进制文件的插件文件夹中。

运行项目二进制文件#

  • 打开终端并导航到您的项目目录
  • 将您的项目二进制文件设置为可执行文件
    chmod +x "{project_name}.{configuration}"
  • 运行二进制文件
    ./{project_name}.{configuration}

使用 Airsim API#

  • 要快速开始使用汽车或无人机的 Python API,只需运行 hello_car.pyhello_drone.py 脚本即可。
  • AirSim C++ 和 Python API 的详细信息请参见此处

致谢#