UE4写第一个独立的C++插件_动画合并和位置衔接

在Sequence(定序器)中将两个动画合并为一个动画,并且两个动画的位置要衔接上,要求用C++的形式,写成插件,这样可以合并任意的两个两个动画。不采用UE4自带的编辑器动画混合,虽然网上有很多动画混合的案例。

通过查找UE4源代码,下面这些类需要我去理解

1.常用的类  一个actor的类和一个实际控制播放的类.我们在代码中这么控制获取他们.
 

常用的类  一个actor的类和一个实际控制播放的类.我们在代码中这么控制获取他们.
ULevelSequencePlayer*  SequencePlayer    //实际控制播放的类
ALevelSequenceActor*   currentLevelSequenceActor    //actor的类

2.

查看定序器的源代码

//一个UMovieScene是由若干个Track(UMovieSceneTrack)组成
//Track由UMovieSceneSection组成
//UMovieSceneSection就是一个Track中间的某一段,它保存了一个Section的开始FrameNumber和结束FrameNumber,

3.

CreateLevelSequencePlayer创建一个新的关卡序列播放器
Initialize the player.初始化播放器
UMovieSceneTrack  UMovieSceneSection
AnimSequcenceInstances动画实例
UMovieSceneSequence电影场景动画基类,定义一些绑定、解绑对象的虚函数

4.

  LevelSequenceBindingReference::Resolve()通过上下文获取该数据绑定的对象,此外FLevelSequenceBindingReferences数据结构体
FGuid  要抑制的签名

5.现在已经初步了解到要做需求的功能,可能会用到的类,接下来需要整理思路和逻辑。目前形成了两个思路

1.animation composite  动画合成资源
2.选择这个动画合成的骨骼
3.编辑第二个动画,复制出来与第一个动画合成
4.原始的动画序列一个个拖拽到合成区(
5.选择任意一个子序列

1.生成(获取)定序器
2.把两个动画添加到定序器中
3.取得第一个动画的骨骼根节点的XYZ
4.把第一个动画骨骼的根节点给第二个动画骨骼的根节点
5.混合两个动画

猜你喜欢

转载自blog.csdn.net/ale26/article/details/125552966
今日推荐