Skip to content

YuuFrag学习记录 共享笔记库

与你的相遇就是奇迹

RECENT_UPDATES 最近更新

2026.06.09

指针

2026.06.08

Rider 踩坑

2026.06.08

锁定系统

2026.06.08

UE 接口

UE 接口

正常来说,在 C++ 内实现接口就直接写个纯虚类。但是由于这是 U++,其庞大的反射系统、蓝图、编辑器、序列化、UFUNCTION 调用机制等作用下,就需要遵照 UE 的接口形式来写

普通使用

C++
UINTERFACE(...)
class UxxxInterface : public UInterface
{
    GENERATED_BODY()
};

class IxxxInterface
{
    GENERATED_BODY()

public:
    // 接口函数
};

| 部分 | 作用 | |

2026.06.06

基础控制

基础控制

既然 UE 的 Gameplay 提供了参数丰富的CharacterMovementComponent,不妨直接用,然后进行参数等的修改

建立第三人称模板时候,默认已经实现了最基础的 Character, PlayerController, 并且定义好了 GameMode 可以直接使用

基础行为拓展

已经定义好了基础 Move, Jump 和 Look,但是还不够,还要更多些 —— 先添加 Dash 和 Sprint

  • 建立 IA
  • 绑定 Input Mapping Context
  • 在 Character 中声明并且绑定按键触发的事件
  • 在 Blueprint 中配置具体 IA / IMC 引用

一套非常明确的流程

Dash 的时候设置一个 CoolDown Time, 非常方便, 可以在计时器结束的时候直接触发回调函数, 鉴定为比 Unity 协程更方便

手感优化

摄像头

默认不带 CameraLag,不过平滑跟随是对的

USpringArmComponent 文档说明,Spring Arm 可以作为 camera boom 使用,让相机与玩家保持距离,并在碰撞时自动收缩;其中 bEnableCameraLag 会让相机位置滞后目标位置,从而平滑移动,CameraLagSpeed 控制相机追上目标的速度。

于是 ——

C++
CameraBoom->bEnableCameraLag = true;
CameraBoom->CameraLagSpeed = 12.0f;

特别的, CameraLagSpeed=0 表示无滞后 / 直接跟随

注意:CameraLagSpeed 只有在 bEnableCameraLag = true 时才参与计算。

移动

BrakingDecelerationWalking 停下移动时的阻力, 如果数值设置小可以类似在冰面滑动

同样的,BrakingDecelerationFalling 是控制在空中的水平速度衰减

RotationRate 角色转身速度

| Yaw RotationRate | 感觉 | |

2026.06.06

摄像机优化

Released under the MIT License.