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
  • 两种方式的区别在于获取动画序列的方式不同。
  • 其他对象,比如静态网格,骨骼网格等都可以用这两种方式获取。
相关推荐
_OP_CHEN15 分钟前
C++进阶:(四)set系列容器的全面指南
开发语言·c++·stl·set·multiset·关联式容器·setoj题
qq_479875431 小时前
Linux time function in C/C++【2】
linux·c语言·c++
一个不知名程序员www2 小时前
算法学习入门---前缀和(C++)
c++·算法
ol木子李lo2 小时前
Doxygen入门指南:从注释到自动文档
c语言·c++·windows·编辑器·visual studio code·visual studio·doxygen
夜晚中的人海2 小时前
【C++】分治-快速排序算法习题
开发语言·c++·排序算法
Aevget4 小时前
QtitanNavigation助力能源数字化转型:打造清晰可控的系统导航体验
c++·qt·嵌入式·能源·界面控件·ui开发
百锦再4 小时前
第6章 结构体与方法
android·java·c++·python·rust·go
埃博拉酱4 小时前
将你的C++库发布到NuGet全攻略
c++·nuget
北冥湖畔的燕雀4 小时前
C++STL之vector
开发语言·c++
apocelipes5 小时前
C++23的out_ptr和inout_ptr
c++