UEC++ 播放蒙太奇动画
在蓝图中播放蒙太奇动画,可以使用 PlayAnimMontage 和 PlayMontage,并且PlayMontage可以在,蒙太奇动画播放完的时候执行想要执行的程序

但是在UEC++中,没有PlayMontage(emmmm有可能只是我没找到)
这时候需要实现在播放蒙太奇动画之后需要的程序时间,可以在蒙太奇动画中添加一个通知,通过通知执行需要的程序
譬如利用蒙太奇播放一个攻击动画
// 头文件声明变量与攻击函数 // 是否正在攻击 bool IsAttack = false; UFUNCTION(BlueprintCallable) void Notify_EndAttack() { IsAttack = false; } // 需要播放的蒙太奇动画资源 UPROPERTY(EditAnywhere, Category = "Anim") class UAnimMontage* AttackMontage; // 攻击 void Attack();
实现攻击函数(记得绑定输入和添加操作映射)
void APCharacter::Attack() { if (!IsAttack) { IsAttack = true; PlayAnimMontage(AttackMontage, 1.f); } }
这时候使用攻击函数播放攻击动画,只能播放一次,当播放完之后就无法再播放第二次,而如果在Attack() 中 PlayAnimMontage(AttackMontage, 1.f) 下添加IsAttack = false; 就会立即重置,无法达到想要的效果,而导致攻击鬼畜
再去角色类中添加一个函数,用于实现结束攻击需要执行的功能
UFUNCTION(BlueprintCallable) void Notify_EndAttack() { IsAttack = false; }
然后在动画蓝图中执行添加的通知


现在去执行就可以!

浙公网安备 33010602011771号