跳至内容

URayCastObserver

class URayCastObserver : public UBoxObserver

一个投射射线并收集关于第一个命中对象的观察的观察者。

依赖项: FBoxPoint, FBoxSpace, UBoxObserver

继承自: public UBoxObserver

公共接口

公共函数

GetObservationSpace

virtual FBoxSpace GetObservationSpace() const const

获取包围此传感器输出的 BoxSpace。

返回:此传感器输出的观察空间边界。

注意:此函数应由任何派生类实现

返回: FBoxSpace

属性: const, virtual

来源: Schola/Source/Schola/Public/Observers/RayCastObserver.h (line 66, column 11)

实现: Schola/Source/Schola/Private/Observers/RayCastObserver.cpp (lines 5-23)

GenerateRayEndpoints

TArray<FVector> GenerateRayEndpoints(int32 InNumRays, float InRayDegrees, FVector InBaseEnd, FVector InStart, FTransform InBaseTransform, FVector InEndOffset)

生成要投射的射线的端点。

返回: 射线的端点数组。

参数

  • InNumRays (int32) – [in] 要生成的射线数量。
  • InRayDegrees (float) – [in] 第一条和最后一条射线之间的角度。
  • InBaseEnd (FVector) – [in] 射线的基准端点。
  • InStart (FVector) – [in] 射线的起始点。
  • InBaseTransform (FTransform) – [in] 应用于生成端点的变换。
  • InEndOffset (FVector) – [in] 应用于射线端点的偏移量。

返回: TArray&lt;FVector&gt;

来源: Schola/Source/Schola/Public/Observers/RayCastObserver.h (line 78, column 8)

实现: Schola/Source/Schola/Private/Observers/RayCastObserver.cpp (lines 25-60)

AppendEmptyTags

void AppendEmptyTags(FBoxPoint &OutObservations)

向射线添加空标签,以便于使用独热编码进行添加。

参数

  • OutObservations (FBoxPoint &) – [out] 用于附加结果的观察。

来源: Schola/Source/Schola/Public/Observers/RayCastObserver.h (line 84, column 6)

实现: Schola/Source/Schola/Private/Observers/RayCastObserver.cpp (lines 62-68)

HandleRayMiss

void HandleRayMiss(FBoxPoint &OutObservations, FVector &InStart, FVector &InEnd)

用于根据未命中任何内容的射线追踪附加数据的辅助函数。

参数

  • OutObservations (FBoxPoint &) – [out] 用于附加结果的观察。
  • InStart (FVector &) – [in] 射线的起始点。
  • InEnd (FVector &) – [in] 射线的端点。

来源: Schola/Source/Schola/Public/Observers/RayCastObserver.h (line 92, column 6)

实现: Schola/Source/Schola/Private/Observers/RayCastObserver.cpp (lines 70-89)

HandleRayHit

void HandleRayHit(FHitResult &InHitResult, FBoxPoint &OutObservations, FVector &InStart)

处理成功的射线追踪。

参数

  • InHitResult (FHitResult &) – [in] 射线追踪的结果。
  • OutObservations (FBoxPoint &) – [out] 用于附加结果的观察。
  • InStart (FVector &) – [in] 射线的起始点。

来源: Schola/Source/Schola/Public/Observers/RayCastObserver.h (line 100, column 6)

实现: Schola/Source/Schola/Private/Observers/RayCastObserver.cpp (lines 91-144)

CollectObservations

virtual void CollectObservations(FBoxPoint &OutObservations) override

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

参数

  • OutObservations (FBoxPoint &) – [out] 将使用此传感器输出进行更新的 BoxPoint。

属性: virtual

来源: Schola/Source/Schola/Public/Observers/RayCastObserver.h (line 106, column 14)

实现: Schola/Source/Schola/Private/Observers/RayCastObserver.cpp (lines 146-186)

GenerateId

virtual FString GenerateId() const override const

返回: FString

属性: const, virtual

来源: Schola/Source/Schola/Public/Observers/RayCastObserver.h (line 108, column 9)

实现: Schola/Source/Schola/Private/Observers/RayCastObserver.cpp (lines 188-208)

公共成员

float RayLength

float RayLength = = 4096.f

每条射线的基线长度。

将由 RayTransform 的缩放分量进行调整。

来源: Schola/Source/Schola/Public/Observers/RayCastObserver.h (line 24, column 7)

TEnumAsByte<ECollisionChannel> CollisionChannel

TEnumAsByte<ECollisionChannel> CollisionChannel

用于射线投射的碰撞通道。

来源: Schola/Source/Schola/Public/Observers/RayCastObserver.h (line 28, column 13)

bool bDrawDebugLines

bool bDrawDebugLines = = false

此传感器在运行时是否绘制调试线/球体。

来源: Schola/Source/Schola/Public/Observers/RayCastObserver.h (line 32, column 6)

bool bTraceComplex

bool bTraceComplex = = false

传感器是否应追踪复杂碰撞。

来源: Schola/Source/Schola/Public/Observers/RayCastObserver.h (line 36, column 6)

int32 NumRays

int32 NumRays = = 2

要发射的射线数量。

来源: Schola/Source/Schola/Public/Observers/RayCastObserver.h (line 40, column 7)

float RayDegrees

float RayDegrees = = 90.0f

第一条和最后一条射线之间的角度。

360 度的特殊情况。

来源: Schola/Source/Schola/Public/Observers/RayCastObserver.h (line 44, column 7)

TArray<FName> TrackedTags

TArray<FName> TrackedTags

射线碰撞时检查的 Actor 标签。

作为独热向量包含在观察中。

来源: Schola/Source/Schola/Public/Observers/RayCastObserver.h (line 48, column 8)

FTransform RayStartTransform

FTransform RayStartTransform

应用于生成射线轨迹的变换。

来源: Schola/Source/Schola/Public/Observers/RayCastObserver.h (line 52, column 12)

FVector RayEndOffset

FVector RayEndOffset

应用于生成射线轨迹端点的位置调整。

来源: Schola/Source/Schola/Public/Observers/RayCastObserver.h (line 56, column 9)

FColor DebugHitColor

FColor DebugHitColor = = FColor::Green

射线命中的调试颜色。

来源: Schola/Source/Schola/Public/Observers/RayCastObserver.h (line 60, column 8)

FColor DebugMissColor

FColor DebugMissColor = = FColor::Red

射线未命中的调试颜色。

来源: Schola/Source/Schola/Public/Observers/RayCastObserver.h (line 64, column 8)

私有接口

私有成员

constexpr const float kLineGirth

static constexpr const float kLineGirth = = 1.f

属性: static, private

来源: Schola/Source/Schola/Public/Observers/RayCastObserver.h (line 18, column 30)

constexpr const float kSphereRadius

static constexpr const float kSphereRadius = = 16.f

属性: static, private

来源: Schola/Source/Schola/Public/Observers/RayCastObserver.h (line 19, column 30)

来源: Schola/Source/Schola/Public/Observers/RayCastObserver.h (line 14, column 1)

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