步骤
1. 新建一个父类为“Chararcter”类,作为所有敌人的总类,命名为“TotalEnemyCategory”
以“TotalEnemyCategory”为父类创建子蓝图类,命名为“Enemy1”
2. 新建一个动画蓝图
选择目标骨骼为“Skeleton_Crossbowman_Skel” ,然后点击确定。
命名为“Enemy1_AnimBP”
3. 新建一个混合空间1D,用于混合动画
选取相同的骨架
命名为“Enemy1_BlendSpace1D”
打开“Enemy1_BlendSpace1D”,将站立动画放置在最左边
在最右边放置跑步动画
此时移动预览值点就可以看到随着横坐标数值增加,动画从站立逐渐向跑步过渡。
在混合空间1D中的横坐标的最大数值为100,也就是表示角色的速度达到100就会变成跑步的样子,但是在蓝图“Enemy1”中我们可以看到最大行走速度为600,因此我们需要修改混合空间1D中的横坐标的最大值为600。
水平坐标的名称改为“Speed”
4. 打开该动画蓝图“Enemy1_AnimBP”,准备为Enemy1添加动画
新建一个状态机
双击进入该状态机
添加“Enemy1_BlendSpace1D”
双击进入“Enemy1_BlendSpace1D”
可以看到是走还是跑是由速度决定的
因此我们新建一个浮点型变量来控制速度,从而控制走跑动画
那么如何将Enemy1的速度给到变量“Speed”?其实只要在事件图表中设置一下“Speed”即可
5. 打开“Enmey1”,选中“Mesh”组件,骨架网格体选择“Skeleton_Crossbowman”
在上图中可以看到Mesh的位置有些偏上,而且朝向不对,因此我们需要调整它的Transform。但是如果只修改Enemy1的Transform不合适,因为如果有Enemy2、Enemy3则又要修改他们的Transform。因此我们只需在Enemy1的父类,即对“TotalEnemyCategory”进行修改即可。
这是我们可以看到“TotalEnemyCategory”的子类“Enemy1”的Transform就没有问题了。
动画类选择“Enemy1_AnimBP”
此时第一个敌人“Enemy1”就创建完成了