系统要求
- X64 系统:simulator 应该运行在 64 位系统
- 165GB 磁盘空间:CARLA 大概 32GB,定制的 UE4 版本和其他相关软件大概占 133GB
- 足够的 GPU:至少需要 6GB,但通常推荐 8GB
- TCP 端口与网络连接:默认是 2000 和 2001,使用前确保这两个端口没有被防火墙给 block,端口用于UE4生成的客户端与python的脚本服务器端进行交互
软件要求
- Cmake:通过简单 cmakelist 配置文件可以生成标准构建文件
- git:管理 CARLA 存储库的版本控制系统
- Make:生成可执行文件,必须要求 make3.81 版本,否则构建可能会产生错误,不知道版本的可以使用 make --version 命令查看当前版本
- 7Zip:这是文件压缩软件,去搜索安装即可,若未安装则需手动解压后面下载资源步骤的内容
- Python3 x64:CARLA 客户端为主要为 python 脚本,如果是 x32 版本则会产生冲突,可在 cmd 窗口中输入 python 检查是否为 x64
注:确保将上述程序添加到环境变量 path,添加的路径应与程序的 bin 目录相对应。一定要确保版本号,构建过程很久,重新来太费时了
python 依赖
- python 版本应为 3.7
- pip3 版本要高于 20.03
- 需要添加 setuptools 和 wheel 两个依赖
pip3 -V # 检查 pip3 版本
pip3 install --upgrade pip # 更新 pip3
pip3 install --user setuptools # 安装依赖
pip3 install --user wheel
Visual Studio2019
需要在 visual studio installer 中安装:
- Windows 8.1 SDK (我安装时已经找不到了,用的是 Windows10.1 SDK),在右侧 Indivdual Components 标签页找即可
- x64 Visual C++ Toolset 在使用 C++ 的桌面开发 下找到,记得最后 make 阶段需要在 x64 native tools command promte for VS 2019 下使用 make 指令,否则会报错
- .NET framework 4.6.2 在 workloads 中的 .NET 桌面开发下安装这个部分
Unreal Engine
CARLA 从 0.9.12 版本开始使用 UE4.26 的修改版本,可通过这个教程来建立 Epic 账户与 Github 账户的连接
- 在终端中切换到要保存 UE4 的路径,然后运行以下命令克隆 CARLA 分支
git clone --depth 1 -b carla https://github.com/CarlaUnreal/UnrealEngine.git
注:UE4 保存路径尽可能短(我这里保存到 E:/),太长的话在运行 Setup.bat 时可能会报错。若未建立账户之间的连接,则该命令找不到相应的分支,可在自己 Github 的主页上查看是否已加入
- 运行配置脚本,这一步会比较久
# 我这里运行 ./Setup.bat
Setup.bat
GenerateProjectFiles.bat
-
编译修改后的引擎
-
在安装 UE4 的文件夹中找到 UE4.sln,点击打开进入到 VS2019
-
在构建栏中选择 ‘Development Editor’, ‘Win64’ 和 ‘UnrealBuildTool’,如下:
-
在解决方案资源管理器中,右键单击 UE4 并选择 Build(构建)
-
编译完成后,可以在如下路径打开虚幻引擎编辑器:Engine\Binaries\Win64\UE4Editor.exe
-
构建 CARLA
- 首先,克隆 CARLA 存储库
git clone https://github.com/carla-simulator/carla
- 下载最新资源,若为下载 7zip 则手动解压再放到 Unreal\CarlaUE4\Content\Carla 中,这一步骤耗时较久,且可能需要科学上网。如果资源没有解压,则在 make lanuch 加载到 75% 时会出现错误(Fatal Error!)
Update.bat # 在保存路径下
-
设置虚幻引擎环境变量,变量名为 UE4_ROOT,值为 UE4 安装路径(有UE4.sln的目录),如下
-
构建 CARLA——所有的命令都应该通过 x64 Native Tools Command Prompt for VS 2019 来运行,且需要在 CARLA 安装目录下
- 通过以下命令编译 python API 客户端
make PythonAPI
注:编译时可能因为网络原因,导致部分文件没有下载完成,从而出现上面的问题,可删除相应的文件夹再运行命令。这一步比耐心,我重复删除再运行了较长一段时间才搞好。这里通过删除红框中文件夹(recast-0b13b0-src)后再运行 make PythonAPI
- 通过以下命令编译服务器,耗时较长,若 UE4_ROOT 环境变量没有配置好,会出现找不到 UE4 路径错误
make launch
运行结果如下
注:在还没点击运行时可通过鼠标放置到窗口,滚动可向前或向后;按住拖动则会改变视角方向。运行后可由用户通过键盘的 wasd 建移动。