UE4学习笔记(一)加载模型动画

首先去https://www.mixamo.com/,下载需要的模型和动画。
UE4学习笔记(一)加载模型动画_第1张图片
下载一个模型,一个站立动画,一个跑步动画,一个特殊动画。
下载模型窗口
UE4学习笔记(一)加载模型动画_第2张图片
下载动画时,skin选择without skin,意思就是不下载模型
UE4学习笔记(一)加载模型动画_第3张图片
由于下载的模型没有附加根骨骼,我们需要为模型添加根骨骼。

打开maya(没有的请自行下载),【窗口->设置/首选项->首选项】,进入首选项窗口,点击【设置】,世界坐标系中向上轴由默认的Y轴,改为Z轴。
UE4学习笔记(一)加载模型动画_第4张图片
做完这些之后,将模型拖拽至软件中心的窗口,出现以下画面。
UE4学习笔记(一)加载模型动画_第5张图片
点选模型,按下【h】快捷键,隐藏模型表面,留下骨骼。
UE4学习笔记(一)加载模型动画_第6张图片
点击【绑定->创建关节】。

在这里插入图片描述
在骨骼下方的黑面中,随便点击一个点。然后点击右侧的【属性编辑器】,然后在joint中输入【Root】,这个名称不能变。将变换属性中的平移全部改为0,也就是在原点。然后将关节中的半径改为5,以此让该点更容易被选中。
UE4学习笔记(一)加载模型动画_第7张图片
然后点击坐标的【选择】即箭头图标,选中骨骼中的【Hips】,就是尾骨,我们可以看见整个骨架都绿了起来,然后【按住shift,点选Root根节点
】,再按【P】快捷键。就将根骨骼和骨架连接到一起了。
UE4学习笔记(一)加载模型动画_第8张图片
这个是模型,直接导出即可,【文件->导出全部】。输入文件名,更改文件类型为【FBX export】,然后点击【导出全部】
在这里插入图片描述
将导出的FBX文件导入UE4项目中,记得勾选【使用TO作为参考姿势】。
UE4学习笔记(一)加载模型动画_第9张图片
UE4学习笔记(一)加载模型动画_第10张图片
这里的模型中,似乎没有东西。双击打开该文件,进入【资产:ganfaul_m_aure】界面,发现模型存在,但是变成透明了,这是材质出现了问题。
UE4学习笔记(一)加载模型动画_第11张图片
双击材质部分。
UE4学习笔记(一)加载模型动画_第12张图片
进入资产:Ganfaul_Body,将材质下的混合模式改为【不透明】。
UE4学习笔记(一)加载模型动画_第13张图片
点击保存,等待编译完成,模型就变正常了。
UE4学习笔记(一)加载模型动画_第14张图片
再次打开maya,开始编辑动画,先制作idle动画。点击【文件->新建场景】,弹出警告窗口,点击【不保存】,然后将我们下载idle动画文件拖拽进去。
通过同样的步骤,创建根骨骼。然后点选【hips骨骼】,我们会看到下方会存在用一根根红线切分的进度条。这个动画的帧数,需要根据最终值,确定截取出动画的长度,这样才能循环播放。
在这里插入图片描述这里我们可以看见动画长度为178帧,所以需要在下方框内,输入【178】,单击【回车】键。
在这里插入图片描述
然后【导出动画】,导入UE4中。
UE4学习笔记(一)加载模型动画_第15张图片
注意,导入时骨骼需为前面导入模型的骨骼,然后点击【导入所有】,然后等待导入完成,内容浏览器中就多出了。
UE4学习笔记(一)加载模型动画_第16张图片
然后开始处理running动画。
老样子,新建场景,导入动画,创建根节点,设置动画长度。(ALT+鼠标左键,旋转视角)
这里如果你点击播放按钮你就会发现,动画是有位移的,但是这个骨架虽然位移了,但是根节点却没有变化。在UE4中,模型碰撞体跟随根节点,如果根节点不动,碰撞体也不会发生改变,动画就会一直前冲,然后倒追会原来的位置。所以我们需要改变动画曲线。
需先选中【hips】骨骼点,点击【窗口->动画编辑器->曲线图编辑器】,复制平移x,平移y,平移z。。

UE4学习笔记(一)加载模型动画_第17张图片

点选【Root】骨骼,点击【窗口->动画编辑器->曲线图编辑器】,粘贴上面的平移。
UE4学习笔记(一)加载模型动画_第18张图片
然后选中平移Z,框选所有线条,将值改为0(别忘记回车),防止动画出现z轴上的变动。

UE4学习笔记(一)加载模型动画_第19张图片
再选中【hips】骨骼点,选中平移X中的第一个点,复制其值,然后框选所有动画曲线,将所有值改为第一个点的值,然后曲线变成一条直线。
UE4学习笔记(一)加载模型动画_第20张图片
UE4学习笔记(一)加载模型动画_第21张图片
以同样步骤处理平移y。这是在移除hips对模型移动,改为由根节点来控制模型的移动。
注意:如果这里出现动画变成原地运动的话,可能是你播放了动画,导致当前模型的动画位移已经发生了改变。
比如这样,z轴曲线变成这样。
UE4学习笔记(一)加载模型动画_第22张图片
正确的根骨骼 z轴曲线该为:
UE4学习笔记(一)加载模型动画_第23张图片
出现以上情况,请重新按照以上步骤操作一次。
我选择的特殊动作名字是Jump Over,也有位移,按照上面的步骤操作处理即可。
新建一个文件夹Model,用来保存所有的模型动画文件。
点击【鼠标右键->蓝图类->角色】。新建一个角色蓝图类,取名【New_Player】,并双击打开,选中其中的【Mesh(继承)】,在网格体中,选择骨骼网格体为我们导入的模型骨骼。并调整模型位置Z=-90和转向Z=-90。
UE4学习笔记(一)加载模型动画_第24张图片
然后使用【添加组件】,在CapsuleComponent(继承)下添加SpringArm(弹簧臂组件),在SpringArm下添加Camera(相机组件),调整相机高度Z轴=90。然后在SpringArm的细节面板中,在摄像机设置中,将【使用Pawn控制旋转】打勾,然后编译一下。
UE4学习笔记(一)加载模型动画_第25张图片

找到并打开ThirdPersonCharacter蓝图类(第三人称模板自带的),进入其事件图表,复制Mouse input 和Movement input部分蓝图至New_Player蓝图类中:UE4学习笔记(一)加载模型动画_第26张图片
接下来点击New_Player蓝图类下的CharacterMovement(继承),在细节面板中,找到角色移动(旋转设置),将【将旋转朝向运动】打勾。目的是根据键盘朝向移动。
UE4学习笔记(一)加载模型动画_第27张图片
但是上面的选择和默认旋转有冲突,所以点选New_Player(继承)->类默认值。细节面板中找到Pawn,将【使用控制器旋转Yaw】取消勾选。
UE4学习笔记(一)加载模型动画_第28张图片
然后编译保存。

点击【动画->动画蓝图】,进入创建动画蓝图,父类选择【AnimInstance】,目标骨骼选择我们导入的骨骼。然后点击【确认】键。取名【Player_AnimBlueprint】
UE4学习笔记(一)加载模型动画_第29张图片
然后点选动画->混合空间1D,进入选取骨骼界面,选择导入的骨骼。取名【Player_BlendSpace1D】。
UE4学习笔记(一)加载模型动画_第30张图片
双击打开【Player_BlendSpace1D】,将右下角的资产浏览中的Idel动画拖拽至中心黑色区域的0值处,running动画将拖拽至100值处。
点击左边的Axis Settings下的水平坐标,将名称改为Speed,最大轴值改为425,网格分区数量为1(如果有walk动画的话,可以更改这个值,加入walk,根据移动速度,改变动画。处于一个阀值,播放一个动画)。
UE4学习笔记(一)加载模型动画_第31张图片
别忘了点击保存,编译一下。
进入Player_AnimBlueprint的AnimGraph,拖拽右方的Player_BlendSpeace1D,进入蓝图类,然后将Speed提升为变量,更名Speed,连接起来,图标如下图所示。编译一下。
UE4学习笔记(一)加载模型动画_第32张图片
在Player_AnimBlueprint的事件图表中,输入以下蓝图。

UE4学习笔记(一)加载模型动画_第33张图片
然后进入New_Player蓝图类中,点击Mesh(继承),在细节面板中,找到动画下的动画类,选择【Player_AnimBlueprint】,编译一下。
UE4学习笔记(一)加载模型动画_第34张图片

然后将做好的New_Player拖拽至关卡中,删除原本的小白人,在细节面板中搜索【poss】,将【自动控制玩家】设置为玩家0.
UE4学习笔记(一)加载模型动画_第35张图片
然后点击运行按钮。

UE4学习笔记(一)加载模型动画_第36张图片
之后我们就能够看到模型,运动起来,当前进时,会播放奔跑动画。
找到我们的特殊动画,【鼠标右击->创建->动画蒙太奇】,取名使用默认名字即可,我这里叫Jump_Over_Root_Montage。

然后进入Player_AnimBlueprint中的AnimGraph,加入【插槽“DefaultSlot”】,链接起来。
UE4学习笔记(一)加载模型动画_第37张图片
然后在New_Player的事件图表中,输入以下蓝图,别忘了选择资产。
UE4学习笔记(一)加载模型动画_第38张图片
然后点击运行,即可通过按【1】键控制角色,播放特殊动作。
UE4学习笔记(一)加载模型动画_第39张图片

github路径:里面有用到的模型和已经完成的作品
以及参考视频:
嘉诚up主的视频

你可能感兴趣的:(UE4,游戏开发,UE4)