前言
书接上回,(源码阅读《CarlaUE5 UChaosVehicleMovementComponent关键调用链》)总结完MovementComponent
是怎么被调用的,相当于把核心部分的调用总结了,本文就把头尾都补充一下:
- 头:
- 哪里控制可以创建什么车辆
- 当client起
spawn_actor
请求时,车辆是怎么创建出来的
- 尾:
- 当client发起
apply_control
请求时,控制指令是怎么驱动车辆的 - client又是如何拿到更新后的车辆信息的
- 当client发起
加上本文的内容之后,关于CarlaUE5的整体框架总结应该算是比较完整了:
- 关于构建客户端:技术总结《在Win11上构建UE5版本的Carla》
- 关于整体框架:源码阅读《CarlaUE5整体架构》
- 关于控制移动的
MovementComponent
:源码阅读《CarlaUE5 UChaosVehicleMovementComponent关键调用链》 - 关于创建车辆以及控制车辆:本文
下面就先介绍头,再介绍尾:
创建车辆SpawnActor
这一部分比较有意思的地方在于有不少东西是通过UE Editor的UI界面去控制的(标有blueprint的模块)
控制车辆ApplyControl
这一部分比较有意思的地方在于车辆(UpdatedPrimitive
)是直接在simulator被更新的,我一开始还以为simulator只负责计算,实际更新会在别的地方