UE4状态机

1.      准备一套带动作的模型,并导入UE4

2.      新建一个动画蓝图,右键->Animation->AnimationBlueprint,选择继承AnimationInstance,并选择相应的骨骼,命名HeroAnimation

3.      双击打开,在MyBlueprint下AddNew两个Variables,float类型的Speed,boolean类型的IsAttack

4.      选择右上角的Animation,点击Create Asset/Blend Space 1D,命名mon_goblinWizard_Skeleton_IdleRun,在右侧选择Idle动画,拖到X为0的位置,选择run动画拖到x为25的位置,然后在Parameters下,X Axis Label命名为Speed,点击Apply应用,保存一下,创建了一个新的动画IdleRun

UE4状态机_第1张图片

5.选择右上角的Graph,选择Event Graph,变量设置如下,Attack变量是我在MyThirdHero蓝图中添加的变量,可以通过Cast MyThirdHero获取到

UE4状态机_第2张图片

6.选择AnimGraphAdd New State Machine,重命名Default,连接

UE4状态机_第3张图片

7.      双击Default进去,

UE4状态机_第4张图片

8.双击Idle/Run,添加新创建的动画IdleRun,并将Speed作为他的参数,连接

UE4状态机_第5张图片

9. 双击Attack进去,添加一个攻击动画,连接

UE4状态机_第6张图片

10. Idle/Run->Attack的条件,当Attacktrue时,执行攻击动画

UE4状态机_第7张图片

11. Attack –>Idle/Run的条件,当动画执行完毕时,返回Idle/Run动画

UE4状态机_第8张图片

12.编译一下,再打开MyThirdHero的蓝图,选择Mesh的Animation选项,AnimationMode选择UseAnimationBlueprint,AnimBlueprintGeneratedClass,选择之前创建的动画蓝图HeroAnimatiom,

13. 再在MyThirdHero蓝图中,添加一个事件,点击鼠标左键,设置变量Attack为true,这样就可以调用攻击动画了

UE4状态机_第9张图片

你可能感兴趣的:(ue4,UnrealEngine4)