适用于游戏的iOS陀螺仪-如何在用户需要保持静止状态时检测作弊行为

时间:2018-12-18 20:36:02

标签: ios swift gyroscope

我目前正在开发游戏,对于打算使用陀螺仪的控件之一。由于其中一种条件会使手机在一段时间内保持稳定,因此有人能想到任何巧妙的方法来检测某人是否只是将手机放在平坦的表面上并留在手机上吗?

我曾考虑过使用加速度计来检测它是否被快速放下,但是如果他们在旅行和玩耍(这是一种休闲游戏),则会产生错误的读数并可能会错误地惩罚人们。我也考虑过接近传感器,但这需要将手机正面朝下放在桌子上,以检测手机是否在作弊,因此显然也不是解决方案。要么,要么他们需要弯腰在设备上。

任何人都可以想到任何好的解决方案,或者我只是在这里用一个主意把错误的树叫出来?

我能想到的唯一其他可能的解决方案是,在一个较大的圆圈内有一个小圆圈,他们必须使用陀螺仪使其尽可能靠近中间。我可以时不时地随机创建“摆动”(就像在旧的杀手游戏中那样,狙击步枪实际上永远不会100%静止以模拟自然呼吸的摆动等)。

1 个答案:

答案 0 :(得分:1)

  

有人能想到任何巧妙的方法来检测某人是否只是将手机放在平坦的表面上并留在手机上吗?

在任何时间段内,任何人都不能完全静止。摄影师会尽最大努力以低速快门拍摄,但是只有您的呼吸和心跳才能产生微小的动作。

连接一个简单的测试项目,该项目使用Core Motion在您尽可能保持静止状态以及将其坐在桌子上时查看accelerometer data。 iOS应用程序通常使用low-pass filter过滤掉那些微小的随机运动,而只看那些大而缓慢的故意运动。您可能想做相反的事情,看看微小的高频变化,这将是试图保持稳定的人与实际上静止不动的桌子之间的区别。