3dsMax或者Maya等建模工具进行角色建模、骨骼绑定、动画录制。

%e5%be%ae%e4%bf%a1%e6%88%aa%e5%9b%be_20161104093321

并导出FBX文件,角色模型可以专门使用一个FBX导出,这样动画文件可以不带蒙皮直接导入UE4使用;如果不专门为角色模型导出一个FBX,直接使用动画FBX导入到UE4,在UE4中也会为之生成骨骼文件。

将角色模型FBX(可选)和动画FBX导入到UE4项目中。(关于导入角色动画的注意事项在前面的这篇博客里有提到)

%e5%be%ae%e4%bf%a1%e6%88%aa%e5%9b%be_20161104093436

为角色建立蓝图,新建SkeletalMesh,并将之前导入FBX生成的SkeletalMesh设置给它。(使用C++也行,这里以蓝图方式来举例)

%e5%be%ae%e4%bf%a1%e6%88%aa%e5%9b%be_20161104093645

在角色蓝图的Graph(图表)中,创建用于触发动画的布尔或者浮点变量,并根据需要的逻辑来设置它们的真假或数值变化。

%e5%be%ae%e4%bf%a1%e6%88%aa%e5%9b%be_20161104093852

新建Animation Blueprint(动画蓝图),新建时将SkeletalMesh设置为我们需要使用的那个。

%e5%be%ae%e4%bf%a1%e6%88%aa%e5%9b%be_20161104094049

针对动画蓝图我们需要做两件事:

第一,在Event Graph(事件图表)中为触发动画的切换、混合等创造一些布尔或者浮点变量。并每帧通过读取角色蓝图中之前创建用来触发动画的变量来更新这些变量。

%e5%be%ae%e4%bf%a1%e6%88%aa%e5%9b%be_20161104094246

第二,在Anim Graph(动画图表)中添加所有用到的动画序列(Animation Sequence)。并借助在事件图表中创建的变量来完成不同动画序列之间转换的逻辑。

%e5%be%ae%e4%bf%a1%e6%88%aa%e5%9b%be_20161104094344

%e5%be%ae%e4%bf%a1%e6%88%aa%e5%9b%be_20161104094441

%e5%be%ae%e4%bf%a1%e6%88%aa%e5%9b%be_20161104094841

最后,回到角色蓝图中,将刚刚创建的动画蓝图(Animation Blueprint)设置给角色蓝图中SkeletalMesh中的Animation Class。

%e5%be%ae%e4%bf%a1%e6%88%aa%e5%9b%be_20161104095657

大功告成!将角色拖入场景。试试看!

%e5%be%ae%e4%bf%a1%e6%88%aa%e5%9b%be_20161104100047

 

补充:

有时角色需要根据移动的速度这种连续的数值变化来调整动画,这就需要使用到混合空间(Blend Space和Blend Space 1D)。

借助混合空间,可以使用浮点型变量或者多维的浮点变量来混合两个或者多个动画。这个方式比transition的动画转换更加平滑,也让动画整体逻辑更加简洁。

%e5%be%ae%e4%bf%a1%e6%88%aa%e5%9b%be_20161104100417

 

 

 

 

UE4 角色动画基础流程

发表评论

电子邮件地址不会被公开。 必填项已用*标注

浙公网安备 33010602005964号