UE4的Animation Sequence里的压缩算法基本原理:将原始数据分散到Translation、Rotation和Scale三种Track里面,然后根据算法去分别进行位压缩(Bitwise Compress)或者抽帧来完成压缩。 每个Track由帧和时间组成: 下面逐一介绍具体的算法和原理: Least Destructive(无损) 解压动画,尽可能地保持原始数据。 Translation使用None即全精度...
如此简单粗暴,调用Play Anim Montage函数播放指定的“蒙太奇动画”,完毕! 注:这里的“蒙太奇动画”并不完全等同于UE4中的Animation Sequence,需要对Animation Sequence进行一些“处理”。它的制作过程,老王将在后续文章中详细介绍,可以保证的是这个过程并不复杂。目前大家把它理解为Animation Sequence Plus版本就可以了 。
Sequence 一般用于顺序执行一系列事情,此节点非常常用,比如一个Tick节点在一个蓝图中只能出现一个,但是我有特别多的逻辑都要每帧执行,如果一条线往后连特别影响阅读体验;可以Tick后连Sequence节点,把每件事情单独对应一个引脚, 例如下面顺序执行5个Print String,由于没有延迟所以给人感觉像是同时执行的 WhileLoop Whil...
因为动画蓝图也没有了,所以播放BlendSpace和AnimationSequence也通过C++代码实现: 两种材质的类型在C++中分别对应UBlendSpace和UAnimSequence。 1,先定义一个UPROPERTY变量,并在编辑器中设置该BlendSpace Cpp代码 UPROPERTY(BlueprintReadOnly, EditAnywhere, Category = "Anims") UBlendSpace1D *BlendSpace; 2,设置Blend...
Play Animation:播放指定动画 Spawn Actor From Class:从Class当中生成Actor Spawn Emitter at Location:生成粒子 Create Dynamic Material Instance:创建动态材质 Set Scalar Parameter Value:设置动态材质里的Parameter值 Set Color Parameter:设置动态粒子颜色
Animation Sequence(动画序列) AnimationSequence(动画序列)是一个可以在骨架网格物体上播放的独立的动画资源。它们包含了一些关键帧,这些关键帧可以及时地指出某个特定点处的一个骨骼的位置、旋转度及缩放比例。通过在序列中播放这些关键帧,让骨架网格物体的骨骼之间进行混合,使得骨骼可以产生平滑的动画效果。
Feet Position X、Feet Position Y两个变量值的更新很巧妙:所有的移动Animation Sequence上,都添加了名为FootDirection,FootPosition的Curve,记录了每一帧的脚步位置和移动方向。当进入Stop状态时,通过GetCurveValue接口获取FootDirection,FootPosition的Curve值,再设置给Feet Position X、Feet Position Y。
Feet Position X、Feet Position Y两个变量值的更新很巧妙:所有的移动Animation Sequence上,都添加了名为FootDirection,FootPosition的Curve,记录了每一帧的脚步位置和移动方向。当进入Stop状态时,通过GetCurveValue接口获取FootDirection,FootPosition的Curve值,再设置给Feet Position X、Feet Position Y。
UAnimSequence *MyAnimSequence; 2,在指定插槽Slot上播放: USkeletalMeshComponent *Mesh = MyActor->FindComponentByClass<USkeletalMeshComponent>(); if (Mesh) { UAnimInstance *AnimInst = Mesh->GetAnimInstance(); if (AnimInst) { AnimInst->PlaySlotAnimationAsDynamicMontage(MyAnimSequence, TEXT("Uppe...
Feet Position X、Feet Position Y两个变量值的更新很巧妙:在所有的移动Animation Sequence上,都添加了名为FootDirection,FootPosition的Curve,记录了每一帧的脚步位置和移动方向。当进入Stop状态时,通过GetCurveValue接口获取FootDirection,FootPosition的Curve值,再设置给Feet Position X、Feet Position Y。