IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> Ubuntu18.04安装carla0.9.9 & UE4.24踩坑版 -> 正文阅读

[游戏开发]Ubuntu18.04安装carla0.9.9 & UE4.24踩坑版

Ubuntu18.04安装carla0.9.9 & UE4.24踩坑版

Ubuntu18.04安装carla0.9.9 & UE4.24踩坑版

博主安装环境:Ubuntu18.04+ROS melody+Python3.8源码编译完整安装,花了将近一周时间来安装,记录下安装过程及踩到的坑。整个下载安装编译过程请保证科学上网

一.前期准备

carla0.9.9需要Ubuntu18.04系统,据说16.04也可以但尽量不要尝试,避免麻烦最好安装18.04,磁盘空间建议预留出150G剩余空间,实测UE4.24大小74个G,Carla0.9.9大小40个G。还需要4G的GPU。如果电脑配置不够建议安装简易版本carla。官网链接:
https://carla.readthedocs.io/en/latest/start_quickstart/

1.注册Epic账号,并且与自己的github账户绑定

在这里插入图片描述博主是用steam账户注册的,注册好epic账户后进入个人中心

在这里插入图片描述因为博主已经绑定过自己的github账户所以显示已经链接,链接具体操作过程比较简单,csdn或者百度搜索下即可。绑定后进入自己的个github账户就可以看到Epic发布的UE库源码了。github搜索UnrealEngin,fork一下就可以。(注:不绑定github与Epic账户是搜不到UnreaEngin源码的)

2. 依赖项安装

安装vulkan-sdk
Ubuntu 18 安装 vulkan-sdk

wget -qO - http://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo apt-key add -
sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-bionic.list http://packages.lunarg.com/vulkan/lunarg-vulkan-bionic.list
sudo apt update
sudo apt install vulkan-sdk

端口配置

iptables -I INPUT -p tcp --dport 2000 -j ACCEPT
iptables -I INPUT -p tcp --dport 2001 -j ACCEPT
iptables-save

依赖安装

sudo apt-get update &&
sudo apt-get install wget software-properties-common &&
sudo add-apt-repository ppa:ubuntu-toolchain-r/test &&
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add - &&
sudo apt-add-repository "deb http://apt.llvm.org/$(lsb_release -c --short)/ llvm-toolchain-$(lsb_release -c --short)-8 main" &&
sudo apt-get update

Ubuntu 18.04 额外的依赖

sudo apt-get install build-essential clang-8 lld-8 g++-7 cmake ninja-build libvulkan1 python python-pip python-dev python3-dev python3-pip libpng-dev libtiff5-dev libjpeg-dev tzdata sed curl unzip autoconf libtool rsync libxml2-dev &&
pip2 install --user setuptools &&
pip3 install --user setuptools 

修改默认 clang 版本.

sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/lib/llvm-8/bin/clang++ 180 &&
sudo update-alternatives --install /usr/bin/clang clang /usr/lib/llvm-8/bin/clang 180

3.git clone下载ue源码

注:不要从github直接下载源码,安装过程中会报错,请一定使用git clone命令安装

#下面这条命令就是下载UE的,根据官网要求,0.9.9版的carla把UE升级为了4.24版本,之前安装过的需要先卸载
#再安装这个版本
#--depth=1表示获取最近一次更新
# -b 4.24表示分支为4.24
#~/UnrealEngine_4.24表示在系统更目录创建名为UnrealEngine_4.24的文件夹,源码保存在这个文件夹下面
#如果通过windows来直接下载的ZIP格式的文件,下面的命令行不需要执行,把下载的文件解压缩到根目录就可

git clone --depth=1 -b 4.24 https://github.com/EpicGames/UnrealEngine.git ~/UnrealEngine_4.24

下载完毕后根据官网的命令来编译

cd ~/UnrealEngine_4.24

#这里需要下在一个文本格式的文件
wget https://carla-releases.s3.eu-west-3.amazonaws.com/Linux/UE_Patch/430667-13636743-patch.txt ~/430667-13636743-patch.txt
patch --strip=4 < ~/430667-13636743-patch.txt

#编译
./Setup.sh && ./GenerateProjectFiles.sh && make

#打开UE
cd ~/UnrealEngine_4.24/Engine/Binaries/Linux && ./UE4Editor

出现以下界面证明安装成功!

在这里插入图片描述可以看到版本号即为我们git clone时选择的4.24。第一次读条比较慢,耐心等待直至出现如下界面:
在这里插入图片描述出现后ctrl+c关闭终端即可,在bashrc中添加一下系统变量,将如下内容添加到文件末尾:

# Unreal Engine  换成自己UE4对应的路径
export UE4_ROOT=~/<你自己电脑路径>/UnrealEngine_4.24

二.Carla0.9.9源码编译安装

1.依赖项安装

sudo apt-get install build-essential clang-8 lld-8 g++-7 cmake ninja-build libvulkan1 python python-pip python-dev python3-dev python3-pip libpng16-dev libtiff5-dev libjpeg-dev tzdata sed curl unzip autoconf libtool rsync libxml2-dev git &&
pip2 install --user setuptools &&
pip3 install --user -Iv setuptools==47.3.1 &&
pip2 install --user distro &&
pip3 install --user distro

2.git clone下载carla源码
输入以下命令:

#下面这条命令就是下载Carla的,根据官网要求,0.9.9版的carla把UE升级为了4.24版本,之前安装过的需要先卸载
#再安装这个版本
#--depth=1表示获取最近一次更新
# -b 0.9.9表示分支为0.9.9
#~/Carla_0.9.9表示在系统更目录创建名为Carla_0.9.9的文件夹,源码保存在这个文件夹下面
git clone --depth=1 -b 0.9.9 https://github.com/carla-simulator/carla ~/Carla_0.9.9

注:一定使用git clone安装carla,github源码下载的carla在编译过程中会出现与git相关的报错:

wh@wh-System-Product-Name:~/carla$ make launch
Setup.sh: llvm-8.0 already installed.
Setup.sh: boost-1.72.0-c8 already installed.
Setup.sh: rpclib-v2.2.1_c2-c8 already installed.
Setup.sh: gtest-1.8.1-c8 already installed.
Setup.sh: recast-cdce4e-c8 already installed.
fatal: bad revision 'HEAD'
Util/BuildTools/Linux.mk:135: recipe for target 'setup' failed
make: *** [setup] Error 128

fatal: bad revision 'HEAD’这个问题是与git相关的,用download可能会出现这个问题。

上述命令-b 0.9.9可根据自己需求选择想要的Carla版本例如想下载最新的carla0.9.12的话命令行改为-b 0.9.12即可。不过请慎用,一定选择与博主相同的环境即UE4.24+Carla0.9.9。截至21年9月份Carla已经更新至0.9.12版本,不过官网文档说明0.9.12版本的carla需要对应UE4.26,所以按照本教程安装好的UE4.24是无法为carla0.9.12提供开发环境的,carla编译过程中会报错的。carla与ue版本的对应也是安装过程中的一大坑,一定根据官网文档一一对应carla与ue的版本,也不建议基于最新发布的版本进行开发。

3.源码编译

#这个命令是可以优化下载效果的的,不然可能下载出错后就必须重新下载,最好还是装一个这个
sudo apt-get install aria2

#去相关目录下运行下载脚本,下载相关内容content,大约11个G
#建议铁子们在夜深人静的时候关掉大片(大人看的片,嘿嘿嘿)科研使我快乐
#因为白天下载网速实在感人,可能就我实验室的慢也不一定,看情况而定
cd ~/carla_0.9.9
./Update.sh

#./Update.sh后为了防止后续build过程中出现问题,最好先备份一份update之后的文件夹内容10G左右
cp ~/carla_0.9.9 ~/carla_0.9.9_backup

make launch
#make launch其实包含三条命令
#make setup
#make LibCarla
#make CarlaUE4Editor
#分开执行也可以,方便看具体报错。若编译过程中报错,修改错误之后继续编译请输入make rebuild或者先输入
#make clean 然后 make launch。

#编译PythonAPI
make PythonAPI.3
#carla ue开发环境主要依赖python3,建议安装python3.5以上版本

make package
#生成可执行文件,运行即可打开Carla,否则需要输入命令make launch-only开启carla

全部success之后执行
make launch-only,出现如下界面则安装成功:
在这里插入图片描述在这里插入图片描述
4.测试例程

cd ~/Carla_0.9.9/PythonAPI
python3 manual_control.py
#执行上述命令可能会报一些缺少例如pygame numpy等Python依赖库,自行安装一下即可。
#需求的依赖库说明在PythonAPI/examplex/requirements.txt中有

若报如下错误RuntimeError:

INFO: listening to server 127.0.0.1:2000
Example of automatic vehicle control from client side.
Traceback (most recent call last):
  File "automatic_control.py", line 846, in <module>
    main()
  File "automatic_control.py", line 839, in main
    game_loop(args)
  File "automatic_control.py", line 687, in game_loop
    world = World(client.get_world(), hud, args)
RuntimeError: time-out of 4000ms while waiting for the simulator, make sure the simulator is ready and connected to 127.0.0.1:20

打开3.源码编译小节第二幅图所示的编辑页面,点击播放,然后再运行Python脚本即可。
在这里插入图片描述出现如下界面,恭喜你安装成功!
操作跟GTA大致差不多,wasd 空格
在这里插入图片描述

三.踩坑总结

小坑1:博主最开始安装UE+carla的时候东看一个教程,西看一个教程,导致UE与Carla版本不匹配,carla源码编译总是报一些莫名其妙网上还搜不到的错误。Carla版本一定要与UE一一对应。Carla0.9.9对应UE4.24、Carla0.9.12对应UE4.26等,具体对应关系请看官方文档或者gitHub Carla里的说明

小坑2:博主在安装过程中尝试安装了一次UE4.22,编译UE的过程中报错具体忘记了,大致内容是本机装的clang版本过高(8.0),编译4.22的UE需要clang6.0或7.0

小坑3:Ubuntu自带的Python是2.7,CARLA最好是需要Python 3.5及以上版本。

小坑4:编译PythonAPI的时候报错显示setup.py的第36还是37行module ‘platform’ has no attribute ‘linux_distribution’
解决方案:

if os.name == "posix":
        # @todo Replace deprecated method.
        linux_distro = platform.dist()[0]  # pylint: disable=W1505
#添加一个头文件且改为下面这样:
import distro
if os.name == "posix":
        # @todo Replace deprecated method.
        linux_distro = distro.linux_distribution()[0]  # pylint: disable=W1505
#修改之前最好备份以下setup.py,毕竟要在源码基础上更改。

报错原因:python3.7以后platform.linux_distribution()被移除了。博主为Python3.8环境,可能3.6或者3.5的python就不会报这个错。
具体参考链接:报错原因
小坑5:运行examples中的python脚本时可能会提示缺少依赖项例如pygame,numpy等,博主是pygame2.0版本

小坑6:编译PythonAPI报错ModuleNotFoundError: No module named ‘distro‘
在这里插入图片描述解决参考链接:解决

小坑7:安装编译完成后运行PythonAPI中example的例程,python maunal_control.py手动控制车辆时会发现FPS较低特别卡顿,解决方法:选择Carla编辑界面左上角编辑,然后选择编辑器偏好设置
在这里插入图片描述在左侧一排选择性能,勾选掉处于背景中时占用较少CPU即可。

大坑1:千万不要直接download carla源码,一定要用git clone来下载!,因为不这样的话下载的版本可能就会出现与git相关的问题

在这里插入图片描述fatal: bad revision 'HEAD’这个问题是与git相关的,用download可能会出现这个问题

**博主安装过程中主要参考了以下链接:**转给需要的同学
1.https://blog.csdn.net/feng0217/article/details/107186071?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163065732216780264067774%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=163065732216780264067774&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_v2~rank_v29-5-107186071.pc_search_result_cache&utm_term=carla+%E7%BC%96%E8%AF%91%E6%8A%A5%E9%94%99&spm=1018.2226.3001.4187

2.https://blog.csdn.net/feng0217/article/details/107186071?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163065732216780264067774%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=163065732216780264067774&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_v2~rank_v29-5-107186071.pc_search_result_cache&utm_term=carla+%E7%BC%96%E8%AF%91%E6%8A%A5%E9%94%99&spm=1018.2226.3001.4187

3.https://blog.csdn.net/maitianpt/article/details/108984885?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_utm_term~default-0.essearch_pc_relevant&spm=1001.2101.3001.4242

4.https://blog.csdn.net/DoHer/article/details/107121127?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163031518716780274180998%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=163031518716780274180998&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~rank_v29_ecpm-3-107121127.first_rank_v2_pc_rank_v29&utm_term=Util%2FBuildTools%2FLinux.mk%3A83%3A+recipe+for+target+%27CarlaUE4Editor%27+failed&spm=1018.2226.3001.4187

5.https://zhuanlan.zhihu.com/p/44851915

6.https://www.jianshu.com/p/46e487fbf76c

7.https://blog.csdn.net/qq_17759721/article/details/106723581

8.https://blog.csdn.net/davidhopper/article/details/81485872?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163031518716780274180998%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=163031518716780274180998&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~rank_v29_ecpm-2-81485872.first_rank_v2_pc_rank_v29&utm_term=Util%2FBuildTools%2FLinux.mk%3A83%3A+recipe+for+target+%27CarlaUE4Editor%27+failed&spm=1018.2226.3001.4187

9.https://blog.csdn.net/weixin_39880458/article/details/106874566?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163031518716780274180998%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=163031518716780274180998&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~rank_v29_ecpm-1-106874566.first_rank_v2_pc_rank_v29&utm_term=Util%2FBuildTools%2FLinux.mk%3A83%3A+recipe+for+target+%27CarlaUE4Editor%27+failed&spm=1018.2226.3001.4187

10.https://blog.csdn.net/maitianpt/article/details/108984885?utm_medium=distribute.pc_relevant.none-task-blog-2defaultBlogCommendFromBaidudefault-4.essearch_pc_relevant&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2defaultBlogCommendFromBaidudefault-4.essearch_pc_relevant

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2021-09-08 11:04:24  更:2021-09-08 11:05:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/21 17:39:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码