Move.h
Source/MassBattle/Public/Fragments/Move.h
概述 Overview
Agent 移动体系的 fragment 集合:配置 FMove 聚合四个维度子结构——平面 FXYMovement(速度/加速度/减速度/速度映射/场景扫描)、垂直 FZMovement(坠落/飞行/台阶/坡度/重力/堆叠)、转向 FYawMovement(转向速度/速度映射/三种转向模式/载具轮转向与轨道保护)与倾斜 FTiltMovement(俯仰/翻滚对齐与速度耦合);运行时状态 FMoving(当前/目标速度、输入缓冲、目标点、状态机、击飞、缓存地面数据、平均速度指数滑动平均(1 秒时间常数)、PBD 旋转阻力与 16 个位域标志)。另有三个枚举:EOrientMode(转向模式)、EMovementModel(移动模型:生物/载具/飞行器)、ETiltMode(倾斜作用对象)。
Agent movement fragment set: config FMove aggregates four dimensional sub-structs — planar FXYMovement (speed/accel/decel/speed maps/scene sweeps), vertical FZMovement (falling/flying/step/slope/gravity/stacking), yaw FYawMovement (turn speed/speed map/three turn modes/vehicle steering and orbit guard) and tilt FTiltMovement (pitch/roll ground alignment and velocity coupling); runtime state FMoving (current/desired velocity, input buffers, goal, state machine, launch, cached ground data, an exponential moving average of speed (1-second time constant), PBD rotational resistance and 16 bitfield flags). Three enums: EOrientMode (turn mode), EMovementModel (Creature/Vehicle/Aircraft) and ETiltMode (tilt target).
EOrientMode UENUM
转向模式枚举,由 FYawMovement::TurnMode 使用。
Turn mode enum, used by FYawMovement::TurnMode.
| 值 Value | 说明 Description |
|---|---|
OrientToPath | 面朝移动路径。Face the movement path. |
OrientToMovement | 面朝移动方向。Face the movement direction. |
AlignToPath | 对齐路径方向(允许倒退)。Align to the path direction (allows reverse). |
AlignToMovement | 对齐移动方向(允许倒退)。Align to the movement direction (allows reverse). |
EMovementModel UENUM
移动模型枚举,由 FMove::MovementModel 使用。影响转向物理(如轮转向角仅对 Vehicle 生效)。
Movement model enum, used by FMove::MovementModel. Affects turning physics (e.g. wheel steering applies to Vehicle only).
| 值 Value | 说明 Description |
|---|---|
Creature | 生物。Creature. |
Vehicle | 载具。Vehicle. |
Aircraft | 飞行器。Aircraft. |
ETiltMode UENUM
倾斜作用对象枚举,由 FTiltMovement::TiltMode 使用。
Tilt target enum, used by FTiltMovement::TiltMode.
| 值 Value | 说明 Description |
|---|---|
OnlyCollider | 仅碰撞体。Only the collider. |
OnlyMesh | 仅网格。Only the mesh. |
ColliderAndMesh | 碰撞体与网格。Collider and mesh. |
FXYMovement USTRUCT
平面(XY)移动配置子结构(普通 USTRUCT,非 fragment,作为 FMove::XY 的成员)。含速度/加速度/减速度、起步阈值、接受半径、按角度/距离的速度映射、速度钳制与墙壁/障碍物场景扫描。
Planar (XY) movement config sub-struct (plain USTRUCT, not a fragment; member of FMove::XY). Includes speed/accel/decel, initiate threshold, acceptance radius, angle/distance speed maps, speed clamp and wall/obstacle scene sweeps.
成员变量 Members
| 名称 Name | 类型 Type | 默认值 | 说明 Description |
|---|---|---|---|
bStopActiveMovement | bool | false | 仅出生时默认值——出生时播种进 FMoving.bStopActiveMovement;运行时锁存(及 StopAgentsActiveMovement API)在已同步的 FMoving 位上。出生起禁用主动移动;运行时切换请用 StopAgentsActiveMovement(已同步运行时位)。Spawn-time default only — seeded into FMoving.bStopActiveMovement at spawn; the runtime latch (and the StopAgentsActiveMovement API) lives on the synced FMoving bit. Disables active movement from spawn; for runtime toggling use StopAgentsActiveMovement (synced runtime bit). |
bMaintainConstantSpeedOnSlope | bool | false | 是否在斜坡上保持恒定速度(3D 速度)而非 XY 速度。Whether to maintain a constant speed on slopes (3D speed) instead of XY speed. |
MoveSpeed | float | 1000.f | 移动速度,下限 0。Movement speed, clamped at 0. |
MoveAcceleration | float | 1000.f | 移动加速度,下限 0。Movement acceleration, clamped at 0. |
MoveDeceleration | float | 3000.f | 刹车减速度,下限 0。Braking deceleration, clamped at 0. |
MinInitSpeed | float | 0.0f | 最小起步速度阈值,低于该值时 XY 速度被钳制为零。同时控制起步(目标速度超过该值才起步)与末端漂移(避障/碰撞残余速度被归零)。Minimum initiate speed; below it the XY velocity is clamped to zero. Gates both initiation (won't start until the target speed exceeds it) and tail-end drift (avoidance/collision residue is zeroed). |
AcceptanceRadius | float | 100.f | 与移动目标点距离低于该值时停止移动。Stop movement when the distance to the target is below this value. |
MoveSpeedRangeMapByAngle | FVector4f | (0,1,180,1) | 按角度的速度映射(X: 与移动方向的夹角, Y: 对应速度乘数, Z: 夹角, W: 乘数)。Speed map by angle (X: angle to movement direction, Y: speed multiplier, Z: angle, W: multiplier). |
MoveSpeedRangeMapByDist | FVector4f | (100,1,1000,1) | 按距离的速度映射(X: 与目标点的距离, Y: 对应速度乘数, Z: 距离, W: 乘数)。Speed map by distance (X: distance to target, Y: speed multiplier, Z: distance, W: multiplier). |
XYSpeedLimit | FVector2f | (0, 5000) | 水平速度钳制(X: 最小水平速度, Y: 最大水平速度)。Horizontal speed clamp (X: min, Y: max). |
bDoSceneTrace | bool | false | 启用墙壁/障碍物检测(统一扫描)。Enable wall/obstacle trace (Unified Trace). |
SceneTraceChannel | TEnumAsByte<ECollisionChannel> | ECC_WorldStatic | RVO 避障中墙壁/障碍物检测的追踪通道。仅 bDoSceneTrace 为 true 时可编辑。Trace channel for wall/obstacle detection in RVO avoidance. Editable only when bDoSceneTrace is true. |
SceneSweepInterval | float | 0.f | 未检测到障碍物时的场景扫描间隔(秒)。0 = 始终扫描。Interval between scene sweeps when no obstacles are detected (seconds). 0 = always sweep. |
SceneTraceCapsuleRadiusMult | float | 1.0f | 追踪胶囊半径乘数(1–5),用于横向障碍物检测。较大的值更早检测侧面障碍物,高度不变以避免地面碰撞。最终半径 = Collider.Radius × Scale × 乘数。Trace capsule RADIUS multiplier (1–5) for lateral obstacle detection. Larger detects side obstacles earlier; height unchanged to avoid ground collision. Final radius = Collider.Radius × Scale × Multiplier. |
FZMovement USTRUCT
垂直(Z)移动配置子结构(普通 USTRUCT,作为 FMove::Z 的成员)。含坠落开关与行为坠落延迟、飞行高度/速度、台阶与坡度、地面检测策略、堆叠支撑、重力与强制死亡高度。
Vertical (Z) movement config sub-struct (plain USTRUCT; member of FMove::Z). Includes falling toggle and behavioral-falling delay, fly height/speed, step and slope, ground detection strategy, stacking support, gravity and force-kill height.
成员变量 Members
| 名称 Name | 类型 Type | 默认值 | 说明 Description |
|---|---|---|---|
bEnable | bool | true | 是否启用坠落。Whether to enable falling. |
bFallAnim | bool | true | 是否可以播放坠落动画。Whether to play the falling animation. |
bCanFly | bool | false | 是否可以飞行。Whether the unit can fly. |
FallingCoyoteTime | float | 0.1f | 进入行为坠落模式前必须保持离地的秒数(关闭避障、斜坡投影、寻路、转向)。物理(重力、空气阻力)始终立即生效。0 = 立即(旧行为)。Seconds airborne before behavioral falling engages (avoidance off, slope projection off, pathfinding off, turning off). Physics (gravity, air drag) always engage immediately. 0 = instant (legacy). |
FlyHeight | FVector2f | (200, 400) | 目标飞行高度(X: 最小, Y: 最大)。使用速度和加速度跟随地形,类似斜坡移动。仅 bCanFly 为 true 时可编辑。Target fly height (X: min, Y: max). The agent follows terrain using velocity and acceleration, similar to slope movement. Editable only when bCanFly is true. |
ZSpeed | float | 300.f | 飞行单位的垂直移动速度,下限 0。Vertical movement speed for flying units, clamped at 0. |
ZAcceleration | float | 1000.f | 飞行单位的垂直加速度,下限 0。Vertical acceleration for flying units, clamped at 0. |
StepHeight | float | 35.0f | 障碍物跨越的台阶高度,下限 0。Step height for obstacle traversal, clamped at 0. |
MaxWalkableSlope | float | 45.0f | 最大可行走斜坡角度(度,0–90)。Max walkable slope angle in degrees (0–90). |
GroundHeightOffset | float | 0.0f | 将 Agent 偏移到地面内/上。正值 = 下沉到地面内(半埋),负值 = 悬浮在地面上。追踪会自动补偿。Offsets the agent into/above the ground. Positive = sink in (submerged), negative = hover above. Traces are automatically compensated. |
GroundSource | EGroundSource | FlowField | 地面检测策略(Raycast / FlowField 混合 / FlowField_Strict),枚举定义于 MassBattleEnums.h。Ground detection strategy (Raycast / FlowField hybrid / FlowField_Strict); enum defined in MassBattleEnums.h. |
GroundTraceChannel | TEnumAsByte<ECollisionChannel> | ECC_WorldStatic | 地面检测的追踪通道(射线回退模式)。仅 GroundSource != FlowField_Strict 时可编辑。Trace channel for ground detection (raycast fallback). Editable only when GroundSource != FlowField_Strict. |
StackStrength | float | 0.25f | Agent 被下方 Agent 支持的程度(0–1,0 无支持,1 全支持)。How much the agent is supported by the underlying agent (0–1; 0 = no support, 1 = full support). |
Gravity | float | -1000.f | 重力加速度。Gravity. |
KillZ | float | -10000.f | 强制死亡高度——低于此高度时强制移除。Force-kill height — force removal when below this height. |
ZSpeedLimit | FVector2f | (5000, 5000) | 垂直速度钳制(X: 最大上升速度, Y: 最大坠落速度)。Vertical speed clamp (X: max upward speed, Y: max falling speed). |
FYawMovement USTRUCT
转向(Yaw)移动配置子结构(普通 USTRUCT,作为 FMove::Yaw 的成员)。含转向速度/加速度/速度映射、最小触发速度、三种转向模式,以及载具专属的轮转向角/转向速率/对齐滞后/轨道保护参数(仅 AlignTo* 模式与 Vehicle 物理生效)。
Yaw movement config sub-struct (plain USTRUCT; member of FMove::Yaw). Includes turn speed/accel/speed map, min initiate speed, three turn modes, plus vehicle-only wheel steering angle/steering rate/align hysteresis/orbit-guard parameters (effective only in AlignTo* modes and Vehicle physics).
成员变量 Members
| 名称 Name | 类型 Type | 默认值 | 说明 Description |
|---|---|---|---|
bEnable | bool | true | 是否启用转向。Whether turning is enabled. |
TurnSpeed | float | 1000 | 转向角速度,下限 0。Turn angular velocity, clamped at 0. |
TurnAcceleration | float | 1000 | 转向角加速度,下限 0。Turn angular acceleration, clamped at 0. |
TurnSpeedRangeMapByMoveSpeed | FVector4f | (0,1,2000,1) | 基于当前 XY 移动速度的转向速度映射(X: 速度输入下限, Y: 乘数输出下限, Z: 速度输入上限, W: 乘数输出上限)。低速时转向更快,高速时转向受限。默认:无衰减。Turn speed map by current XY move speed (X: speed input min, Y: multiplier output min, Z: speed input max, W: multiplier output max). Low speed turns faster, high speed is limited. Default: no attenuation. |
MinInitSpeed | float | 0.0f | 最小转向触发速度,低于该值时停止自主转向并保持当前朝向,避免低速时残余避障/碰撞速度方向噪声引发的转向抖动。瞄准/面朝目标的强制朝向会绕过此限制。Minimum initiate turn speed; below it autonomous turning is suppressed and the current orientation is kept, preventing low-speed yaw jitter from noisy residual avoidance/collision velocity. Aim and lock-on-stationary force-face overrides bypass this gate. |
TurnMode | EOrientMode | OrientToPath | 转向模式(见 EOrientMode)。Turn mode (see EOrientMode). |
ReverseSpeedRatio | float | 0.9f | 对齐模式:倒车最高速度占有效最大速度的比例(0.05–1.0)。用于评估倒车分支耗时。仅 AlignTo* 模式可编辑。Align modes: top reverse speed as a fraction of effective max speed (0.05–1.0). Used in the TimeB forecast comparing forward vs reverse branches. Editable only in AlignTo* modes. |
AlignHysteresis | float | 0.10f | 对齐模式:切换正向/反向分支的滞后阈值(0–0.5)。仅当另一分支快于当前分支该比例时才切换,防止抖动。Align modes: hysteresis margin (0–0.5) for flipping between forward-drive and reverse-drive branches. Switch only when the other branch is faster by this fraction; prevents chatter. |
MaxSteeringAngle | float | 0.f | 载具最大轮转向角(度,0–90)。0 = 禁用(旧行为:速度始终沿底盘前向)。Maximum wheel steering angle in degrees for Vehicle (0–90). 0 disables (legacy: velocity always along chassis forward). |
SteeringRate | float | 180.f | 轮转向角变化速率(度/秒,下限 1)。控制转向响应速度。Wheel steering angle change rate in degrees per second (clamped at 1). Controls turn responsiveness. |
OrbitGuardMult | float | 0.5f | 对齐模式(仅载具物理):打破环绕的力度(节流确保转弯半径 R < 距目标距离 × 倍率;为收敛该值必须 < 1。越小越激进)。已摘除编辑器/BP 暴露——无任何配置启用过;固定默认 0.5 保持稳妥的环绕破解力度,载具物理求解路径仍读取该字段。Align modes (Vehicle physics only): orbit-break aggressiveness (throttle keeps min turn radius R below DistToGoal × mult; convergence requires R < DistToGoal so values must be < 1. Smaller = more aggressive). Editor/BP exposure retired — no authored config ever used it; the fixed 0.5 default keeps the robust orbit-break behavior and the vehicle-physics solve paths still read this field. |
OrbitMinSpeedMult | float | 0.0f | 对齐模式(仅载具物理):轨道保护激活时的最小速度乘数(0–1)。0 = 允许完全停止并原地转向以打破轨道锁(推荐)。已摘除编辑器/BP 暴露;固定默认 0.0(允许停车原地转向),载具物理求解路径仍读取该字段。Align modes (Vehicle physics only): minimum speed multiplier (0–1) when the orbit guard is active. 0 = allow full stop and pivot-in-place to break orbit-lock (recommended). Editor/BP exposure retired; fixed default 0.0 (full-stop pivot allowed) and the vehicle-physics solve paths still read this field. |
RotationalResistanceScale | float | 0.f | 扫掠弧占位转向抑制强度(0–1)。旋转中的水平胶囊(坦克)每帧扫过一个弧区;弧区被其他单位/障碍物占据的比例按乘法折减转速。1 = 弧占满时完全停转;0.5 = 转速减半;0 禁用。占位与质量无关——轻单位站在扫掠弧内即可拖慢重单位,无论位置上谁让步。竖直胶囊(步兵)无扫掠体,不受影响。Sweep-arc occupancy turn suppression strength (0–1). A rotating horizontal capsule (tank) sweeps an arc each frame; the fraction of that arc occupied by agents/obstacles multiplicatively scales turn rate down. 1 = a fully-occupied arc stops rotation outright; 0.5 = halves it; 0 disables. Occupancy is mass-independent — light units in the sweep arc slow heavy units regardless of who yields positionally. Vertical capsules (infantry) have no sweep body and are never affected. |
FTiltMovement USTRUCT
倾斜移动配置子结构(普通 USTRUCT,作为 FMove::Tilt 的成员)。地面法线俯仰/翻滚对齐 + 速度耦合的俯仰/翻滚(每单位速度的角度乘数)。
Tilt movement config sub-struct (plain USTRUCT; member of FMove::Tilt). Ground-normal pitch/roll alignment plus velocity-coupled pitch/roll (angle per unit of speed).
成员变量 Members
| 名称 Name | 类型 Type | 默认值 | 说明 Description |
|---|---|---|---|
bAlignToGroundPitch | bool | false | 根据地面法线对齐俯仰角(需要多点地面追踪)。Align pitch to the ground normal (requires multi-point ground traces). |
bAlignToGroundRoll | bool | false | 根据地面法线对齐翻滚角(需要多点地面追踪)。Align roll to the ground normal (requires multi-point ground traces). |
PitchAngleLimit | float | 45.0f | 最大俯仰角限制(度,0–90)。Maximum pitch angle limit in degrees (0–90). |
RollAngleLimit | float | 45.0f | 最大翻滚角限制(度,0–90)。Maximum roll angle limit in degrees (0–90). |
TiltSpeed | float | 10.0f | 倾斜插值速度,下限 0。Tilt interpolation speed, clamped at 0. |
TiltMode | ETiltMode | ColliderAndMesh | 哪些组件受倾斜影响(见 ETiltMode)。Which components are affected by tilt (see ETiltMode). |
VerticalSpeedToPitchMult | float | 0.0f | 每单位垂直速度(Z 速度)的俯仰角度。正值 = 上升时抬头。Pitch angle per unit of vertical speed (Z velocity). Positive = pitch up when ascending. |
ForwardSpeedToPitchMult | float | 0.0f | 每单位前进速度的俯仰角度。正值 = 前进时低头。Pitch angle per unit of forward speed. Positive = pitch down when moving forward. |
LateralSpeedToRollMult | float | 0.0f | 每单位横向速度的翻滚角度。正值 = 向右移动时向右倾斜(自然倾斜);负值 = 反向。Roll angle per unit of lateral speed. Positive = roll right when moving right (natural banking); negative = roll left. |
TurnRateToRollMult | float | 0.0f | 每单位角速度的翻滚角度(偏航率,度/秒)。正值 = 向转向方向倾斜(自然倾斜);负值 = 反向。Roll angle per unit of angular velocity (yaw rate in deg/sec). Positive = roll in the turn direction (natural banking); negative = opposite. |
FMove USTRUCT
移动配置 fragment,派生自 FA_MassBattleBaseFragment。聚合四个维度子结构(XY / Z / Yaw / Tilt)与移动模型枚举。所有字段为策划可调参数,运行时不变。
Movement config fragment derived from FA_MassBattleBaseFragment. Aggregates the four dimensional sub-structs (XY / Z / Yaw / Tilt) plus the movement model enum. All fields are designer-tunable and constant at runtime.
成员变量 Members
| 名称 Name | 类型 Type | 默认值 | 说明 Description |
|---|---|---|---|
bEnable | bool | true | 是否启用移动属性。Whether movement properties are enabled. |
MovementModel | EMovementModel | Creature | 移动模型类型(生物/载具/飞行器)。仅编辑默认值,运行时只读。Movement model type (Creature/Vehicle/Aircraft). EditDefaultsOnly, read-only at runtime. |
XY | FXYMovement | — | 平面运动配置。Planar movement config. |
Z | FZMovement | — | 垂直运动配置。Vertical movement config. |
Yaw | FYawMovement | — | 转向配置。Turn config. |
Tilt | FTiltMovement | — | 倾斜运动配置。Tilt movement config. |
FMoving USTRUCT
移动运行时状态 fragment,派生自 FA_MassBattleBaseFragment,由移动处理器逐帧推进。含速度、输入缓冲、目标点、状态机、击飞、飞行高度、缓存地面数据、平均速度指数滑动平均(时间常数 1 秒,供卡住检测)、PBD 旋转阻力与 16 个位域标志。
Movement runtime state fragment derived from FA_MassBattleBaseFragment, advanced per frame by the move processor. Includes velocities, input buffers, goal, state machine, launch, flying height, cached ground data, an exponential moving average of the 2D speed (1-second time constant, for stuck detection), PBD rotational resistance and 16 bitfield flags.
成员变量 Members
| 名称 Name | 类型 Type | 默认值 | 说明 Description |
|---|---|---|---|
CurrentVelocity | FVector3f | (0,0,0) | 当前线速度。Current linear velocity. |
DesiredVelocity | FVector3f | (0,0,0) | 想要达成的线速度。Desired linear velocity. |
PendingInputVector | FVector3f | (0,0,0) | 每帧累积的移动输入(对应 APawn::ControlInputVector),由移动处理器每帧消费一次。Per-frame accumulated movement input (mirrors APawn::ControlInputVector); consumed once per tick by the move processor. |
LastInputVector | FVector3f | (0,0,0) | 上次消费的输入向量(对应 APawn::LastControlInputVector),由移动处理器每帧写入,仅内部诊断用。Last consumed input vector (mirrors APawn::LastControlInputVector); written by the move processor each tick, internal diagnostics only. |
CurrentAngularVelocity | float | 0 | 当前角速度。Current angular velocity. |
SteeringAngle | float | 0.f | 载具当前轮转向角(度)。帧间持久。Current wheel steering angle in degrees for Vehicle. Persisted across frames. |
Goal | FVector | (0,0,0) | 目标位置。始终有值——出生时默认为出生点,并由 MoveTo/追击/巡逻更新。Desired destination. Always filled — defaults to the spawn location and is updated by MoveTo/chase/patrol. |
MoveState | EMoveState | None | 当前移动状态(None/Moving/Arrived/Returning),枚举定义于 MassBattleEnums.h。Current movement state (None/Moving/Arrived/Returning); enum defined in MassBattleEnums.h. |
ActiveMoveToTaskID | uint32 | 0 | 当前拥有该 Agent 移动权的 AgentsMoveTo 任务 ID。用于检测新任务认领,使旧任务静默放弃。ID of the AgentsMoveTo task currently owning this agent's movement. Detects when a newer task claims the agent so the old task can silently drop it. |
LaunchVelSum | FVector3f | (0,0,0) | 累积的击飞速度。Accumulated launch velocity. |
PushBackSpeedOverride | float | 0 | 击退速度覆盖。Override speed for pushback. |
FlyingHeight | float | 0 | 飞行单位目标高度。使用速度和加速度平滑移动到此高度。Target height above ground for flying units; the agent smoothly moves toward it using velocity and acceleration. |
MoveSpeedMult | float | 1 | 移动速度乘数。Movement speed multiplier. |
TurnSpeedMult | float | 1 | 转向速度乘数。Turn speed multiplier. |
CurrentTilt | FQuat4f | Identity | 当前倾斜旋转。Current tilt rotation. |
CachedGroundNormal | FVector3f | (0,0,1) | 缓存的地面法线向量。Cached ground normal vector. |
CachedGroundZ | float | 0.f | 缓存的地面表面 Z 高度。Cached ground surface Z height. |
LaunchingTimeLeft | float | 0.f | 击飞状态剩余时间。Time left for the launching state. |
FallingTimer | float | 0.f | 坠落状态延迟计时器。Timer for the falling-state delay. |
SceneSweepTimer | float | 0.f | 场景扫描间隔计时器。Timer for the scene sweep interval. |
AverageSpeed | float | 0.f | 2D 速度的指数滑动平均,时间常数 1 秒——按步长(dt)自适应,取代了依赖 tick 率的 5 tick 环形缓冲:无论步长配置为何,窗口都是 1 秒模拟时间。由 MoveProcessor/MoveProcessorFP 在块首写入(上一帧最终速度,已定稿且确定);供任务卡住检测(MoveTo/ChaseAttack)消费。经 UPROPERTY 快照同步。Exponential moving average of the 2D speed with a 1-second time constant — dt-aware, replacing the tick-rate-dependent 5-tick ring: the window is one second of sim time regardless of the configured step. Fed by MoveProcessor/MoveProcessorFP at start-of-block (previous frame's final velocity, settled and deterministic); consumed by task stuck checks (MoveTo/ChaseAttack). Snapshot-synced via UPROPERTY. |
bMovingToGoal | uint8 : 1 | 0 | 正在朝 Goal 移动(非 idle)。Actively moving toward Goal (not idle). |
bPreviouslyInAcceptanceRadius | uint8 : 1 | 0 | 上一帧接受半径状态(边沿检测)。Previous acceptance-radius edge-detect state. |
bCachedHitGround | uint8 : 1 | 0 | 本帧是否接触地面。Hit ground this frame. |
bHasRecentSceneHit | uint8 : 1 | 0 | 上次场景扫描检测到障碍物。Last scene sweep detected obstacles. |
bCachedSupportedByCollision | uint8 : 1 | 0 | 上一帧被其他 Agent 支撑。Supported by other agents last frame. |
bCachedTouchingObst | uint8 : 1 | 0 | 上一帧接触障碍物→发布到网格。In obstacle contact last frame → grid publish. |
bCachedIsAvoidingObst | uint8 : 1 | 0 | 上一帧避让障碍物→发布到网格。Avoiding obstacle neighbors last frame → grid publish. |
bCachedLocalDisturbance | uint8 : 1 | 0 | 上一帧重单位过境(非让步/重得多的单位进入范围)→归位准入冻结。Heavy transit (non-yielding / much-heavier agent) within range last frame → return admission freeze. |
bCachedSideStepObligation | uint8 : 1 | 0 | 上一帧静止自身欠 ≥1 个过路者的侧让(净空缺口)→归位准入冻结——侧让优先于回归。Idle self owed ≥1 passer a sidestep (clearance deficit) last frame → return admission freeze — sidestep outranks return. |
bCachedCollidedAgent | uint8 : 1 | 0 | 上一帧处于 agent 对 agent 的 PBD 接触——Section 9 压力门读此位(随快照恢复;旧的处理器数组读取在 resync 后过期)。In agent-vs-agent PBD contact last frame — the Section 9 pressure gate reads this (snapshot-restored; the former processor-array read went stale after resync). |
bAlignReverseActive | uint8 : 1 | 0 | 对齐倒退模式滞后状态。Align reverse-mode hysteresis state. |
bMoveToLocked | uint8 : 1 | 0 | BP MoveTo 任务持有移动权(内部)。BP MoveTo task owns movement (internal). |
bMoveToSuspended | uint8 : 1 | 0 | 高优先级行为中断 MoveTo(内部)。Higher-priority behavior interrupted MoveTo (internal). |
bMoveInputIgnored | uint8 : 1 | 0 | 置位时抛弃非强制移动输入(对应 AController::IsMoveInputIgnored)。Discard non-bForce movement input when set (mirrors AController::IsMoveInputIgnored). |
bComponentDrivenPosition | uint8 : 1 | 0 | 位置由组件驱动(ComponentToEntity 同步)。Location driven by the component (ComponentToEntity sync). |
bStopActiveMovement | uint8 : 1 | 0 | 主动移动已禁用(运行时锁存;出生时由 FMove.XY.bStopActiveMovement 配置播种)。已同步——旧的配置 fragment 写入在快照重建后会丢失。Active movement disabled (runtime latch; seeded at spawn from the FMove.XY.bStopActiveMovement config). Synced — the legacy config-fragment write was lost on snapshot rebuild. |
RotationalResistance | float | 0.f | PBD 接触累积的旋转阻力(绕 Z 轴扭矩),由转向处理消费,每帧重置。PBD-accumulated rotational resistance (torque around Z), consumed by the yaw section, reset each frame. |
管线角色 Pipeline Role
grep 验证:FMoving / FMove 被 MassBattleAgentMoveProcessor(.FP)(主移动逻辑:速度推进、转向、坠落/飞行、输入消费)、MassBattleAgentBehaviorProcessor(MoveTo/追击/巡逻写 Goal)、MassBattleAgentReactionProcessor(Return 卡住检测)、MassBattleAgentComponent(输入提交)、MassBattleLootComponent / MassBattleProjectileComponent 与 MassBattleNetworkGameStateBase(快照)引用。
Verified by grep: FMoving / FMove are referenced by MassBattleAgentMoveProcessor(.FP) (main movement logic: velocity advance, turning, falling/flying, input consumption), MassBattleAgentBehaviorProcessor (MoveTo/chase/patrol write Goal), MassBattleAgentReactionProcessor (Return stuck detection), MassBattleAgentComponent (input submission), MassBattleLootComponent / MassBattleProjectileComponent and MassBattleNetworkGameStateBase (snapshots).