CARLA
 
载入中...
搜索中...
未找到
Unreal/CarlaUE4/Plugins/Carla/Source/Carla/Weather/WeatherParameters.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// 头文件保护指令,确保该头文件内容在一个编译单元中只被包含一次
8#pragma once
9
10// 虚幻引擎将生成所有反射数据并将放入此文件(在处理反射数据时进行的),需要放在所有引入的头文件后面
11// 当头文件中包含#include "xxx.generated.h"时,这意味着该头文件加入了反射系统。
12// 允许引擎进行垃圾回收(GC)、蓝图与C++代码之间的通信等功能‌。
13#include "WeatherParameters.generated.h"
14
15// 使用 USTRUCT 宏定义了一个名为 FWeatherParameters 的结构体,并且标记为蓝图类 BlueprintType,意味着这个结构体可以在蓝图中使用
16// 前缀:模板T,UObject类的派生类U,AActor类的派生类A(包括子类的子类等),SWidget类的派生类S,抽象接口类I, 枚举类型E, 布尔类型变量的变量名必须加上前缀b
17USTRUCT(BlueprintType)
18struct CARLA_API FWeatherParameters // 绝大多数其它的类,类型名前会有前缀F
19{
20 // 会触发虚幻引擎的头文件生成工具(Unreal Header Tool, UHT),自动生成必要的代码,如反射信息、序列化函数等。
21 GENERATED_BODY()
22
23 // 使用 UPROPERTY 宏声明一个公有成员变量Cloudiness(云量),具有以下属性:
24 // EditAnywhere 表示可以在编辑器的任何地方进行编辑(比如蓝图编辑器或者 C++ 代码中对应的属性面板等)。
25 // BlueprintReadWrite 表示在蓝图中既可以读取该属性的值,也可以对其进行修改。
26 // meta=(ClampMin = "0.0", ClampMax = "100.0", UIMin = "0.0", UIMax = "100.0") 表示对该属性值进行范围限制(clamp表示夹住),
27 // 其最小值为0.0,最大值为100.0,在UI界面上显示的最小值和最大值也分别是0.0和100.0,这里表示云量占比的取值范围是0%到100%,默认值设为0.0f(即0%)。
28 UPROPERTY(EditAnywhere, BlueprintReadWrite, meta=(ClampMin = "0.0", ClampMax = "100.0", UIMin = "0.0", UIMax = "100.0"))
29 float Cloudiness = 0.0f;
30
31 // 类似地,声明Precipitation(降水量)属性,其取值范围也是0.0到100.0(可能表示降水量的某种相对占比之类的概念,具体取决于应用场景),默认值为0.0f,同样可在编辑器多处编辑且能在蓝图中读写。
32 UPROPERTY(EditAnywhere, BlueprintReadWrite, meta=(ClampMin = "0.0", ClampMax = "100.0", UIMin = "0.0", UIMax = "100.0"))
33 float Precipitation = 0.0f;
34
35 // PrecipitationDeposits(降水堆积量)属性,取值范围在0.0到100.0之间,默认值0.0f,具备可编辑与蓝图读写特性,用于描述降水在地面等地方堆积情况的相关度量(同样依具体应用而定)。
36 UPROPERTY(EditAnywhere, BlueprintReadWrite, meta=(ClampMin = "0.0", ClampMax = "100.0", UIMin = "0.0", UIMax = "100.0"))
37 float PrecipitationDeposits = 0.0f;
38
39 // WindIntensity(风强度)属性,取值范围是0.0到100.0,默认值设为0.35f,可编辑且能在蓝图中读写,用于衡量风的强度大小(具体数值对应的实际强度意义需结合游戏或模拟场景来确定)。
40 UPROPERTY(EditAnywhere, BlueprintReadWrite, meta=(ClampMin = "0.0", ClampMax = "100.0", UIMin = "0.0", UIMax = "100.0"))
41 float WindIntensity = 0.35f;
42
43 // SunAzimuthAngle(太阳方位角)属性,取值范围从0.0到360.0度(覆盖了整个圆周角度范围),默认值为0.0f,可编辑且支持蓝图读写,用于确定太阳在水平面上的方位角度。
44 UPROPERTY(EditAnywhere, BlueprintReadWrite, meta=(ClampMin = "0.0", ClampMax = "360.0", UIMin = "0.0", UIMax = "360.0"))
45 float SunAzimuthAngle = 0.0f;
46
47 // SunAltitudeAngle(太阳高度角)属性,取值范围是 -90.0到90.0度(从地平面下到正上方垂直角度范围),默认值设为75.0f,可编辑且能在蓝图中操作,用于表示太阳相对于地平面的高度角度。
48 UPROPERTY(EditAnywhere, BlueprintReadWrite, meta=(ClampMin = "-90.0", ClampMax = "90.0", UIMin = "-90.0", UIMax = "90.0"))
49 float SunAltitudeAngle = 75.0f;
50
51 // FogDensity(雾密度)属性,取值范围在0.0到100.0之间,默认值0.0f,可编辑并能在蓝图里读写,用来描述雾的浓密程度(比如数值越高雾越浓等情况)。
52 UPROPERTY(EditAnywhere, BlueprintReadWrite, meta=(ClampMin = "0.0", ClampMax = "100.0", UIMin = "0.0", UIMax = "100.0"))
53 float FogDensity = 0.0f;
54
55 // FogDistance(雾距离)属性,取值范围从0.0开始(可能表示雾从某个参考点开始出现的距离等含义),最大值到1000.0,默认值为0.0f,具备可编辑与蓝图读写特性,用于确定雾在场景中的有效影响距离相关度量。
56 UPROPERTY(EditAnywhere, BlueprintReadWrite, meta=(ClampMin = "0.0", UIMin = "0.0", UIMax = "1000.0"))
57 float FogDistance = 0.0f;
58
59 // FogFalloff(雾消散系数)属性,取值范围在0.0到10.0之间,默认值0.2f,可编辑且能在蓝图中操作,可能用于控制雾随着距离增加而消散的速度等相关效果参数。
60 UPROPERTY(EditAnywhere, BlueprintReadWrite, meta=(ClampMin = "0.0", UIMin = "0.0", UIMax = "10.0"))
61 float FogFalloff = 0.2f;
62
63 // Wetness(湿度)属性,取值范围是0.0到100.0,默认值0.0f,可编辑且支持蓝图读写,用于表示环境表面等的潮湿程度相关度量(比如地面、物体表面等的湿度情况)。
64 UPROPERTY(EditAnywhere, BlueprintReadWrite, meta=(ClampMin = "0.0", ClampMax = "100.0", UIMin = "0.0", UIMax = "100.0"))
65 float Wetness = 0.0f;
66
67 // ScatteringIntensity(散射强度)属性,取值范围从0.0到100.0,默认值0.0f,可编辑且能在蓝图中读写,可能用于控制光线在大气等环境中的散射效果强度相关参数。
68 UPROPERTY(EditAnywhere, BlueprintReadWrite, meta=(ClampMin = "0.0", ClampMax = "100.0", UIMin = "0.0", UIMax = "100.0"))
69 float ScatteringIntensity = 0.0f;
70
71 // MieScatteringScale(米氏散射比例)属性,取值范围在0.0到5.0之间,默认值0.0f,可编辑且支持蓝图读写,用于调整米氏散射相关效果的缩放比例(在涉及光散射模拟等场景中起作用)。
72 UPROPERTY(EditAnywhere, BlueprintReadWrite, meta=(ClampMin = "0.0", ClampMax = "5.0", UIMin = "0.0", UIMax = "5.0"))
73 float MieScatteringScale = 0.0f;
74
75 // RayleighScatteringScale(瑞利散射比例)属性,取值范围是0.0到2.0,默认值0.0331f,可编辑且能在蓝图中操作,用于控制瑞利散射相关效果的缩放程度(同样在光散射相关模拟场景中有意义)。
76 UPROPERTY(EditAnywhere, BlueprintReadWrite, meta=(ClampMin = "0.0", ClampMax = "2.0", UIMin = "0.0", UIMax = "2.0"))
77 float RayleighScatteringScale = 0.0331f;
78
79 // DustStorm(尘暴强度)属性,取值范围在0.0到100.0之间,默认值0.0f,可编辑且支持蓝图读写,用于衡量尘暴现象在场景中的强度大小(若有尘暴相关模拟场景的话)。
80 UPROPERTY(EditAnywhere, BlueprintReadWrite, meta=(ClampMin = "0.0", ClampMax = "100.0", UIMin = "0.0", UIMax = "100.0"))
81 float DustStorm = 0.0f;
82};