创建和设置虚幻环境#
本页面包含从头到尾设置 AirSim 虚幻环境的完整说明。虚幻商城有多个环境,您只需几分钟即可开始使用。也可以使用 turbosquid.com 或 cgitrader.com 等网站上的环境,但需要多花一点功夫(这里是教程视频)。此外,还有几个免费环境可用。
下面我们将使用虚幻商城中一个名为“Landscape Mountain”的免费可下载环境,但其他任何环境的步骤都是相同的。
Linux 用户须知#
Linux 没有 Epic Games Launcher
,这意味着如果您需要创建自定义环境,您将需要一台 Windows 机器来完成。一旦您有了虚幻项目文件夹,只需将其复制到您的 Linux 机器上即可。
分步说明#
- 确保 AirSim 已构建并且已安装 Unreal 4.27,如构建说明中所述。
-
在
Epic Games Launcher
中,单击“学习”选项卡,然后向下滚动并找到Landscape Mountains
。单击Create Project
并下载此内容(约 2GB 下载)。 -
打开
LandscapeMountains.uproject
,它应该会启动虚幻编辑器。注意
Landscape Mountains 项目支持的虚幻引擎版本最高为 4.24。如果您没有安装 4.24,您应该会看到一个名为
Select Unreal Engine Version
的对话框,其中包含一个下拉菜单,可供选择已安装的版本。选择 4.27 或更高版本,将项目迁移到支持的引擎版本。如果您已安装 4.24,您可以通过在 Windows 资源管理器中导航到相应的 .uproject 文件,右键单击它,然后选择Switch Unreal Engine version...
选项来手动迁移项目。 -
从
文件菜单
中选择新建 C++ 类
,在类类型上保留默认无
,单击下一步
,保留默认名称MyClass
,然后单击创建类
。我们需要这样做,因为虚幻项目至少需要一个源文件。它应该会触发编译并打开 Visual Studio 解决方案LandscapeMountains.sln
。 -
转到您的 AirSim 仓库文件夹,并将
Unreal\Plugins
文件夹复制到您的LandscapeMountains
文件夹中。这样,您自己的虚幻项目现在就有了 AirSim 插件。注意
如果 AirSim 是全新安装,即以前从未构建过,请确保在复制
Unreal\Plugins
文件夹之前从根目录运行一次build.cmd
,以便同时包含AirLib
文件。如果您已对 Blocks 环境进行了更改,请确保从Unreal\Environments\Blocks
运行update_to_git.bat
以更新Unreal\Plugins
中的文件。 -
编辑
LandscapeMountains.uproject
,使其看起来像这样{ "FileVersion": 3, "EngineAssociation": "4.27", "Category": "Samples", "Description": "", "Modules": [ { "Name": "LandscapeMountains", "Type": "Runtime", "LoadingPhase": "Default", "AdditionalDependencies": [ "AirSim" ] } ], "TargetPlatforms": [ "MacNoEditor", "WindowsNoEditor" ], "Plugins": [ { "Name": "AirSim", "Enabled": true } ] }
-
编辑
Config\DefaultGame.ini
,在末尾添加以下行+MapsToCook=(FilePath="/AirSim/AirSimAssets")
这样做会强制虚幻引擎将所有必要的 AirSim 内容包含在项目打包构建中。
-
关闭 Visual Studio 和
Unreal Editor
,然后在 Windows 资源管理器中右键单击 LandscapeMountains.uproject,选择Generate Visual Studio Project Files
。此步骤会检测虚幻项目中的所有插件和源文件,并为 Visual Studio 生成.sln
文件。提示
如果缺少
Generate Visual Studio Project Files
选项,您可能需要重新启动机器以使虚幻 Shell 扩展生效。如果仍然缺少,请在虚幻编辑器中打开 LandscapeMountains.uproject,然后从File
菜单中选择Refresh Visual Studio Project
。 -
在 Visual Studio 中重新打开
LandscapeMountains.sln
,并确保“DebugGame Editor”和“Win64”构建配置是活动的构建配置。 -
按
F5
运行。这将启动虚幻编辑器。虚幻编辑器允许您编辑环境、资产和其他游戏相关设置。您首先要在环境中做的是设置PlayerStart
对象。在 Landscape Mountains 环境中,PlayerStart
对象已经存在,您可以在World Outliner
中找到它。确保其位置设置如所示。这是 AirSim 插件将创建和放置载具的地方。如果它太高,那么载具会在您按下播放后立即掉下来,可能会导致随机行为 -
在
Window/World Settings
中,如下所示,将GameMode Override
设置为AirSimGameMode
-
在虚幻编辑器中转到“编辑->编辑器偏好设置”,在“搜索”框中键入“CPU”,并确保“在后台时使用较少 CPU”未选中。如果您不这样做,当虚幻窗口失去焦点时,虚幻引擎会大大减慢。
-
请务必
保存
这些编辑。点击虚幻编辑器中的“播放”按钮。参阅如何使用 AirSim。
恭喜!您现在正在您自己的虚幻环境中运行 AirSim。
选择您的载具:汽车还是多旋翼#
默认情况下,AirSim 会提示用户选择使用哪种载具。您可以通过设置 SimMode 轻松更改此设置。请参阅使用汽车指南。
将您的环境更新到最新版本的 AirSim#
一旦您按照上述说明设置好环境,您应该经常将本地 AirSim 代码更新到 GitHub 上的最新版本。以下是执行此操作的说明
- 首先将clean.bat(Linux 用户为clean.sh)放入您环境的根文件夹。运行此文件以清理虚幻项目中的所有中间文件。
- 在您的 AirSim 仓库中执行
git pull
,然后执行build.cmd
(Linux 用户为./build.sh
)。 - 将 [您的项目]/Plugins 文件夹替换为 AirSim/Unreal/Plugins 文件夹。
- 右键单击您的 .uproject 文件并选择“生成 Visual Studio 项目文件”选项。Linux 不需要此操作。
常见问题#
还有哪些酷炫的环境?#
虚幻商城有数十个预构建的极其详细的环境,范围从月球到火星,以及其间的一切。我们用于测试的环境名为模块化社区包,但您可以使用任何环境。另一个免费环境是无限之刃系列。另外,如果您在 Epic Game Launcher 的“学习”选项卡下查找,您会找到许多可以使用的免费示例。我们最喜欢的一个是“男孩与他的风筝”,它是一个 100 平方英里高度详细的环境(注意:您将需要一台非常强劲的电脑才能运行它!)。
当我按下“播放”按钮时,出现了一些视频而不是我的载具。#
如果环境附带 MatineeActor,请将其删除以避免任何启动演示序列。可能还有其他方法可以删除它,例如,点击蓝图按钮,然后是关卡蓝图,然后查看事件图中的 Begin Play 事件。您可能需要断开任何可能启动“matinee”的连接。
有没有简单的方法可以将我的虚幻项目中的代码与 AirSim 仓库中的代码同步?#
当然有!您可以在 AirSim\Unreal\Environments\Blocks
中找到一堆 .bat
文件(Linux 为 .sh
)。只需将它们复制到您自己的虚幻项目中即可。其中大多数都非常简单且不言自明。
我收到关于地图的错误。#
您可能需要为您的项目设置默认地图。例如,如果您使用模块化社区包,请在项目设置 > 地图和模式中将编辑器启动地图和游戏默认地图设置为 Demo_Map。
我看到环境有“添加到项目”选项,但没有“创建项目”选项。#
在这种情况下,创建一个没有初始内容的空白 C++ 项目,然后将您的环境添加到其中。
我已经有了自己的虚幻项目。如何将其与 AirSim 一起使用?#
将您在上一节中构建的 Unreal\Plugins
文件夹复制到您的虚幻项目文件夹的根目录。在您的虚幻项目的 .uproject 文件中,向“Modules”对象添加 AdditionalDependencies
键,如我们上面在 LandscapeMountains.uproject
中所示。
"AdditionalDependencies": [
"AirSim"
]
并将 Plugins
部分添加到顶级对象
"Plugins": [
{
"Name": "AirSim",
"Enabled": true
}
]