carla0.9.13-UE4添加4轮车模型(Linux系统)

news2024/11/29 12:42:42
  1. 前期准备

建模工具:blender:v3.4.1;可以在Ubuntu Software商店直接下载

虚拟引擎:carla-UE4 (carla v0.9.13),无需额外安装UE4,carla中自带插件

编译carla参照官方文档:https://carla.readthedocs.io/en/0.9.13/

  1. 建模

假设前期工作准备就绪。

1)初始界面,点击General新建

进入界面后,按键盘A全部选中,选中后全部物体均有橙色的边框,按住键盘x,选择delete全部删除。

删除后,空界面如下图所示

2)

(一)导入官方骨架+自己的小车

下载地址: 下图中有标蓝色的here,点击即可下载

骨架下载成功后,将骨架.rar文件解压,会看到两个.fbx文件(VehicleSkeletonBinary.fbx,VehicleSkeletonfbx)。

接下来将解压后得到的骨架VehicleSkeletonBinary.fbx和自己的小车模型.fbx分别导入到项目blender中。如下图所示。

导入后可以看到骨骼和小车堆在一起,点击其中的一个骨头,按键盘A全选小车和所以骨头。可以看到边缘有橙色的框。

接下来设置父级关系,按住ctrl+P,选择With Empty Groups。

设置成功后如下图所示,骨架和网格组合到了一起。如果不是下图一样的,需要重新设置。不要漏掉步骤哦。

3)

将骨头分配给网格各个部分。

点击小车,按住“键盘~”,选择Front。

按键盘R后按键盘Z,之后输入180,按键盘Enter。小车朝向变为X轴正方向。

按键盘G,再按键盘Z,往上方抬起一点,点击鼠标左键。不进行此操作后面小车可能会原地不动哦。

4)

接下来将骨头调到车身和车轮的相应位置。

先进入网格模式,按键盘Z,选中WireFrame。

按键盘S,拖动,将小车增大为carla里面其他车辆的大小,轮胎半径大概为0.35m。可点击右边的Measure工具测量。

点击键盘Tab,将切换到Edit Mode,可以在界面左上角看到。

点选每一个骨头

通过键盘G+(yz轴)移动实现达到轮胎中心位置。可以点击键盘~查看各个Top和Front,Back等方位图,查看骨头的位置。

设置好了之后可以看到轮胎上会有小橙点。如下图所示。

点击Tab推出Edit Mode。

5)给骨头assign网格。

点击Vertex Groups,看到小车变色了,再点击Tab键再进入Edit Mode模式。点击其他位置,界面为下图所示:

点击按住左上方工具栏第一个Select按钮,选择Select Circle。Radius默认25。

进入Front视图,画出轮胎。

切换视图(按鼠标中心滚轮到适合的位置),按住ctrl+mouse左键,删除不需要的网格部分。

去除到这个程度就可以了,然后点击 键盘ctrl+“-”,去除其他多余部分,可以多点几次。

之后按下图所示,选中右侧工具栏绿色倒三角,之后选择对应的骨骼,比如我的网格为右前方的轮子,可以选中Wheel_Front_Left,再点击Assign。

设置之后点Deselect取消,再点Select看是否设置成功。其他轮胎和车身均用这个方法设置。

7)

设置成功之后,点击Tab退出Edit Mode。

点pose,按ctrl+Tab进入 Pose Mode,选中其中的骨头,然后按键盘R+Y,晃动鼠标,看到只有对应的轮胎会滚动,这就是设置成功了。

保存模型,点击File->Save->取个名字,保存。

最后,导出模型点击File->Export->FBX。按照下图导出文件。

建模部分成功。

之后记录轮胎的半径和宽度。

点击左侧的小尺子画线。

(二)使用carla项目中模型的骨架,这个在后面会演示可能会更简单一点。后续会更新。

  1. 配置车辆

打开终端,输入命令cd carla&&make launch,编译并打开carla-UE4。

首先,进入当下图的目录中。

在Content Browser里点击鼠标右键,选中New Folder,新建文件夹。

进入新建的文件夹中,点击Import-> Import to /Game/Carla/...,导入刚刚创建的模型。

导入后,

双击橙色的小车车

设置车身box和车轮sphere,regenerate-bodies

添加动画蓝图

退出文件夹,进入Tesla文件夹将animation复制过来。

打开animtion,双击AnimGraph,出现下面界面,把四个框复制。

再到目标文件夹中粘贴,将框连入文件中的output pose,然后compile+save

进入下图文件夹中,创建Taxixx

进入Taxixx,新建蓝图类

选择BaseVehiclePawn

设置蓝图

首先,设置Mesh+Animation

设置车轮蓝图

最后添加到车辆数组中,

进入上一级文件夹,打开VehicleFactory

加入当前小车数组

导入之后Compile+Save,关闭

点击Play,

重新打开一个终端,启动小车车

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/363866.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

mysql存储引擎、事务、索引

目录MySQL进阶存储引擎什么是存储引擎常用存储引擎事务什么是事务怎么理解提交事务 和回滚事务事务特性事务的隔离级别索引什么是索引索引的实现原理什么条件下,我们会考虑给字段添加索引呢?什么条件下,索引会失效?索引分类MySQL进阶 存储引…

Scala的变量声明

文章目录变量声明(一)简单说明(二)利用val声明变量1,声明方式2,案例演示(三)利用var声明变量1,声明方式2,案例演示(四)换行输入语句&a…

横道图时间标尺在P6软件中的设置

卷首语 由于其直观简洁且易于管理的特性,使其成为展示项目活动顺序及时间安排的最常用的进度管理工具。 甘特图 甘特图(Gantt Chart),又称为横道图或棒条图,是最早的项目进度管理工具之一。由于其直观简洁且易于管理…

从WEB到PWA 开发-发布-安装

见意如题!本文主要来说说PWA开发!作为一个前端程序员,在没有任何Android/IOS的开发情况下,想想我们有多少种方法来开发一个原生移动应用程序!我们可以有非原生、混合开发,PWA等等手段。类似uniapp&#xff…

LabVIEW应用程序(EXE)无法正确动态调用插件

LabVIEW应用程序(EXE)无法正确动态调用插件正在构建一个应用程序并使用插件架构,以便可以动态调用将来创建的VI(插件)。应用程序在LabVIEW开发环境中可以正常运行,但不能作为可执行程序运行。运行可执行文件…

STM32-CAN控制器介绍

STM32-CAN控制器介绍 对CAN接口部分重要知识点进行记录,更详细的需要查看参考手册 CAN协议介绍:https://blog.csdn.net/weixin_46251230/article/details/129147612 bxCAN简介 STM32的CAN接口叫做bxCAN,bxCAN是基本扩展CAN(Basic Extende…

第五次作业:修改redis的配置文件使得windows的图形界面客户端可以连接redis服务器

1. 安装 Redis 依赖 Redis 是基于 C语言编写的,因此首先需要安装 Redis 所需要的 gcc 依赖: yum install -y gcc tcl 2、上传安装文件 将下载好的 redis-6.2.7.tar.gz 安装包上传到虚拟机的任意目录(一般推荐上传到 /usr/local/src目录&am…

3.基于分割的文本检测算法--DBNet++

文章目录1.概况2.DBNet中的主要方法2.1 网络结构2.2 适应特征图融合模块(Adaptive Scale Fusion Module, ASF)3.ASF模块的源码实现参考资料欢迎访问个人网络日志🌹🌹知行空间🌹🌹 1.概况 2022年02月份论文:Real-Time S…

对比yolov4和yolov3

目录 1. 网络结构的不同 1.1 Backbone 1.1.1 Darknet53 1.1.2 CSPDarknet53 1.2 Neck 1.2.1 FPN 1.2.2 PAN 1.2.3 SPP 1.3 Head 2. ​​​​​数据增强​​​​​ 2.1 CutMix 2.2 Mosaic 3. 激活函数 4. 损失函数 5. 正则化方法 知识点 记录备忘。 总体而言&…

云计算|OpenStack|使用VMware安装华为云的R006版CNA和VRM

前言: FusionCompute架构 (CNA、VRM) CNA(ComputingNode Agent):计算节点代理VNA虚拟节点代理,部署在CNA上,实施计算、存储、网络的虚拟化的配置管理。VRM(Virtual Resource Manager):虚拟资源管理器 VNA可以省略不安装 本次实验使用的是V…

关于客户背景调查的两个案例,说下我的真实看法

这篇文章我只是想客观陈述下事实,并没有对他人的贬低与对自己的吹捧之意。只是想通过这样两件小事,传递出来一个观点:在外贸业务开发过程中,很多时候正是那些我们内心抗拒,不愿意沉下心去做的事,才给了我们…

关于vue3生命周期的使用、了解以及用途(详细版)

生命周期目录前言组合式写法没有 beforeCreate / created 生命周期,并且组合式写生命周期用哪个先引哪个beforeCreatecreatedbeforeMount/onBeforeMountmounted/onMountedbeforeUpdate/onBeforeUpdateupdated/onUpdatedbeforeUnmount/onBeforeUnmountunmounted/onUn…

数据库及缓存之MySQL(一)

思维导图 常见知识点 1.mysql存储引擎: 2.innodb与myisam区别: 3.表设计字段选择: 4.mysql的varchar(M)最多存储数据: 5.事务基本特性: 6.事务并发引发问题: 7.mysql索引: 8.三星索引&#xf…

常见的分类算法及分类算法的评估方法

文章目录贝叶斯分类法(Bayes)决策树(Decision Tree)支持向量机(SVM)K近邻(K-NN)逻辑回归(Logistics Regression)线性回归和逻辑回归的区别神经网络&#xff0…

JavaWeb12-线程通讯(线程等待和唤醒)

目录 1.方法介绍 1.1.wait()/wait(long timeout):让当前线程进入等待状态。 1.1.1.wait执行流程 1.1.2.wait结束等待的条件 1.1.3.wait() VS wait(long timeout) 1.1.4.为什么wait要放在Object中? --->PS:wait(0) 和 sleep(0) 的区…

算法训练营 day52 动态规划 买卖股票的最佳时机系列1

算法训练营 day52 动态规划 买卖股票的最佳时机系列1 买卖股票的最佳时机 121. 买卖股票的最佳时机 - 力扣(LeetCode) 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票…

VR全景多种玩法打破传统宣传,打造全新云端视界

传统的展示方式只是在进行单方面的表达,不论是图片、视频,都无法让浏览者有参与感,这样的展示宣传效果自然比不上VR全景展示,VR全景基于真实场景来形成三维图像,其沉浸式和无视野盲区的特点让用户更有真实感和沉浸感&a…

python -- 魔术方法

魔术方法就算定义在类里面的一些特殊的方法 特点:这些func的名字前面都有两个下划线 __new__方法 相当于一个类的创建一个对象的过程 __init__方法 相当于为这个类创建好的对象分配地址初始化的过程 __del__方法 一个类声明这个方法后,创建的对象如果…

九龙证券|创业板向未盈利企业敞开大门 考验投行估值定价能力

未盈余企业上市有了新选择。2月17日,全面实行股票发行注册制相关准则规矩发布施行。深交所发布《深圳证券交易所创业板股票上市规矩(2023年修订)》及《关于未盈余企业在创业板上市相关事宜的告诉》,“预计市值不低于50亿元&#x…

设计模式C++实现23:中介者模式(Mediator)

部分内容参考大话设计模式第25章;本实验通过C语言实现。 一 原理 意图:用一个中介对象来封装一系列对象的交互,中介者使得各个对象不需要显示地相互引用,从而使耦合松散,而且可以独立地改变它们之间的交互。 上下文…