C# leapmotion手势的鲁棒性和可靠性如何,以及如何最大限度地配置它们?

C# leapmotion手势的鲁棒性和可靠性如何,以及如何最大限度地配置它们?,c#,wpf,gesture,leap-motion,C#,Wpf,Gesture,Leap Motion,我正在开发一个简单的视频播放器(在WPF和c中,因为它必须用于windows),它必须放置在公共场所(因此有大量未经培训的随机用户)。控制将是非常基本的,滑动手势在视频之间滚动,一旦其中一个在屏幕上居中,点击播放并暂停 我用它所有的花哨的东西完成了这个播放器,我设法把手势附加到它上,但是,嘿,绝对不是我需要的。手势有很多失误(负面错误),特别是轻拍(但即使少了很多,我也会说轻拍也有很多失误) 现在,我需要的是一点也不高的精度(正如我所说的,只是左右滑动和点击,所以没有任何精确的交互),但我需要让

我正在开发一个简单的视频播放器(在WPF和c中,因为它必须用于windows),它必须放置在公共场所(因此有大量未经培训的随机用户)。控制将是非常基本的,滑动手势在视频之间滚动,一旦其中一个在屏幕上居中,点击播放并暂停

我用它所有的花哨的东西完成了这个播放器,我设法把手势附加到它上,但是,嘿,绝对不是我需要的。手势有很多失误(负面错误),特别是轻拍(但即使少了很多,我也会说轻拍也有很多失误)

现在,我需要的是一点也不高的精度(正如我所说的,只是左右滑动和点击,所以没有任何精确的交互),但我需要让手势尽可能可靠,这样说,如果偶尔我错过了,这没有问题,但它不必像现在这样让用户感到沮丧

我试着使用手势配置(长度和速度),但我没有看到很大的区别,默认值看起来几乎是最好的。还有什么我能做的吗? 如果这有帮助的话,有没有关于如何发展新的手势的提示,不是基于现在看起来的指尖,而是基于完整的手部动作?作为一个新手,我不确定这是否可行(我想是的),如果可行,我该如何开始和继续


另外,您认为有可能达到我所期望的可靠性水平吗?

我觉得刷卡相当可靠。将您在应用程序中看到的内容与打开“手势绘制”时在诊断可视化工具中看到的内容进行比较(按
o
键)。如果手势在可视化工具中工作得更好,那么您可能会跳过帧,从而丢失一些手势对象。这一点在轻触手势中最为明显,如果您依赖于STATE_START手势状态来检测滑动手势的开始

我假装我正在使用你的应用程序,可视化工具打开,刷卡对我来说很好;我很少看到有人错过。唯一可能出现问题的是,当我将手移回同一方向再次刷卡时,会出现假回击。不过,设置两次刷卡之间的延迟可能会有所帮助

尽管如此,如果你刷卡的主要问题是未击中,那么降低最小距离和/或速度应该会有所改善。如果您没有看到太大的差异,那么请验证这些值是否真的发生了更改;设置配置值是异步的,所以在读回它们之前必须等待一帧。当这些值设置得太低时,我预计问题会变成误报

如果滑动仍然不适合您,您可以尝试用伸出的手指(或两个手指等)简单地跟踪手的x位置,并在该位置超出某个边界时向左或向右滚动。屏幕上的清晰提示将有助于此处的用户

轻敲更难使其可靠,尤其是当您使用多种手势时。如果更改设置以使抽头识别更加自由,则很容易出现大量误报。不过,应该有办法调整它以使其发挥作用。例如,在刷卡时忽略轻敲,或忽略在以y轴为中心的预定义框外发生的轻敲,等等

轻触的替代方法包括使用Pointable类TouchDistance属性。许多开发人员使用定时悬停来激活按钮

有关其他想法,请参阅Leap Motion文档中的这篇文章:


它讨论菜单,但一般原则也适用于您的情况。

我觉得刷卡相当可靠。将您在应用程序中看到的内容与打开“手势绘制”时在诊断可视化工具中看到的内容进行比较(按
o
键)。如果手势在可视化工具中工作得更好,那么您可能会跳过帧,从而丢失一些手势对象。这一点在轻触手势中最为明显,如果您依赖于STATE_START手势状态来检测滑动手势的开始

我假装我正在使用你的应用程序,可视化工具打开,刷卡对我来说很好;我很少看到有人错过。唯一可能出现问题的是,当我将手移回同一方向再次刷卡时,会出现假回击。不过,设置两次刷卡之间的延迟可能会有所帮助

尽管如此,如果你刷卡的主要问题是未击中,那么降低最小距离和/或速度应该会有所改善。如果您没有看到太大的差异,那么请验证这些值是否真的发生了更改;设置配置值是异步的,所以在读回它们之前必须等待一帧。当这些值设置得太低时,我预计问题会变成误报

如果滑动仍然不适合您,您可以尝试用伸出的手指(或两个手指等)简单地跟踪手的x位置,并在该位置超出某个边界时向左或向右滚动。屏幕上的清晰提示将有助于此处的用户

轻敲更难使其可靠,尤其是当您使用多种手势时。如果更改设置以使抽头识别更加自由,则很容易出现大量误报。不过,应该有办法调整它以使其发挥作用。例如,在刷卡时忽略轻敲,或忽略在以y轴为中心的预定义框外发生的轻敲,等等

轻触的替代方法包括使用Pointable类TouchDistance属性。许多开发人员使用定时悬停来激活按钮

有关其他想法,请参阅Leap Motion文档中的这篇文章:


它讨论菜单,但一般原则也适用于您的情况。

嗨,查尔斯,在完成该项目后,我或多或少来到了您的sa