当前位置: 首页 > news >正文

【UE4】角色御剑飞行的蓝图实现

沉沉更鼓急,渐渐人声绝

吹灯窗更明,月照一天雪

UE4简单的实现御剑飞行的功能

 

 契子


所谓的御剑飞行的原理就跟 《御板》 飞行的原理差不多,不过是在人物脚上插把剑在飞行的时候显示出来罢了。简单来讲就是只要渲染做的足够牛,土鸡也能变凤凰

好久没更 C++ 了,因为我跑去玩虚幻引擎了 【狗头】 

别的不多说,我们来聊聊我们简单的御剑飞行怎么实现


设置人物的上下移动

我们御剑的时候是不是可以按几个键就可以调节人物御剑的上升和下浮

这里都是通过我们在项目设置中的功能:

 我们现在设置这里找到项目设置的选项并打开,找到我们引擎的输入这个地方

我们在轴映射这里新添加一个自定义事件 MoveUp 并设置两个按键功能

这里的意思就是我们的 按键Q 就是御剑上升 按键Z 就是御剑下浮

接着在我们角色移动这里添加 MoveUp 的蓝图

 将剑绑定到人物脚上

 找不到合适武器的老铁可以在【模之屋】里面寻找

接下来我们打开人物骨骼,我们飞行的时候人物有固定的动作所以可以在想要展示的动画这里添加插槽并赋予资产【武器】调节合适的位置即可

然后在人物蓝图这里添加武器所属的网格体,我这里是静态的所以就创建了静态网格体

 

我们添加完武器之后记得把武器的 可视 性关掉,因为我们想做的效果是在御剑飞行的时候再显示这把剑,其余时候是不想看见的

接下来我将带大家写如何将武器绑定到我们角色蓝图也就是那个人物脚上,我们知道人物蓝图后面有个摄像机组件,作用就是实时观察我们人物的活动。但是我们之前在动画中给人物绑定的武器在视口中却不是我们想要的位置,这个时候我们就要写一点蓝图

 在这个地方添加我们的武器组件并给我们绑定武器的插槽,对齐到目标

这个时候我们视口的武器绑定就和我们之前在动画那里的绑定就相对应了

御剑飞行蓝图的基本逻辑 

我们先来看个御剑飞行的大概逻辑

还是来走读一下蓝图吧,我们按下 F键 就会播放 bgm 然后进入御剑模式

御剑飞行的时候怎么能少得了酷炫的动作和特效呢,所以我这里添加了蒙太奇和粒子特效

因为御剑的时候感觉直接在当前场景御剑感觉不好【蓝图写不好,要求还贼多,这里指我自己】

所谓我添加了一个冲量,表示播放蒙太奇的时候就移动到当前场景的 y轴【空中】 的1000位置

然后让我的剑可视,老铁们只要看我 wuqi 的部分就好了,其他东西只是点缀

记得最后要设置成飞行模式

如果我们不想御剑飞行了,我们在按一下 F键 

就会关掉剑的可视性并切换成行走模式

然后我感觉一个动作御剑飞行太单调就设置了一个快速飞行【御剑】的模式

简单来讲就是按照人物奔跑的蓝图改的【不会的的老铁可以去找B站谌嘉诚

废话不多说我们直接进入正题 

我们先整体预览一下蓝图的大概

我们要先设置一个东西【很关键】 就是要设置一下我们飞行的最大速度,就像我设置的是1000

在这个地方人物的移动中找到最大飞行的速度,设置成合适的速度便可

接下来我们聊一下蓝图

由于我们用的也是 左Shift 跟我们奔跑用的是同一个,所以我们必须要判断一下当前状态是否是飞行模式。蓝图逻辑就是当我按一下 左Shift 就会将我们的最大速度提升为 2000 然后播放我们 混合空间1D 的动作和特效

 

 我这里就是添加了四个鹤嘛,加速的时候就隐藏掉(这里不涉及御剑飞行的逻辑)

当我们松开 左Shift  时,就结束御剑加速的状态,然后呢那些我们添加的仙鹤就会显示

我们御剑飞行的蓝图就已经讲完了,接下来我们要了解一下人物的动作蓝图

人物动作蓝图

首先我们先设置一下我们飞行时候要用的动作

 

然后添加到我们的 混合空间1D 很简单这里省略一万行

先添加一个布尔变量判断是否是飞行状态

接着在我们动画蓝图的事件图表这里添加以下蓝图 

我们来到状态,在介于行走与跳跃之间我们新建一个状态 

 加入我们的混合空间

 接着就是判断条件

最后点击编译保存,便可以御剑飞行了,不信你可以去试试

相关文章:

  • 多模态大模型通用模式
  • Vue3、Element Plus使用v-for循环el-form表单进行校验
  • leetcode21 合并两个有序单链表
  • AI大佬都在说下一个爆点是智能体,建议开发者抢占先机!
  • java版Spring Cloud+Mybatis+Oauth2+分布式+微服务+实现工程管理系统
  • MaxKB-无需代码,30分钟创建基于大语言模型的本地知识库问答系统
  • QT QFileDialog文件选择对话框
  • 第7周作业——单片机定时器与串口通信的学习与应用
  • leetcode打卡#day45 携带研究材料(第七期模拟笔试)、518. 零钱兑换 II、377. 组合总和 Ⅳ、爬楼梯(第八期模拟笔试)
  • 概率论拾遗
  • 【DPDK学习路径】六、申请缓冲区内存池
  • 车载电子电气架构 - 智能座舱技术及功能应用
  • Docker部署私有仓库Harbor
  • 如何用Excel随机抽取幸运儿
  • 51.Python-web框架-Django开始第一个应用的增删改查
  • [NodeJS] 关于Buffer
  • [译]前端离线指南(上)
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • 〔开发系列〕一次关于小程序开发的深度总结
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • C学习-枚举(九)
  • express + mock 让前后台并行开发
  • iBatis和MyBatis在使用ResultMap对应关系时的区别
  • JavaScript 基础知识 - 入门篇(一)
  • JavaScript中的对象个人分享
  • Spring-boot 启动时碰到的错误
  • ucore操作系统实验笔记 - 重新理解中断
  • 工程优化暨babel升级小记
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 前端面试总结(at, md)
  • 一个6年java程序员的工作感悟,写给还在迷茫的你
  • 移动端解决方案学习记录
  • elasticsearch-head插件安装
  • Semaphore
  • 正则表达式-基础知识Review
  • #Ubuntu(修改root信息)
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • ()、[]、{}、(())、[[]]命令替换
  • (1)bark-ml
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (CVPRW,2024)可学习的提示:遥感领域小样本语义分割
  • (C语言)二分查找 超详细
  • (初研) Sentence-embedding fine-tune notebook
  • (利用IDEA+Maven)定制属于自己的jar包
  • (四)模仿学习-完成后台管理页面查询
  • (小白学Java)Java简介和基本配置
  • (一)硬件制作--从零开始自制linux掌上电脑(F1C200S) <嵌入式项目>
  • .Net 8.0 新的变化
  • .net core 6 集成和使用 mongodb
  • .net core使用RPC方式进行高效的HTTP服务访问
  • .NET IoC 容器(三)Autofac
  • .net websocket 获取http登录的用户_如何解密浏览器的登录密码?获取浏览器内用户信息?...
  • .Net 高效开发之不可错过的实用工具
  • .Net 垃圾回收机制原理(二)
  • .NET 应用架构指导 V2 学习笔记(一) 软件架构的关键原则