UCameraObserver
class UCameraObserver : public UBoxObserver一个从环境中收集 2D 观察的观察器。
该传感器使用 SceneCaptureComponent2D(https://dev.epicgames.com/documentation/en-us/unreal-engine/1.7—scene-capture-2d?application_version=4.27)和 RenderTarget(https://dev.epicgames.com/documentation/en-us/unreal-engine/BlueprintAPI/RenderTarget?application_version=5.5)来捕获环境图像。要使用此传感器,必须先在 Unreal 编辑器中创建 SceneCaptureComponent2D 和 RenderTarget,并在传感器设置中进行选择。
更改 SceneCaptureComponent2D 中的 CompositeMode 设置,以选择相机的操作模式(RGB、RGB-深度、仅深度)。
RenderTarget 设置建议:Advanced —> Shared = true
SceneCaptureComponent2D 设置建议:bCaptureEveryFrame = true bRenderInMainRenderer = true CompositeMode = overwrite
依赖项: FBoxPoint, FBoxSpace, UBoxObserver
继承自: public UBoxObserver
公共接口
公共函数
GetObservationSpace
virtual FBoxSpace GetObservationSpace() const const获取包围此传感器输出的 BoxSpace。
返回:此传感器输出的观察空间边界。
注意:此函数应由任何派生类实现
返回: FBoxSpace
属性: const, virtual
来源: Schola/Source/Schola/Public/Observers/CameraObserver.h (第 71 行, 第 11 列)
实现: Schola/Source/Schola/Private/Observers/CameraObserver.cpp (第 53-60 行)
IsChannelUsed
bool IsChannelUsed(USceneCaptureComponent2D *CapComponent, FName ChannelName) const const确定指定的通道是否被使用。
参数
| 名称 | 类型 | 默认 |
|---|---|---|
CapComponent | USceneCaptureComponent2D * | “ |
ChannelName | FName | “ |
返回: bool
属性: const
来源: Schola/Source/Schola/Public/Observers/CameraObserver.h (第 74 行, 第 6 列)
实现: Schola/Source/Schola/Private/Observers/CameraObserver.cpp (第 102-169 行)
UpdateChannelBooleans
void UpdateChannelBooleans()根据相机模式设置 bObserveChannelR、bObserveChannelG、bObserveChannelB、bObserveChannelA。
来源: Schola/Source/Schola/Public/Observers/CameraObserver.h (第 77 行, 第 6 列)
实现: Schola/Source/Schola/Private/Observers/CameraObserver.cpp (第 185-193 行)
GenerateId
virtual FString GenerateId() const override const返回: FString
属性: const, virtual
来源: Schola/Source/Schola/Public/Observers/CameraObserver.h (第 79 行, 第 9 列)
实现: Schola/Source/Schola/Private/Observers/CameraObserver.cpp (第 195-236 行)
CollectObservations
virtual void CollectObservations(FBoxPoint &OutObservations) override收集环境状态的观察数据。
参数
OutObservations(FBoxPoint &)– [输出] 一个 BoxPoint,它将更新为该传感器的输出。
属性: virtual
来源: Schola/Source/Schola/Public/Observers/CameraObserver.h (第 90 行, 第 14 列)
实现: Schola/Source/Schola/Private/Observers/CameraObserver.cpp (第 62-100 行)
InitializeObserver
virtual void InitializeObserver()执行任何子类特定的设置。
注意:任何派生类都应实现此函数。
属性: virtual
来源: Schola/Source/Schola/Public/Observers/CameraObserver.h (第 92 行, 第 6 列)
实现: Schola/Source/Schola/Private/Observers/CameraObserver.cpp (第 7-52 行)
公共成员
FComponentReference SceneCaptureCompRef
FComponentReference SceneCaptureCompRef用于捕获图像的相机组件。
来源: Schola/Source/Schola/Public/Observers/CameraObserver.h (第 49 行, 第 21 列)
TObjectPtr<UTextureRenderTarget2D> RenderTarget
TObjectPtr<UTextureRenderTarget2D> RenderTarget捕获图像存储到的渲染目标。
来源: Schola/Source/Schola/Public/Observers/CameraObserver.h (第 53 行, 第 12 列)
bool bObserveChannelR
bool bObserveChannelR = = trueR 通道是否被观察。
来源: Schola/Source/Schola/Public/Observers/CameraObserver.h (第 57 行, 第 6 列)
bool bObserveChannelG
bool bObserveChannelG = = falseG 通道是否被观察。
来源: Schola/Source/Schola/Public/Observers/CameraObserver.h (第 61 行, 第 6 列)
bool bObserveChannelB
bool bObserveChannelB = = falseB 通道是否被观察。
来源: Schola/Source/Schola/Public/Observers/CameraObserver.h (第 65 行, 第 6 列)
bool bObserveChannelA
bool bObserveChannelA = = falseA 通道是否被观察。
来源: Schola/Source/Schola/Public/Observers/CameraObserver.h (第 69 行, 第 6 列)
Protected Interface
受保护的成员
int Width
int Width捕获图像的宽度。
属性: protected
来源: Schola/Source/Schola/Public/Observers/CameraObserver.h (第 39 行, 第 5 列)
int Height
int Height捕获图像的高度。
属性: protected
来源: Schola/Source/Schola/Public/Observers/CameraObserver.h (第 43 行, 第 5 列)
来源: Schola/Source/Schola/Public/Observers/CameraObserver.h (第 32 行, 第 1 列)