UE4 blendspace —— 角色面向前方的8方向移动
首先,提供一套定向骨骼动画资源:
链接:https://pan.baidu.com/s/1_X2-jFqtnR0_fHvHtIETMw
提取码:ABCD
--来自百度网盘超级会员V6的分享
包括:
Forward_Left_Run 左前 跑
Forward_Right_Run 右前 跑
Left_Strafe_Running 左横 跑
Left_Strafe_Walking 左横 走
Right_Strafe_Running 右横 跑
Right_Strafe_Walking 右横 走
Run_Backward_Left 左后 跑
Run_Backward_Right 右后 跑
Run_Backwards 后 跑
Walking_Backwards 后 走
待机、走、跑的骨骼动画可以使用引擎自带的
1. 使用 blendspace 编辑8方向动画顺序
1.1 Blend Space 用于不同操作播放不同动画,blendspace 分两种:blendspace 与 blendspace 1D,我们这里使用的是 blendspace。
Blend Space 1D:混合空间也可以以一维格式创建,称为混合空间1D。这些可以混合任何数量的姿势或动画,但这样做是基于单个输入值。
Blend Space:混合空间是一种资源衔接工具的图表,你可以在其中绘制任意数量的动画,称为 示例(samples) 。总体动画通过基于每个轴的输入值在图表上的点之间混合来计算。例如,可以创建一个在方向性移动和空闲动画之间混合的移动系统。
在动作蓝图相同的文件下(也不是必须在同一个文件夹),创建一个 blendspace,命名 ThirdPerson_BlendSpace。
1.2 BlendSpace 基础参数
打开混合空间,对混合空间进行一些基础设置,以下为中英文版本对照,这里我配置的是一个0到600速度,以及对整体360度8方向编辑的配置。这个部分的配置依据需求可自行调整。
1.3 设置 BlendSpace(两种方法)
方法一:
对 BlendSpace 进行动画放置,其坐标系的纵向代表速度,横向代表角色角度。这里我提供了两种设置方式,一种是根据360度配置的0到600速度的动作斜接,一个是根据180度配置的-300到300速度的动作斜接,这两种都是OK的。
这个坐标系说明的就是0到600的速度下,其360度中8个方向的动作内容。
水平坐标分区数量为(8个方向 9个节点)按顺序:后、左后、左、左前、前、右前、右、右后、后
垂直坐标分区数量为(3个速度):待机、走、跑
方法二:
当然这个坐标系也可以这样设置,这个坐标系说明-300到300的速度下,其180度中5个方向配置的的动作斜接
水平坐标分区数量为(4个方向 5个节点)按顺序:左、左前、前、右前、右
垂直坐标分区数量为(6个速度):后快跑、后跑、后走、待机、走、跑
2. 动画蓝图部分
2.1 动画蓝图状态机
状态机内容与自带第三人称魔板没有变化没有变化,只是在 Idle/Run 状态中加入了 BlendSpace。
2.2 Idle/Run 节点配置:
其中的 ThirdPerson_BlendSpace 为第一部分中,我们命名为 ThirdPerson_BlendSpace 的 BlendSpace,让角色的移动使用这一个动作节点文件。
2.3 修改动画蓝图的事件图表:
这部分的蓝图是基于UE4第三人称的自带的动作蓝图 ThirdPerson_AnimBP,在此基础上增加了红色框中的内容,其作用为获取“方向”(Direction )
2.4 设置 角色移动组件
设置 角色移动 组件下的“将旋转朝向运动” (Orient Rotation to Move)修改参数为 True。
2.5 设置自身组件
设置自身组件下的 使用控制器旋转 Yaw 为 True。
2.6 修改移动逻辑的蓝图 ThirdPersonCharacter
控制角色的蓝图类下,加入改变移动速度,使用左 Shift 加速奔跑,使用左 Ctrl 降速行走。
中文版
英文版
至此背后固定视角。使用鼠标旋转视角,使用WASD可控制播放角色面朝前方的8方向动作。