Leap Motion(JS)控制(提高事件判定精准度)

本文介绍了如何使用Leap Motion的JavaScript库(leapJS)提高事件判定的精准度,包括利用左手标识(left()函数)、Pointable的touchZone和tipVelocity属性、Hand的pinchStrength和grabStrength属性、Frame的gestures对象以及Gesture的各类属性来过滤和区分不同的手部动作和手势。同时,提出了在处理每帧更新时避免多事件问题的探讨,并提供了联系方式寻求解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,Bone下left()函数可以用来判定当前是哪一个手掌在进行控制,通过left来过滤左手和右手的消息
2,Pointable:
touchZone:返回字符串(String)“touching”“hovering”用来判定触碰点击事件可以混用缩小事件范围
tipVelocity : 顶端位置变化的速率mm/s 通过该属性来分离快慢动作,是一个不错的选择
3,Hand:
pinchStrength:捏的力度【0-1】
grabStrength:抓的力度【0-1】用来判定抓捏力度来进行一些握拳,抓取动作
palmVelocity 改变手掌位置的速度改变手掌位置的速度
valid:是否有效
4,Frame:
gestures:保存手势信息
pointable(id):valid 匹配对应的ID是否存在
5,controller:
onBlur:失去焦点时触发的事件
on:触发事件
6,Gesture:
duration:持续事件,微秒级
type:circle,swipe,screenTap,keyTap
CircleGesture:progress(画圆的次数)
SwipeGesture:speed(速度),position(当前位置),startPosition(开始位置)
KeyTapGesture:duration(持续时间),state(状态),type(类型)
exmple:
//当前hand Mesh
if(frame.hands.length==1)
{
var handTemp = frame.hands[0];
var boneTemp =handTemp.arm;
if(boneTemp.left())
{
TODO somethings
//左手事件处理
}
if(!boneTemp.left())
{
//右手事件处理
}
}
if(frame.hands.length==

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值