13_ue4进阶末日生存游戏开发[加入左右平移]

2023-11-09 01:50

本文主要是介绍13_ue4进阶末日生存游戏开发[加入左右平移],希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

需求:加入角色左右移动。

创建混合动画,注意这次不是一维的了。

 选择小白人自己的骨骼。

重命名为walk_run

 

将静止放在中心点

 将running放在最上方

walking放在两者中间

 back放在最下面

 向左跑放在最左边

然后放向左走路

 同理放向右移动的。

 移动绿点,检查动作过度。发现这两个角,过度成了后退奔跑。 

 所以,这两个点也放后退动画,矫正一下过度

 给两个轴命名

 设置两个轴的区间为(-1,1)

 进入动画蓝图,添加strafe,float类型变量

 对前后速度进行归一化,因为最大速度是600,所以➗600

 进入这个节点

删掉这个状态机

 然后把我们创建的二维混合动画拖进来。(这里不需要创建状态机了,因为没有节点的过度,只有一个混合动画)

连线,并且赋值

修改代码,将动画蓝图里设置speed的代码移动到角色蓝图里面,并在角色蓝图里创建设置strafe的代码。

 在角色蓝图写这一段

获取小白人的右方向与速度向量的点积

 找到每帧事件,将检测小白人前后速度的代码折叠起来,命名为prevent backward running。

 将设置strafe和speed的代码塌陷(折叠),重名为set input

 

将这个代码与每帧事件相连。

 

 进入set input的代码,添加sequence,并俩连线。

 将then3去掉,看着别扭

 改成execute

去掉了

 

将这个模块重命名为set anim var(原来为set input)

 

 在人物冲刺的事件中,因为动画蓝图那边改了,所以不需要sprint变量了,所以相关过程删掉。

 还有每帧事件的相关操作都删掉。

 编译,测试

前后左右都能正常播放。但是左右无法奔跑。

 因为人物冲刺用的向量点积,用的是向前和速度两个向量,所以当向左右走时,结果是-0.001到0.0001这个区间,所以我们要修改判断边界,提高容错率。将>0转换为>-2就可以了。

原理如图所示:

 

这篇关于13_ue4进阶末日生存游戏开发[加入左右平移]的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/373530

相关文章

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

基于Python开发PPTX压缩工具

《基于Python开发PPTX压缩工具》在日常办公中,PPT文件往往因为图片过大而导致文件体积过大,不便于传输和存储,所以本文将使用Python开发一个PPTX压缩工具,需要的可以了解下... 目录引言全部代码环境准备代码结构代码实现运行结果引言在日常办公中,PPT文件往往因为图片过大而导致文件体积过大,

使用DeepSeek API 结合VSCode提升开发效率

《使用DeepSeekAPI结合VSCode提升开发效率》:本文主要介绍DeepSeekAPI与VisualStudioCode(VSCode)结合使用,以提升软件开发效率,具有一定的参考价值... 目录引言准备工作安装必要的 VSCode 扩展配置 DeepSeek API1. 创建 API 请求文件2.

Python进阶之Excel基本操作介绍

《Python进阶之Excel基本操作介绍》在现实中,很多工作都需要与数据打交道,Excel作为常用的数据处理工具,一直备受人们的青睐,本文主要为大家介绍了一些Python中Excel的基本操作,希望... 目录概述写入使用 xlwt使用 XlsxWriter读取修改概述在现实中,很多工作都需要与数据打交

Window Server2016加入AD域的方法步骤

《WindowServer2016加入AD域的方法步骤》:本文主要介绍WindowServer2016加入AD域的方法步骤,包括配置DNS、检测ping通、更改计算机域、输入账号密码、重启服务... 目录一、 准备条件二、配置ServerB加入ServerA的AD域(test.ly)三、查看加入AD域后的变

基于Python开发电脑定时关机工具

《基于Python开发电脑定时关机工具》这篇文章主要为大家详细介绍了如何基于Python开发一个电脑定时关机工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 简介2. 运行效果3. 相关源码1. 简介这个程序就像一个“忠实的管家”,帮你按时关掉电脑,而且全程不需要你多做

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

基于Qt开发一个简单的OFD阅读器

《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要

在 VSCode 中配置 C++ 开发环境的详细教程

《在VSCode中配置C++开发环境的详细教程》本文详细介绍了如何在VisualStudioCode(VSCode)中配置C++开发环境,包括安装必要的工具、配置编译器、设置调试环境等步骤,通... 目录如何在 VSCode 中配置 C++ 开发环境:详细教程1. 什么是 VSCode?2. 安装 VSCo