1.创建并编辑混合空间
- 鼠标右击`内容浏览器
- 选中
动画
- 选中
混合空间1D
- 选择对应的
骨骼
- 重命名为
1D
- 双击1D的图标,进入混合空间的编辑界面
- 鼠标点开
水平坐标
标签 - 设置
名称
为Speed - 设置
最大轴值
为600 - 拖放对应动画到
采样点
中
2.创建动画蓝图
- 鼠标右击
内容浏览器
- 选中
动画
- 选中
动画蓝图
- 选择对应的
骨骼
- 重命名为
Spring
- 双击Spring的图标,进入动画蓝图的编辑界面
- 鼠标拖住
输出姿势
节点中Result
引脚到空白处理松开 - 在输入框中输入
state
- 选中
添加新状态机
- 鼠标双击刚刚创建的状态机,进入状态机编辑场景
- 鼠标拖住
Entry
节点的引脚到空白处松开 - 在弹出的菜单中选中
添加状态
- 为产生的状态节点重命名为
Run
- 双击
Run
节点 - 进入状态编辑界面
- 从右侧的
资产浏览器·中拖动
1D`到场景中 - 鼠标拖住
输出动画姿势
节点的Result
到1D
节点的右侧小人处松开 - 鼠标右击
1D
节点中的Speed
文本,选中提升为变量
选项 - 切换到
Animatio
的事件图表
子标签页 - 按住
alt键
+鼠标左键
拖动Speed
变量到场景中 - 鼠标拖动
尝试获取Pawn拥有者
节点的Return Value
引脚到空白处 - 选中
获取速度
选项 - 鼠标拖动
获取速度
节点的Return Value
引脚到空白处 - 选中
向量长度
选项 - 将
向量长度
节点的Return Value
连接到Set Speed
节点的Speed
引脚 - 将
事件蓝图更新动画
的输出引脚连接到Set Speed
节点的输入引脚
3.模型设置动画
- 鼠标在
内容浏览器
中双击ThirdPerson/Blueprints
中的BP_ThirdPersonCharacter
图标,进入角度编辑界面 - 选中人物模型
- 在右侧的
细节
面板中 - 设置
动画/动画类
选中Spring
4.按键映射
- 点击主菜单栏中的
编辑
菜单 - 点击
项目设置
- 点击
引擎/输入
- 点击界面右侧的
操作映射
右侧的+
号按钮,用以添加一个新的映射 - 在编辑框中输入
Spring
- 在搜索框中输入
左Shift
- 关闭当前窗口
- 在
BP_ThirdPersonCharater/事件图表
场景中鼠标右击,用以添加新节点左Shift
- 添加浮点型变量命名为
Speed
- 按住Alt+鼠标左键拖动Speed节点到场景中
- 分别将
左
Shift节点的``Pressed
引角和左
Shift节点的``Released
引角与两个Set Speed
节点连接 - 分别 修改Speed值为600和300
- 将
角度移动
变量拖到场景中 - 拖动
角色移动
节点的右侧引脚创建设置最大行走速度
节点 - 鼠标点击场景空白处理创建
F值插值到
节点 - 通过
角色移动
节点创建最大行走速度
节点,并连接到F插值到
节点的Current
选项 - 连接
获取Speed
节点到F插值到
节点的Target
引脚 - 鼠标点击场景空白处理创建
获取场景差量
节点,并将其连接到F插值到
节点的Delta Time
引脚 - 将
F插值到
节点的Interp Speed
引角的值设置为0.5
- 将
F插值到
的Return Value
引脚连接到Set 最大行走速度
节点的最大行走速度
引脚
- 选中上图中的所有节点,点击鼠标右键,选中菜单中的
折叠到函数
- 修改函数名为
Spring
5.将Spring
函数连接到人物移动的逻辑中
- 将
输入轴Move Forward/Backward
节点的输出引脚连接到Spring
函数的输入引脚 - 将
Spring
函数的输出引脚连接到添加移动输入
节点的输入引却 - 将
输入轴Move Right/Left
节点的输出引脚连接到Spring
函数的输入引脚 - 将
Spring
函数的输出引脚连接到添加移动输入
节点的输入引却