Unity3D + Leap Motion:从网络重放和识别手势

时间:2013-11-18 21:01:46

标签: c# json unity3d unityscript

他在那里,

我目前正在为一个学校项目开展一场严肃的游戏。简而言之,这个游戏应该帮助患有不同类型的手关节炎(和相关疾病)的人。一般的想法是,游戏将帮助patiënt移动他们的手和手指,以保持他们尽可能健康。

事实是,每个人都不同,所以每个人都有不同的“练习”。我们已经考虑过这个问题,我们认为处理这个问题的最佳方法是记录每个人的练习。

我们提出了以下想法。我们为医生和物理治疗师创建了一个门户网站。在这里,他们能够“创建”patiënt文件。每个patiënt文件都有关于该特定patiënt的不同信息。接下来,医生可以使用跳跃动作记录不同的练习。我使用了jestPlay项目来实现这一目标。到目前为止,医生/治疗师能够记录特定病人的锻炼并将此锻炼作为.json文件存储在服务器上。

除此之外,另一部分时间是在Unity3D引擎(C#)中构建游戏。在这个游戏中,玩家使用法术来清除游戏。这些法术应该是医生在网络应用程序中记录的特定练习。当patiënt登录游戏时,练习的.json文件将被发送到Unity3D引擎。到目前为止,非常好。

一旦.json文件在Unity中,我就使用json解析器将它放入一个对象(数组)中。数据应该转换为跳跃动作的运动(可以说是重放)。一旦特定的patiënt进行了医生最初记录的运动/运动,那么该法术应该完成。

现在,我有以下问题,我真的不知道从哪里开始解决这个问题。我真的希望有人之前有这样的事情,并且能够/愿意帮助我。

- 如何将网络应用程序中的数据(请参阅http://www.yorickkeijzer.nl/cotf/application/exercise.json2示例)转换为Unity中的跳跃动作重放/练习/移动?

- 如何让Unity识别不同的动作/练习(所以将Web应用程序的.json数据与实时的跳跃动作数据进行比较)?

我希望,我已经说清楚了。如果您有任何疑问,请随时向他们询问。

非常感谢!

1 个答案:

答案 0 :(得分:1)

重新发布此回复:https://community.leapmotion.com/t/unity3d-gesture-replay-and-recognition-from-web/209/2

在javascript / web Leap客户端和统一网络引擎之间发送信息的文档。

总结:您可以使用Javascript Leap客户端检测帧数据,并使用Unity的浏览器API将其发送到Web播放器(或其中一部分数据)。由于浏览器沙盒,Leap Web播放器无法直接访问帧数据流,因此我们必须为其提供帧数据的间接馈送。

我不建议将框架中的每条信息都发送到网络播放器;如果你知道你想要什么信息 - 指尖,手掌位置,手势 - 在自定义消息JSON块中将该信息发送给Unity。

如果您要发送JSON,请记住您将发送JSON字符串;要分离这些数据,您将使用在wiki中找到并在该文章中引用的JSONObject代码。

我在实施过程中使用了基本文件的Gists。

戴夫埃德哈特 高级Web开发人员 飞跃运动

其他链接: Leap JavaScript API文档:js.leapmotion.com