当前位置: 首页 > news >正文

RPG_5.角色动画

1.创建一个动画实例

2.创建该实例的c++子类

3.继续创建该类的子类,但是作用是用来链接(以后会详细解释)

4.基于PlayerAnimInstance类创建一个子类

5.目前一共创建了四个c++类,

最基的类

角色的类

玩家控制的角色的类

玩家控制的角色的武器的类

6.进入XMBCharcterAnimInstance,覆写

public:// 自定义初始化逻辑(例如设置骨骼引用、动画曲线等)virtual void NativeInitializeAnimation() override;//这个函数在一个工作线程上运行而不是在游戏线程上运行,意味着使用此函数计算需要的所有变量可以相当优化virtual void NativeThreadSafeUpdateAnimation(float DeltaSeconds) override;

创建变量

protected://设置基于角色来获取类型UPROPERTY()ACharacterBase* OwningCharacter;//移动组件UPROPERTY()UCharacterMovementComponent* OwningMovementComponent;//行走速度UPROPERTY(VisibleDefaultsOnly, BlueprintReadOnly, Category = "AnimData")float GroundSpeed;//是否有加速度UPROPERTY(VisibleDefaultsOnly, BlueprintReadOnly, Category = "AnimData")bool bHasAcceleration;

7.实现函数

//目的:在初始化动画中获取我们需要的关键变量
void UXMBCharacterAnimInstance::NativeInitializeAnimation()
{//获取当前所有者OwningCharacter = Cast<ACharacterBase>(TryGetPawnOwner());if (OwningCharacter){OwningMovementComponent = OwningCharacter->GetCharacterMovement();}
}//在更新动画中获取我们的蓝图动画需要的变量
void UXMBCharacterAnimInstance::NativeThreadSafeUpdateAnimation(float DeltaSeconds)
{if (!OwningCharacter || !OwningMovementComponent){return;}//获取当前Owner的移动速度和加速度GroundSpeed =  OwningCharacter->GetVelocity().Size2D();//判断Owner是否具有加速度bHasAcceleration = OwningMovementComponent->GetCurrentAcceleration().SizeSquared2D() > 0.f;
}

8.启动引擎,创建一个属于PlayerAnimInstance的动画蓝图

创建好后选择这个,并且能看到变量内有自己创建的变量,则成功

9.创建一个混合空间,选择

创建好后打开,在左侧栏填入变量名称,并且把x值最大改为400,

10.进入动画蓝图,创建一个状态机

11.设置状态机

12.设置完后进入角色蓝图,然后设置对应的蓝图动画即可

相关文章:

  • 如何拿奖蓝桥杯
  • UN R79 关于车辆转向装置形式认证的统一规定(正文部分2)
  • 数字智慧方案6157丨智慧医疗建设方案(85页PPT)(文末有下载方式)
  • 结构模式识别理论与方法
  • 内存 “舞台” 上,进程如何 “翩翩起舞”?(转)
  • 雅思写作--70个高频表达
  • 华为OD机试真题——斗地主之顺子(2025A卷:100分)Java/python/JavaScript/C/C++/GO最佳实现
  • JDK-17 保姆级安装教程(附安装包)
  • 运维工作中,Ansible常用模块有哪些?
  • 【Python-Day 8】从入门到精通:Python 条件判断 if-elif-else 语句全解析
  • 上位机知识篇---流水线执行
  • KWDB初体验
  • 如何通过日志在本地调试LangChain编写的程序?
  • 聊一聊接口测试如何处理鉴权
  • 数据升降级:医疗数据的“时空穿梭“系统工程(分析与架构篇)
  • cPanelWHM 的 AutoSSL
  • 算法-堆、排序算法、矩阵乘法
  • 【C语言练习】015. 声明和初始化指针
  • 恒流源电路
  • ERC Freeze的作用与原理
  • 甘肃公布校园食品安全专项整治案例,有食堂涉腐败变质食物
  • 苹果第二财季营收增长5%,受关税政策影响预计下一财季新增9亿美元成本
  • “五一”假期首日:国铁南宁局发送旅客81.7万人次
  • 王毅谈金砖国家开展斡旋调解的经验和独特优势
  • 世界黄金协会:一季度全球黄金投资需求同比增170%
  • 刘国中:毫不松懈巩固拓展脱贫攻坚成果,全力以赴抓好农业防灾减灾工作