博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Leap Left Grab和 Event hand Grabbed
阅读量:20801 次
发布时间:2019-12-03

本文共 826 字,大约阅读时间需要 2 分钟。

当前用UE4在做一个LeapMotion的交互功能,使用了插件包中的LeapMotionFloatingCharacter这个Character,在github中的插件使用文档中是这样的:

1,在这个项目中首先要实现LeapEventInterface接口;
2,添加LeapMotion的LeapController or (创建一个LeapController 类型的引用变量,然后在BeginPlay事件中添加AddController赋值给引用变量)
但是做完这些后,事件变成了多次执行,Leap Left Grab会重复执行(这个事件是重复执行的罪魁祸首)
实验了多次,才知道这和LeapController的添加有关,该Character的子物体组件LeapHands中的LeapAnimBodyConnectorActor中包含了一个LeapController,当执行Character中的
LeapMotion事件时,Leap Left Grab会重复调用事件,造成事件的重复。
这里写图片描述
解决办法有三种:
1,通过变量来控制事件中的蓝图函数执行次数,比如说:通过bool值来控制
2,通过叠加LeapController来达到单次执行的目的(每加一次LeapController,事件便多执行一次)
这里写图片描述
3,添加LeapController,并且只用Leap Interface Event;这样事件就不会造成重复执行;如果使用Leap Left Grab ,那么就会和整个Character中的LeapController添加相关,每添加一次,便会多执行一次,Leap Left Grab 本身上是一个Gamepad Events事件。所以两者事件不能混用,容易引发错误。在本例中,我把Leap Left Grab事件转化成了 Event hand Grabbed 和 Event hand Released 两个事件来执行,顺利的解决了问题。
这里写图片描述
这里写图片描述

你可能感兴趣的文章
【selenium】selenium ide的安装过程
查看>>
【手机自动化测试】monkey测试
查看>>
【英语】软件开发常用英语词汇
查看>>
Fiddler 抓包工具总结
查看>>
【雅思】雅思需要购买和准备的学习资料
查看>>
【雅思】雅思写作作业(1)
查看>>
【雅思】【大作文】【审题作业】关于同不同意的审题作业(重点)
查看>>
【Loadrunner】通过loadrunner录制时候有事件但是白页无法出来登录页怎么办?
查看>>
【English】【托业】【四六级】写译高频词汇
查看>>
【托业】【新东方全真模拟】01~02-----P5~6
查看>>
【托业】【新东方全真模拟】03~04-----P5~6
查看>>
【托业】【新东方托业全真模拟】TEST05~06-----P5~6
查看>>
【托业】【新东方托业全真模拟】TEST09~10-----P5~6
查看>>
【托业】【新东方托业全真模拟】TEST07~08-----P5~6
查看>>
solver及其配置
查看>>
JAVA多线程之volatile 与 synchronized 的比较
查看>>
Java集合框架知识梳理
查看>>
笔试题(一)—— java基础
查看>>
Redis学习笔记(三)—— 使用redis客户端连接windows和linux下的redis并解决无法连接redis的问题
查看>>
Intellij IDEA使用(一)—— 安装Intellij IDEA(ideaIU-2017.2.3)并完成Intellij IDEA的简单配置
查看>>