前期准备
建模工具:blender:v3.4.1;可以在Ubuntu Software商店直接下载
虚拟引擎:carla-UE4 (carla v0.9.13),无需额外安装UE4,carla中自带插件
编译carla参照官方文档:https://carla.readthedocs.io/en/0.9.13/
建模
假设前期工作准备就绪。
1)初始界面,点击General新建
![](https://img-blog.csdnimg.cn/img_convert/2439caacdc503e4d518243ae431967d0.png)
进入界面后,按键盘A全部选中,选中后全部物体均有橙色的边框,按住键盘x,选择delete全部删除。
![](https://img-blog.csdnimg.cn/img_convert/47cd1b90193116cd561ca85061bf45af.png)
删除后,空界面如下图所示
![](https://img-blog.csdnimg.cn/img_convert/68163ab111c1c86ab289a9ed4c12d870.png)
2)
(一)导入官方骨架+自己的小车
下载地址: 下图中有标蓝色的here,点击即可下载
![](https://img-blog.csdnimg.cn/img_convert/1c2b32417bad0a7783fb8f0a6a35a657.png)
骨架下载成功后,将骨架.rar文件解压,会看到两个.fbx文件(VehicleSkeletonBinary.fbx,VehicleSkeletonfbx)。
接下来将解压后得到的骨架VehicleSkeletonBinary.fbx和自己的小车模型.fbx分别导入到项目blender中。如下图所示。
![](https://img-blog.csdnimg.cn/img_convert/d1e570fc2e15e37549718de1e402c355.png)
![](https://img-blog.csdnimg.cn/img_convert/6ab662bcb2306c7375d1057c378cea75.png)
![](https://img-blog.csdnimg.cn/img_convert/0fcdb3cbc3e84323e262e594e7f5ba1a.png)
导入后可以看到骨骼和小车堆在一起,点击其中的一个骨头,按键盘A全选小车和所以骨头。可以看到边缘有橙色的框。
![](https://img-blog.csdnimg.cn/img_convert/ec8a44920cbcd65f5d48b4635dcd42db.png)
接下来设置父级关系,按住ctrl+P,选择With Empty Groups。
![](https://img-blog.csdnimg.cn/img_convert/b9baeddff5625ba773c4d59afec90dca.png)
设置成功后如下图所示,骨架和网格组合到了一起。如果不是下图一样的,需要重新设置。不要漏掉步骤哦。
![](https://img-blog.csdnimg.cn/img_convert/db52522b88a182e6ea086a000dedc31f.png)
3)
将骨头分配给网格各个部分。
点击小车,按住“键盘~”,选择Front。
![](https://img-blog.csdnimg.cn/img_convert/be90c845d7b194d89bc88a2cf14ee32c.png)
按键盘R后按键盘Z,之后输入180,按键盘Enter。小车朝向变为X轴正方向。
![](https://img-blog.csdnimg.cn/img_convert/067f32b826a7ef7e30979b5fe6387fe8.png)
按键盘G,再按键盘Z,往上方抬起一点,点击鼠标左键。不进行此操作后面小车可能会原地不动哦。
![](https://img-blog.csdnimg.cn/img_convert/371c8b8f27ecc8fb5ae7b1603d4e3f78.png)
4)
接下来将骨头调到车身和车轮的相应位置。
先进入网格模式,按键盘Z,选中WireFrame。
![](https://img-blog.csdnimg.cn/img_convert/08d698e2cb93c9865523f210e07deeaf.png)
![](https://img-blog.csdnimg.cn/img_convert/00ffa59cf0040ff073ec1ea52d5df09c.png)
按键盘S,拖动,将小车增大为carla里面其他车辆的大小,轮胎半径大概为0.35m。可点击右边的Measure工具测量。
![](https://img-blog.csdnimg.cn/img_convert/f87bf0354a69c2ec4cfbc547f5b1df52.png)
点击键盘Tab,将切换到Edit Mode,可以在界面左上角看到。
![](https://img-blog.csdnimg.cn/img_convert/01a1bb1a72fdaabe3fd5b51985b78a04.png)
点选每一个骨头
![](https://img-blog.csdnimg.cn/img_convert/e26f3c375b34a7d53f5b99c83da76aad.png)
通过键盘G+(yz轴)移动实现达到轮胎中心位置。可以点击键盘~查看各个Top和Front,Back等方位图,查看骨头的位置。
设置好了之后可以看到轮胎上会有小橙点。如下图所示。
![](https://img-blog.csdnimg.cn/img_convert/d1504c8a52a4e295efa3d5132d3e8380.png)
点击Tab推出Edit Mode。
5)给骨头assign网格。
点击Vertex Groups,看到小车变色了,再点击Tab键再进入Edit Mode模式。点击其他位置,界面为下图所示:
![](https://img-blog.csdnimg.cn/img_convert/9c90ba4703be5d354e0e153e7b789d2b.png)
点击按住左上方工具栏第一个Select按钮,选择Select Circle。Radius默认25。
![](https://img-blog.csdnimg.cn/img_convert/004ea0722f1c0b45fa0a710a262aa647.png)
进入Front视图,画出轮胎。
![](https://img-blog.csdnimg.cn/img_convert/6d1100c9fc0a3192f1858a4d8b33d36b.png)
切换视图(按鼠标中心滚轮到适合的位置),按住ctrl+mouse左键,删除不需要的网格部分。
![](https://img-blog.csdnimg.cn/img_convert/bc8300eee5c79519b68a4040ee02436b.png)
去除到这个程度就可以了,然后点击 键盘ctrl+“-”,去除其他多余部分,可以多点几次。
![](https://img-blog.csdnimg.cn/img_convert/c735400f32399a795774ad5397d8fdd1.png)
之后按下图所示,选中右侧工具栏绿色倒三角,之后选择对应的骨骼,比如我的网格为右前方的轮子,可以选中Wheel_Front_Left,再点击Assign。
![](https://img-blog.csdnimg.cn/img_convert/26b821aec7ae241e4c752c0110414dcf.png)
设置之后点Deselect取消,再点Select看是否设置成功。其他轮胎和车身均用这个方法设置。
7)
设置成功之后,点击Tab退出Edit Mode。
点pose,按ctrl+Tab进入 Pose Mode,选中其中的骨头,然后按键盘R+Y,晃动鼠标,看到只有对应的轮胎会滚动,这就是设置成功了。
![](https://img-blog.csdnimg.cn/img_convert/9eef14a49318d03406457e2b21d55fb6.png)
保存模型,点击File->Save->取个名字,保存。
最后,导出模型点击File->Export->FBX。按照下图导出文件。
![](https://img-blog.csdnimg.cn/img_convert/f5727cb290b131c04aea43dab5341abc.png)
![](https://img-blog.csdnimg.cn/img_convert/90ca893afd2ae962486fd4fbf3a90fb8.png)
建模部分成功。
之后记录轮胎的半径和宽度。
点击左侧的小尺子画线。
(二)使用carla项目中模型的骨架,这个在后面会演示可能会更简单一点。后续会更新。
配置车辆
打开终端,输入命令cd carla&&make launch,编译并打开carla-UE4。
首先,进入当下图的目录中。
![](https://img-blog.csdnimg.cn/img_convert/392b4d5bdc2724cdd00b03b622c5456d.png)
在Content Browser里点击鼠标右键,选中New Folder,新建文件夹。
进入新建的文件夹中,点击Import-> Import to /Game/Carla/...,导入刚刚创建的模型。
![](https://img-blog.csdnimg.cn/img_convert/02c1642049279ded01198202ab25c4f5.png)
![](https://img-blog.csdnimg.cn/img_convert/f162c6cfa4fb1effba63711688a0a3ad.png)
![](https://img-blog.csdnimg.cn/img_convert/fb27f828dbc76e3af83971ba8a5ab7ce.png)
导入后,
![](https://img-blog.csdnimg.cn/img_convert/26b08d50c0663122146e1da347182fec.png)
双击橙色的小车车
![](https://img-blog.csdnimg.cn/img_convert/6abb6ac5413570677bcb4d209a61b057.png)
设置车身box和车轮sphere,regenerate-bodies
![](https://img-blog.csdnimg.cn/img_convert/e0de7820426f3046179588a816a3416f.png)
![](https://img-blog.csdnimg.cn/img_convert/ba9f6d134a9026ed306495e133e20be2.png)
添加动画蓝图
![](https://img-blog.csdnimg.cn/img_convert/ff67b9e4cee252c7fd7470df770526f7.png)
![](https://img-blog.csdnimg.cn/img_convert/ce4659267746b64667ab0ac1c2e045ff.png)
退出文件夹,进入Tesla文件夹将animation复制过来。
打开animtion,双击AnimGraph,出现下面界面,把四个框复制。
再到目标文件夹中粘贴,将框连入文件中的output pose,然后compile+save
![](https://img-blog.csdnimg.cn/img_convert/57aec77e38791452b379fc20e464f867.png)
进入下图文件夹中,创建Taxixx
![](https://img-blog.csdnimg.cn/img_convert/1754c578d0bb68d131e87eb751923a2c.png)
进入Taxixx,新建蓝图类
![](https://img-blog.csdnimg.cn/img_convert/7795b1bb1e8b2862e84845a3ce1aa6cb.png)
选择BaseVehiclePawn
![](https://img-blog.csdnimg.cn/img_convert/7a2cf7b79ce4d0ecb9b6d23ec6e0f4ef.png)
![](https://img-blog.csdnimg.cn/img_convert/686ddb0f989daa9dab66851a5b97946a.png)
设置蓝图
首先,设置Mesh+Animation
![](https://img-blog.csdnimg.cn/img_convert/d2247b189b2bd81db42db8abac1a3636.png)
设置车轮蓝图
![](https://img-blog.csdnimg.cn/img_convert/2000cb65aaf6b81145fc0fee6008dc3f.png)
最后添加到车辆数组中,
进入上一级文件夹,打开VehicleFactory
加入当前小车数组
![](https://img-blog.csdnimg.cn/img_convert/6195aa4e40ca9b798084500509b87d9a.png)
导入之后Compile+Save,关闭
![](https://img-blog.csdnimg.cn/img_convert/a7caefd29f9bf32ac8cf467dcb418694.png)
点击Play,
![](https://img-blog.csdnimg.cn/img_convert/e0f9dfe8eeb217f5c013bf5ce74ea61b.png)
重新打开一个终端,启动小车车
![](https://img-blog.csdnimg.cn/img_convert/0c9927a63aea1a5ee03ad3ac2a3b7d70.png)