跳至内容

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

确定指定的通道是否被使用。

参数

名称类型默认
CapComponentUSceneCaptureComponent2D *
ChannelNameFName

返回: 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

收集环境状态的观察数据。

参数

  • OutObservationsFBoxPoint &)– [输出] 一个 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 = = true

R 通道是否被观察。

来源: Schola/Source/Schola/Public/Observers/CameraObserver.h (第 57 行, 第 6 列)

bool bObserveChannelG

bool bObserveChannelG = = false

G 通道是否被观察。

来源: Schola/Source/Schola/Public/Observers/CameraObserver.h (第 61 行, 第 6 列)

bool bObserveChannelB

bool bObserveChannelB = = false

B 通道是否被观察。

来源: Schola/Source/Schola/Public/Observers/CameraObserver.h (第 65 行, 第 6 列)

bool bObserveChannelA

bool bObserveChannelA = = false

A 通道是否被观察。

来源: 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 列)

© . This site is unofficial and not affiliated with AMD.