怎么在UE过场动画中加入振动效果

news2024/12/25 9:01:27

我们已经学会了怎么在游戏中加入振动效果,比较典型的交互场景如:在开枪时让手柄同步振动,实现起来真的很简单,就是定义场景和事件,然后在游戏事件发生时播放特定的振动资源文件,跟播放音效是极其相似的!在UE中还有一种不需要与玩家交互的场景,比如过场动画,动画中可能也有角色和攻击/碰撞,这些地方加上振动效果会更出彩。那么,怎么在过场动画中加入振动效果呢?

我们继续在HapticFps工程上演示。咱先做个简单的动画。我是跟着B站这个视频来创建动画的,效果为:让一个立方体悬浮在空中,飞行一段距离,然后掉到地上。

  1. 在UE编辑器(v4.27)里,拖一个立方体进来,命名为MyCube,让它悬在半空中
  2. 在“内容浏览器”里,鼠标右键菜单选择:动画 | 关卡序列,命名为FlyingCube
  3. 双击FlyingCube图标进入动画编辑器,然后将MyCube从世界大纲视图拖入动画编辑器
  4. 需要打3个关键帧。在第0帧打一个关键帧;再将游标拖到第60帧,将MyCube沿Y轴右移一段距离,打上第二个关键帧;继续将游标拖到第120帧,将MyCube沿Z轴向下移动至地面,再打一个关键帧
  5. 在动画编辑器底部点击“播放“,可以预览立方体的运动轨迹。

一个简单的动画就做好了。接着,我们来实现在游戏一开始就播放这个动画。可以通过蓝图来实现(为了检索方便,编辑器界面语言设置为英文):

  1. 通过UE编辑器的顶部工具栏,打开关卡蓝图:Blueprints | Open Level Blueprint
  2. 在事件图表中,点击鼠标右键,输入BeginPlay,添加这个事件
  3. 在BeginPlay事件节点引脚拖一根线出来,在弹出框里输入Create Level… 选择插入一个叫Create Level Sequence Player的节点
  4. 在Level Sequence引脚下点击Select Asset,指定FlyingCube为我们想要播放的资源
  5. 鼠标右键点击Settings引脚,在弹出菜单里选择Split Struct Pin,然后将Settings Auto Play勾上
  6. 点击保存,并编译

动画播放框架搭好了!接着,我们就来实现在MyCube立方体碰到地面的一瞬间触发一次振动。原理也很简单:在立方体触地的时间点触发一个事件,然后在蓝图中响应这个事件,播放一个振动资源。

具体步骤如下:

  1. 双击FlyingCube图标进入动画编辑器
  2. 点击左上角的“+ Track”按钮,然后选择 Event Track | Trigger来添加一条事件轨道
  3. 将游标拖动到第120帧处,然后点击事件轨左侧的“+”来插入一个关键点
  4. 鼠标双击上述事件关键点,即可打开当前这个动画的导演蓝图,在这里可以添加对这个事件的响应(注:事件名称默认为SequenceEvent_0,在这里也可以将其重命名为CubeHitGround)
  5. 在导演蓝图里播放振动效果。分五步完成:(1)从CubeHitGround事件节点引脚拖一根线出来,在弹出框里输入Client Play Force Feedback(记得先把Context Sensitive勾选去除!),插入这个函数调用;(2)在事件图表中,点击鼠标右键,输入Get Player Controller,插入这个节点;(3)将Get Player Controller的Return Value引脚与Client Play Force Feedback的Target引脚连接起来;(4)Force Feedback Effect引脚下点击Select Asset,然后选择一个振动资源文件;(5)保存并编译。

大功告成!完整运行起来看看效果吧!源代码工程已经上传到GitHub。【广而告之】本文只是演示在UE动画中添加原生的振动效果。主要侧重于实现方法和步骤的讲解,对振动效果不必奢求。如果想要实现跨设备的高品质振动效果,还得看RichTap。欲知详情,请访问官网:richtap-haptics.com。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1574407.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何把学浪app的视频保存本地

如何把学浪app里面的视频保存到本地,其实很简单,只需要用到一个工具,那就是小浪助手.exe 这里我已经把小浪助手.exe打包好了,有需要得话自己下载 链接:https://pan.baidu.com/s/1y7vcqILToULrYApxfEzj_Q?pwdkqvj 提…

客户银行主数据批导

程序:ZSDR0005 *&---------------------------------------------------------------------* *& Report ZSDR0005 *&---------------------------------------------------------------------* *& *&----------------------------------------…

深入研究:我国工业实时操作系统的核心技术与演进路径

实时操作系统(RTOS)在各类工业场景中发挥着中枢神经系统的关键作用,是数字化工业的重要基础。当前,全球大部分工业实时操作系统市场被国外厂商占据,围绕主流RTOS产品内核提供了完备的上下游软件配套,并以嵌…

目标检测标签分配策略,难样本挖掘策略

在目标检测任务中,样本的划分对于模型的性能具有至关重要的影响。其中,正样本指的是包含目标物体的图像或区域,而负样本则是不包含目标物体的图像或区域。然而,在负样本中,有一部分样本由于其与正样本在特征上的相似性…

开启虚拟机时出现此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态怎么解决

问题描述 虚拟机安装完成后,点击开启此虚拟机弹出系统提示 原因分析: Intel VT-x 处于禁用状态,需要开启。 解决方案: 以联系小新笔记本电脑为例,进入BIOS界面,将Intel Virtual Technology设置成Enabl…

在不同操作系统中搭建Python编程环境

1 在不同操作系统中搭建Python编程环境 1.1 在Linux系统中搭建Python编程环境 1. 检查Python版本 在你的系统中运行应用程序Terminal(如果你使用的是Ubuntu,可按Ctrl Alt T),打开一个终端窗口。为确定是否安装了Python&…

SpringBoot实现邮箱验证

目录 1、开启邮箱IMAP/SMTP服务,获取授权码 2、相关代码 1、使用配置Redis(用于存储验证码,具有时效性) 2、邮箱依赖和hutool(用于随机生成验证码) 3、配置Redis和邮箱信息 4、开启Redis服务 5、编写发送…

广东智慧公厕管理系统哪家好@光明源

随着城市发展和人民生活水平的提高,智慧公厕作为城市公共卫生设施的重要组成部分,受到了越来越多城市管理者的重视。在广东,智慧公厕管理系统的选择成为了一个备受关注的话题。那么,在广东,到底哪家智慧公厕管理系统比…

某程旅行安全工程师一面

一、自我介绍 阿吧阿吧,不多说了 二、两段实习经历,看你在南京中孚数据安全部做实习生,你能大概讲一下做什么的吗 当时做的是一个隐写溯源项目,是我们实验室跟南京中孚那边共同合作的。主要是针对电子文档信息泄露,…

牛市来临,模块化赛道可能会出现下个以太坊?

市场专家普遍预测,2024年将成为加密货币市场迎来新一轮牛市的关键时刻。研究人员将下一次比特币(BTC)减半以及2024年现货BTC ETF(交易所交易基金)的可能性视为推动下一次牛市的潜在因素。这一牛市的可能爆发有望吸引大…

C# Web应用调用EXE文件的一些实践

目录 需求 范例运行环境 可执行文件的设计 调用可执行文件方法 RunExecuteFile RunShellExecuteFile 方法的区别 WEB调用举例 小结 需求 最近同事使用Python开发了一款智能文字转语音的程序,经讨论部署在WINDOWS环境服务器下,因此需要生成目标…

C语言函数实现冒泡排序

前言 今天我们来看看怎么使用函数的方式实现冒泡排序吧&#xff0c;我们以一个数组为例arr[] {9,8,7,6,5,4,3,2,1,0},我们将这个数组通过冒泡排序的方式让他变为升序吧。 代码实现 #include<stdio.h> void bubble_sort(int arr[], int sz) {int i 0;for (i 0;i < s…

如何使用GraphQL和Apollo构建一个宝可梦应用

宝可梦是一个由视频游戏、动画系列与电影、交换卡牌游戏以及其他相关媒体组成的日本媒体特许经营权。 在本文中&#xff0c;我们将使用一个宝可梦GraphQL API&#xff0c;该API提供有关不同宝可梦的数据。 我们将使用Apollo和GraphQL来处理数据获取&#xff0c;以及React来构…

数据库之DCL操作(用户、访问权限。)

DCL英文全称是Data control language(数据控制语言)&#xff0c;用来管理数据库用户、控制数据库的访问权限。 1.管理用户 1.1查询用户 select * from mysql.user; 其中 Host代表当前用户访问的主机&#xff0c;如果为localhost&#xff0c;仅代表只能够在当前本机访问&…

git上传到本地仓库

摘要&#xff1a;本地初始化init仓库&#xff0c;进行pull和push&#xff1b;好处是便于利用存储设备进行git备份 git init --bare test.git 随便到一个空的目录下git clone 然后使用git上传 把git仓库删除之后再clone一次验证一下是否上传成功&#xff1a; 如果在ubantu上面没…

嵌入式面向对象学习 RT-Thread I/O 设备管理框架 设备驱动层 案例测试

嵌入式面向对象 RT-Thread I/O 设备管理框架 设备驱动层 注&#xff1a;本文介绍性内容转载于《RT-Thread记录&#xff08;十、全面认识 RT-Thread I/O 设备模型&#xff09;》 注&#xff1a; 本次使用的开发板 &#xff1a; ​ 兆易创新GD32F407VET6开发板 ​ 雅特力科技…

c++的学习之路:7、类和对象(3)

目录 一、初始化列表 二、static成员 三、友元 四、内部类 五、匿名对象 六、类和对象的思维导图 一、初始化列表 初始化列表&#xff1a;以一个冒号开始&#xff0c;接着是一个以逗号分隔的数据成员列表&#xff0c;每个"成员变量"后面跟一个放在括号中的初始…

求m和n的最大公约数(C语言)

一、运行结果&#xff1b; 二、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>int main() {//初始化变量值&#xff1b;int remainder 1;int m 0;int n 0;int middle 0;//提示用户&#xff1b;printf("请输入整数m和n的值&#xff…

辅助PC端教程

使用谷歌浏览器打开京东,并登录好账号进入到 https://home.jd.com/ ,在根据下面操作 更多工具 - 开发者工具,会有一个窗口打开,选择network,点击XHR

撸代码时,有哪些习惯一定要坚持?

我从2011年开始做单片机开发&#xff0c;一直保持以下撸代码的习惯。 1.做好代码版本管理 有些人&#xff0c;喜欢一个程序干到底&#xff0c;直到实现全部的产品功能&#xff0c;我以前做51单片机的项目就是这样。 如果功能比较多的产品&#xff0c;我不建议这样做&#xff0…