当前位置: 首页 > news >正文

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

  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,

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

相关文章:

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

前期准备建模工具:blender:v3.4.1;可以在Ubuntu Software商店直接下载虚拟引擎:carla-UE4 (carla v0.9.13),无需额外安装UE4,carla中自带插件编译carla参照官方文档:https://carla.readthedocs.io/en/0.9.1…...

对比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. 正则化方法 知识点 记录备忘。 总体而言&…...

Android ServiceManager

1.ServiceManager ServiceManager在init进程启动后启动,用来管理系统中的Service。 一般开机过程分为三个阶段: ①OS级别,由bootloader载入linux内核后,内核开始初始化,并载入built-in的驱动程序,内核完成开机后,载入init process,切换至user-space后,结束内核的循…...

数据挖掘,计算机网络、操作系统刷题笔记53

数据挖掘,计算机网络、操作系统刷题笔记53 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开的话,你就得学数据库,sql,orac…...

地球板块运动vr交互模拟体验教学提高学生的学习兴趣

海陆变迁是地球演化史上非常重要的一个过程,它不仅影响着地球的气候、地貌、生物多样性等方面,还对人类文明的演化产生了深远的影响。为了帮助学生更加深入地了解海陆变迁的过程和机制,很多高校教育机构开始采用虚拟现实技术进行教学探究。 V…...

【Android玩机】跟大家聊聊面具Magisk的使用(安装、隐藏)

目录:1、Magisk中文网2、隐藏面具和Root(一共3种方法)1、Magisk中文网 (1)首先Magisk有一个中文网,对新手非常友好 (2)这网站里面主要包含:6 部分 (3)按照他给…...

DACS: Domain Adaptation via Cross-domain Mixed Sampling 学习笔记

DACS介绍方法Naive MixingDACSClassMix![在这里插入图片描述](https://img-blog.csdnimg.cn/ca4f83a2711e49f3b754ca90d774cd50.png)算法流程实验结果反思介绍 近年来,基于卷积神经网络的语义分割模型在众多应用中表现出了显著的性能。然而当应用于新的领域时&…...

python并发编程(并发与并行,同步和异步,阻塞与非阻塞)

最近在学python的网络编程,学了socket通信,并利用socket实现了一个具有用户验证功能,可以上传下载文件、可以实现命令行功能,创建和删除文件夹,可以实现的断点续传等功能的FTP服务器。但在这当中,发现一些概…...

【项目】DTO、VO以及PO之间的关系和区别

【项目】DTO、VO以及PO之间的关系和区别 文章目录【项目】DTO、VO以及PO之间的关系和区别1.概念2. 作用1.概念 DTO:DTO是 Data Transfer Object 的缩写,也叫数据传输对象。 PO:PO是 Persistent Object 的缩写,也叫持久化对象。 …...

Nginx介绍

什么是Nginx? Nginx 是一款高性能的 http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师伊戈尔西索夫(Igor Sysoev)所开发,官方测试 nginx 能够支支撑 5 万并发链接&#x…...

你什么档次?敢和我用一样的即时通讯平台WorkPlus?

现今,很多企业越来越青睐私有化部署,尤其是在选择组织内部即时通讯平台的时候,更是会提出私有化部署的需求。究其原因,企业选择私有化部署即时通讯软件完全是出于安全方面考虑。因此,越来越多的企业将眼光望向了本地化…...

学习资源 - 深度学习

文章目录PyTorchNLP语音CV深度学习其它在我过往博客笔记中,每个专项技术,前面我会贴上官网、官方文档、书籍教程等。 但有些topic,资源比较分散;一个博主/up主,也有可能有多个topic的分享,这里分享我遇到的…...

C语言数据结构初阶(1)----时空复杂度

目录 1. 数据结构,算法的概念 2. 算法的效率 2.1 算法复杂度 3. 时间复杂度 3.1 时间复杂度的概念 3.2 大O的渐进表示法 3.3 小试牛刀 4. 算法的空间复杂度 4.1 小试牛刀 1. 数据结构,算法的概念 数据结构(Data Structure)是计算机存储、组织数据…...

vscode SSH 保存密码自动登录服务器

先在win local上拿到秘钥,然后再把这秘钥copy 进服务器 1. 创建 RSA 密钥对 第一步是在客户端机器(通常是您的计算机 win 10)上创建密钥对:打开powershell, 输入 ssh-keygen默认情况下ssh-keygen将创建一个 2048 位 RSA 密钥对…...

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

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

Git 教程

目录1.简介:2.安装Git3.Git 如何工作状态区域4.使用Git5.Git配置5.1 创建仓库 - repository5.2 配置5.2.1 --global5.2.2 检查配置6. 查看工作区的文件状态6.1什么是工作区6.2 如果显示乱码的解决方式7.在工作区添加单个文件8. 添加工作区文件到暂存区9. 创建版本10…...

一种全新的图像滤波理论的实验(二)

一、前言 2021年12月31日,我发布了基于加权概率模型的图像滤波算法的第一个实验,当时有两个关键问题没有解决: 1、出现了大面积的黑色区域,最近考虑把这个算法实际应用在图像和视频的压缩领域,于是通过对程序的分析&a…...

Boost库文档搜索引擎

文章目录综述效果展示去标签化,清理数据构建索引用户查询综述 该项目使用了BS架构,实现了用户对Boost库进行站内搜索的功能, 用户输入关键字使用http协议通过ajax将数据发送给后端服务器,后端进行分词, 通过倒排索引…...

Linux中安装JDK

Linux中安装JDK一 、下载JDK包1、下载网址2、往下翻,找到 java83、继续往下翻找到要下载的版本 64位linux版本二 上传jdk安装包三 开始安装整体过程1、解压文件2、查看解压文件3、进入解压文件夹确认4、配置环境变量5、重新加载环境变量6、确认安装成功一 、下载JDK…...

宝塔面板公网ip非80端口非443端口部署ssl

有不少人使用家用宽带,虽然申请下来了公网ip,但是运营商封了80与443端口,但仍想使用ssl证书 一、仅封80端口 1、先在宝塔面板里创建网站,域名为test.xxx.cn:8085 2、再到域名运营商做A记录解析,此时可以通过http://…...

Opencv中的addweighted函数

一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...

使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度

文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...

代码随想录刷题day30

1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...

Kafka入门-生产者

生产者 生产者发送流程: 延迟时间为0ms时,也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于:异步发送不需要等待结果,同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...

Razor编程中@Html的方法使用大全

文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...

淘宝扭蛋机小程序系统开发:打造互动性强的购物平台

淘宝扭蛋机小程序系统的开发,旨在打造一个互动性强的购物平台,让用户在购物的同时,能够享受到更多的乐趣和惊喜。 淘宝扭蛋机小程序系统拥有丰富的互动功能。用户可以通过虚拟摇杆操作扭蛋机,实现旋转、抽拉等动作,增…...

论文阅读:LLM4Drive: A Survey of Large Language Models for Autonomous Driving

地址:LLM4Drive: A Survey of Large Language Models for Autonomous Driving 摘要翻译 自动驾驶技术作为推动交通和城市出行变革的催化剂,正从基于规则的系统向数据驱动策略转变。传统的模块化系统受限于级联模块间的累积误差和缺乏灵活性的预设规则。…...

Visual Studio Code 扩展

Visual Studio Code 扩展 change-case 大小写转换EmmyLua for VSCode 调试插件Bookmarks 书签 change-case 大小写转换 https://marketplace.visualstudio.com/items?itemNamewmaurer.change-case 选中单词后,命令 changeCase.commands 可预览转换效果 EmmyLua…...

若依登录用户名和密码加密

/*** 获取公钥:前端用来密码加密* return*/GetMapping("/getPublicKey")public RSAUtil.RSAKeyPair getPublicKey() {return RSAUtil.rsaKeyPair();}新建RSAUti.Java package com.ruoyi.common.utils;import org.apache.commons.codec.binary.Base64; im…...

Monorepo架构: Nx Cloud 扩展能力与缓存加速

借助 Nx Cloud 实现项目协同与加速构建 1 ) 缓存工作原理分析 在了解了本地缓存和远程缓存之后,我们来探究缓存是如何工作的。以计算文件的哈希串为例,若后续运行任务时文件哈希串未变,系统会直接使用对应的输出和制品文件。 2 …...