文章目录
前言
1、在自动驾驶仿真调试以及测试过程中,我们经常会用到雷达的探测锥,能够很直观地看到目标是否在雷达探测范围内。
2、而在unreal engine中可视化探测锥体其实很简单,有两种方法,一种是通过创建蓝图的方法,一种是调用C++函数,这篇文章简单讲一下两种方法的实现。
一、C++实现方法
1、DrawDebugCone函数
其实就是Unreal engine用于绘制调试锥体的函数;
void DrawDebugCone(const UWorld* InWorld, FVector const& Origin, FVector const& Direction, float Length, float AngleWidth, float AngleHeight, int32 NumSides, FColor const& Color, bool bPersistentLines=false, float LifeTime=-1.f, uint8 DepthPriority = 0, float Thickness = 0.f)
参数名 | 描述 |
---|---|
InWorld | carla当前世界 |
Origin | 探测锥的起始位置 |
Direction | 探测锥的方向 |
Length | 探测锥的长度,即探测的最远距离 |
AngleWidth | 水平FOV` |
AngleHeight | 垂直FOV` |
NumSides | 探测射线的数量 |
Color | 探测射线的颜色 |
bPersistentLines | 是否不持久显示 |
LifeTime | 生存周期,-1表示永久存在 |
Thickness | 射线的粗细 |
2、carla工程修改
1)找到对应路径下的:\unrealengine\carla\Unreal\CarlaUE4\Plugins\Carla\Source\Carla\Sensor\Radar.h
,在private加入函数定义void DrawRadarCone();
,如下图所示:
2)找到对应路径下的:\UnrealEngine\carla\Unreal\CarlaUE4\Plugins\Carla\Source\Carla\Sensor\Radar.cpp
,将#include "Runtime/Engine/Public/DrawDebugHelpers.h"
添加到上方,如下图所示:
3)找到对应路径下的:\UnrealEngine\carla\Unreal\CarlaUE4\Plugins\Carla\Source\Carla\Sensor\Radar.cpp
,将下述代码复制到Radar.cpp的最下方;