在上一篇博客里教学了UE4的LeapMotion的简单使用,本篇讲述使用UE4的蓝图进行编程,设置一个立方体让他跟随掌心移动。
1.打开上次建立的LeapFloatingHandsCharacter,切换到"视口"窗口,选择添加组件----立方体,鼠标左键拖动到窗口,并且为小球起好名字。
2.在点击立方体,在右侧细节栏中,将立方体进行缩放,xyz全部设置为0.1
3.进“事件列表”窗口,准备编写蓝图
3.1 Palm Position(掌心坐标):返回的是一个xyz坐标的vector,使用break vector可以将三个数据拿出。
3.2对掌心位置进行补偿,因为各个坐标系之间的偏差,只有做初步的补偿才能更好地体现效果
我们使用vector+vector,来补偿
我的补偿数据,如下
补偿完毕后,接着就是设置立方体在世界中的位置
3.3设置小球位置(SetWorldLocation)
然后添加,立方体对象,完成设置
最后效果如下,我不会做动态图,展示静态图就好
Demo的下载链接
https://download.csdn.net/download/qq_36251561/11106258
附1.警告消除办法:LeapController Warning:Delegate is NOT set,did you implement LeapEventInterface?
这个是进入接口没添加
找到你的leap角色蓝图,点击类设置,找到接口,添加,选择LeapEventInterface,即可。(不设置也不会有影响)
附2.leap的手不见了情况一,一直在往下掉,主要是Z坐标一直在减少,取消物理也没用
找到你继承的LeapFloatingHandsCharacter打开,找到CharacterMovement,点击打开细节栏
把细节栏里的一般设置的Mode改为飞行模式