CARLA
载入中...
搜索中...
未找到
Unreal
CarlaUE4
Plugins
Carla
Source
Carla
Settings
QualityLevelUE.h
浏览该文件的文档.
1
// Copyright (c) 2017 Computer Vision Center (CVC) at the Universitat Autonoma
2
// de Barcelona (UAB).
3
//
4
// This work is licensed under the terms of the MIT license.
5
// For a copy, see <https://opensource.org/licenses/MIT>.
6
7
#pragma once
8
// 预处理指令,用于保证该头文件在编译过程中只会被包含一次,避免因重复包含而引发编译错误,这是C++中常见的防止头文件重复包含的做法。
9
10
#include <
compiler/disable-ue4-macros.h
>
11
// 引入一个头文件,从文件名推测其作用可能是禁用虚幻引擎4(UE4)相关的一些宏定义,也许是为了避免在后续包含其他文件或进行代码编写时,UE4宏带来的一些潜在冲突或不符合当前需求的行为。
12
#include <
carla/rpc/QualityLevel.h
>
13
// 包含这个头文件,里面应该定义了与carla项目中RPC(远程过程调用)相关的画质等级(QualityLevel)的类型及相关内容,后续代码会基于这个文件里的定义来进行一些操作和关联。
14
#include <
compiler/enable-ue4-macros.h
>
15
// 引入这个头文件,与前面的“disable-ue4-macros.h”相对应,可能是用于重新启用之前被禁用的虚幻引擎4相关宏定义,恢复到正常的UE4宏可用的状态,方便使用UE4特定的功能和语法等。
16
17
18
#include "QualityLevelUE.generated.h"
19
// 包含这个自动生成代码相关的头文件,在虚幻引擎开发中,这类头文件配合引擎的代码生成工具,会生成诸如反射、序列化等必要的代码,以保障类或者枚举等能在虚幻引擎体系下正常工作,例如能在蓝图中使用、进行对象持久化等操作。
20
21
#define CARLA_ENUM_FROM_RPC(e) static_cast<uint8>(carla::rpc::QualityLevel:: e)
22
// 将carla::rpc::QualityLevel类型 转换为 uint8
23
24
// 启动时的画质等级,通过命令指定:CarlaUE4.exe -quality-level=Low
25
// 这是一段注释,用于说明下面定义的枚举类型的用途,即表示启动时的画质等级,并且说明了可以通过在命令行输入“CarlaUE4.exe -quality-level=Low”这样的命令来指定画质等级。
26
UENUM(BlueprintType)
27
// 使用“UENUM”宏来定义一个虚幻引擎中的枚举类型,“BlueprintType”参数表示这个枚举类型可以在蓝图(UE4的可视化脚本系统)中使用,方便在蓝图里进行相关的逻辑设置和操作等。
28
29
enum class
EQualityLevel
: uint8
30
{
31
Null
= 0,
32
// 解决 UE4.24 枚举问题
33
Low
=
CARLA_ENUM_FROM_RPC
(
Low
)
UMETA
(DisplayName =
"Low"
),
34
// Medium = CARLA_ENUM_FROM_RPC(Medium) UMETA(DisplayName = "Medium"),
35
// 这里是被注释掉的枚举值定义,原本应该是按照和“Low”类似的方式定义“Medium”这个画质等级对应的枚举值,并设置在蓝图中的显示名称,可能是暂时不需要或者后续再完善等原因被注释掉了。
36
// High = CARLA_ENUM_FROM_RPC(High) UMETA(DisplayName = "High"),
37
// 同样是被注释掉的枚举值定义,用于定义“High”画质等级对应的枚举值及蓝图显示名称相关设置,和上面情况类似,暂时未启用。
38
Epic
=
CARLA_ENUM_FROM_RPC
(
Epic
)
UMETA
(DisplayName =
"Epic"
),
39
// 定义枚举值“Epic”,通过“CARLA_ENUM_FROM_RPC”宏将“carla::rpc::QualityLevel”中的“Epic”值转换为uint8类型赋值,并用“UMETA”宏设置在蓝图中显示的名称为“Epic”。
40
41
42
SIZE
UMETA
(Hidden),
43
// 定义一个枚举值“SIZE”,并通过“UMETA”宏将其标记为“Hidden”,意味着在一些常规的可视化界面(比如蓝图属性查看等场景)中这个枚举值是隐藏的,可能它有特殊的内部使用用途,不希望对外展示。
44
INVALID
UMETA
(Hidden)
45
// 定义枚举值“INVALID”,同样使用“UMETA”宏标记为“Hidden”,使其在常规可视化界面中不显示,大概也是用于特定的内部逻辑判断或者错误处理等情况。
46
};
47
48
static_assert
(
49
static_cast<
uint8
>
(EQualityLevel::SIZE) ==
static_cast<
uint8
>
(
carla::rpc::QualityLevel::SIZE
),
50
"Please keep these two enums in sync."
);
51
// 确保该类EQualityLevel中画质数量 和 carla::rpc::QualityLevel的画质数量相等
52
53
#undef CARLA_ENUM_FROM_RPC
54
// 取消之前定义的“CARLA_ENUM_FROM_RPC”宏定义,避免这个宏在后续代码中可能产生的意外影响,确保代码的作用域和逻辑清晰性,符合良好的代码编写规范。
EQualityLevel
EQualityLevel
Definition
QualityLevelUE.h:30
EQualityLevel::Low
@ Low
EQualityLevel::UMETA
@ UMETA
EQualityLevel::Null
@ Null
EQualityLevel::Epic
@ Epic
CARLA_ENUM_FROM_RPC
#define CARLA_ENUM_FROM_RPC(e)
Definition
QualityLevelUE.h:21
QualityLevel.h
EVehicleInputPriority::INVALID
@ INVALID
disable-ue4-macros.h
enable-ue4-macros.h
carla::rpc::QualityLevel::SIZE
@ SIZE
制作者
1.10.0