ue4 C++设置骨骼网格体的动画序列

描述:在编辑器中有一个骨骼网格体,用C++创建骨骼体并加载动画序列,此处只说设置动画序列的两种方式,区别在于如何获取到动画序列的对象。

方式一:采用ConstructorHelpers创建对象,此函数只能在构造函数中调用。

复制代码
static ConstructorHelpers::FObjectFinder<UAnimSequence> AnimAsset(TEXT("/Game/person/person_Anim.person_Anim"));
if (AnimAsset.Succeeded())
{
    // 获取动画系列对象
    UAnimSequence* AnimationSequence = AnimAsset.Object;

    // 骨骼网格设置动画节点
    SkeletalMeshComponent->SetAnimationMode(EAnimationMode::AnimationSingleNode);
    // 播放动画
    SkeletalMeshComponent->PlayAnimation(AnimationSequence, true); // true for looping
}    

方式二:采用LoadObject,此函数可以在构造函数外调用

复制代码
// 获取动画系列对象
FString AniPath = TEXT("/Game/person/person_Anim.person_Anim");     // 动画路径
UAnimSequence* AnimationSequence = LoadObject<UAnimSequence>(nullptr, *AniPath);

// 骨骼网格设置动画节点
SkeletalMeshComponent->SetAnimationMode(EAnimationMode::AnimationSingleNode);
// 播放动画
SkeletalMeshComponent->PlayAnimation(AnimationSequence, true); // true for looping
  • 两种方式的区别在于获取动画序列的方式不同。
  • 其他对象,比如静态网格,骨骼网格等都可以用这两种方式获取。
相关推荐
ll77881129 分钟前
C++学习之路,从0到精通的征途:继承
开发语言·数据结构·c++·学习·算法
我不想当小卡拉米1 小时前
【Linux】操作系统入门:冯诺依曼体系结构
linux·开发语言·网络·c++
炎芯随笔1 小时前
【C++】【设计模式】生产者-消费者模型
开发语言·c++·设计模式
乌鸦9441 小时前
《类和对象(下)》
开发语言·c++·类和对象+
逐光沧海2 小时前
数据结构基础--蓝桥杯备考
数据结构·c++·算法·蓝桥杯
前进的程序员2 小时前
嵌入式开发中 C++ 跨平台开发经验与解决方案
开发语言·c++
菜一头包2 小时前
c++ std库中的文件操作学习笔记
c++·笔记·学习
吃个早饭4 小时前
2025年第十六届蓝桥杯大赛软件赛C/C++大学B组题解
c语言·c++·蓝桥杯
阿沁QWQ5 小时前
单例模式的两种设计
开发语言·c++·单例模式
六bring个六5 小时前
qtcreater配置opencv
c++·qt·opencv·计算机视觉·图形渲染·opengl