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