UE4动画系统,蒙太奇动画使用,添加动作

提示:仅供学习参考

前言

本文介绍如何使用UE4的c++和动画蒙太奇实现一个挥手动作,使用第三人称游戏c++项目模板。

一、什么是蒙太奇?

个人理解:不用动画状态机就可以播放动画,状态机太复杂,对于只是特定场景想播放动画的情况,用状态机实现工作量太大,效率低,就使用动画蒙太奇了。下面是其他人的说明

[玩转UE4动画系统>基础篇] 之 什么是蒙太奇 - 知乎

二、实现步骤

1.使用第三人称游戏c++模板创建一个项目,创建动画蒙太奇

创建项目过程就不说了,如下图创建动画蒙太奇,命名AnimationMontageWave

 动画蒙太奇需要用到动画,简单复制空闲动画ThirdPersonIdle,修改成一个挥手的动作,命名为ThirdPersonWave。

然后把挥手动作拖进蒙太奇,保存。如下图 

 

2.在动画蓝图中添加蒙太奇

动画蓝图中添加个插槽,如下 

3.绑定鼠标左键输入

 4.添加c++代码

.h文件添加包含

#include "Components/SkeletalMeshComponent.h"
#include "Animation/AnimInstance.h"

.h添加变量和函数声明

   /* 设置蒙太奇动画 */
    UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Gameplay)
        class UAnimMontage* WaveMontage;

    //点击鼠标左键触发挥手
    UFUNCTION()
        void OnClickWave();

.cpp绑定按钮

   PlayerInputComponent->BindAction("Wave", IE_Pressed, this, &AMyTestThirdPeopleCharacter::OnClickWave);

.cpp添加函数

  void AMyTestThirdPeopleCharacter::OnClickWave()
{
    if (WaveMontage != NULL)
    {
        // Get the animation object for the mesh
        UAnimInstance* AnimInstance = Cast<UAnimInstance>(this->GetMesh()->GetAnimInstance());
        if (AnimInstance != NULL)
        {
            AnimInstance->Montage_Play(WaveMontage);
        }
    }
}

添加完毕后编译下,回到虚幻引擎

5.设置动画蒙太奇

点击第三人称角色 ,细节中找到我们代码中开放给引擎的变量WaveMontage,设置为挥手动画蒙太奇

 6.点击播放,鼠标右键就能看到挥手效果了

总结

最简单的使用动画蒙太奇过程,还在学习中有不正确的地方还望指出,仅供学习。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DaiCharlie

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值