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
  • 两种方式的区别在于获取动画序列的方式不同。
  • 其他对象,比如静态网格,骨骼网格等都可以用这两种方式获取。
相关推荐
快乐zbc2 小时前
【C++ 基础】:给定一个指针 p,你能判断它是否指向合法的对象吗?
c++
sulikey3 小时前
C++类和对象(下):初始化列表、static、友元、内部类等核心特性详解
c++·static·初始化列表·友元·匿名对象·内部类·编译器优化
oioihoii4 小时前
C++网络编程:从Socket混乱到优雅Reactor的蜕变之路
开发语言·网络·c++
笨鸟要努力4 小时前
Qt C++ windows 设置系统时间
c++·windows·qt
神仙别闹4 小时前
基于C++实现(控制台)应用递推法完成经典型算法的应用
开发语言·c++·算法
AA陈超7 小时前
Lyra学习004:GameFeatureData分析
c++·笔记·学习·ue5·虚幻引擎
xlq223228 小时前
22.多态(下)
开发语言·c++·算法
不会c嘎嘎8 小时前
【数据结构】AVL树详解:从原理到C++实现
数据结构·c++
AKDreamer_HeXY9 小时前
ABC434E 题解
c++·算法·图论·atcoder
罗湖老棍子9 小时前
完全背包 vs 多重背包的优化逻辑
c++·算法·动态规划·背包