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
  • 两种方式的区别在于获取动画序列的方式不同。
  • 其他对象,比如静态网格,骨骼网格等都可以用这两种方式获取。
相关推荐
橘子真甜~2 分钟前
C/C++ Linux网络编程15 - 网络层IP协议
linux·网络·c++·网络协议·tcp/ip·计算机网络·网络层
asiwxy2 小时前
OpenGL 材质
c++
阿华hhh2 小时前
Linux系统编程(标准io)
linux·开发语言·c++
程序喵大人3 小时前
推荐个 C++ 练习平台
开发语言·c++·工具推荐
fpcc3 小时前
跟我学C++中级篇——std::is_invocable的分析应
c++
Code Slacker5 小时前
LeetCode Hot100 —— 滑动窗口(面试纯背版)(四)
数据结构·c++·算法·leetcode
SHERlocked936 小时前
摄像头 RTSP 流视频多路实时监控解决方案实践
c++·后端·音视频开发
tang&7 小时前
哈希碰撞攻防战:C++闭散列与开散列实现全解析
c++·哈希算法
眠りたいです7 小时前
现代C++:C++11并发支持库
开发语言·c++·多线程·c++11·c++并发支持库