ucharactermovementcomponent

UCharacterMovementComponent

🎮 Unreal Engine - UCharacterMovementComponent


🏷 定义

  • UCharacterMovementComponent专为 ACharacter 提供完整角色移动功能的移动组件
  • 内置支持 行走、跑步、跳跃、下落、飞行、游泳、自定义模式 等常见角色移动逻辑。
  • 特点:功能最全、网络同步优化、可与 Capsule 碰撞和动画系统高度结合

🧩 类继承关系

UObject

└── UActorComponent

  └── USceneComponent

       └── UMovementComponent

            └── UPawnMovementComponent

                 └── UCharacterMovementComponent

  • UPawnMovementComponent:Pawn 的移动基础逻辑。
  • UCharacterMovementComponent:扩展并实现了 角色常见移动模式(走、跳、飞、游泳)。

⚙️ 关键特性

  • 内置移动模式
    • Walking:地面行走/跑步。
    • Falling:跳跃/下落。
    • Flying:自由飞行(忽略重力)。
    • Swimming:水中移动。
    • NavWalking:导航网格上的行走。
    • Custom:可扩展自定义逻辑。
  • 基础移动参数
    • MaxWalkSpeed:最大行走速度。
    • MaxAcceleration:加速度。
    • BrakingDecelerationWalking:停止时的减速度。
    • AirControl:空中移动控制系数。
    • JumpZVelocity:跳跃初速度。
    • GravityScale:重力缩放。
  • 地形适配
    • MaxStepHeight:最大可跨越台阶高度。
    • WalkableFloorAngle:最大可行走坡度角。
  • 网络同步
    • 内置 预测移动与纠正机制,适合多人联机游戏。

🛠️ 常见配置

  • MaxWalkSpeed = 600.f → 角色基础移动速度
  • JumpZVelocity = 420.f → 跳跃力度
  • AirControl = 0.35f → 空中可控性
  • GravityScale = 1.0f → 默认重力
  • BrakingDecelerationWalking = 2048.f → 停止时制动效果

📝 使用方法

1) 角色类中绑定

1
2
3
// MyCharacter.h
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="Movement")
UCharacterMovementComponent* CharacterMovement;

ACharacter 默认会创建该组件,无需手动添加。