前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Node.js Leap Motion Hello World——开启AR的小窗

Node.js Leap Motion Hello World——开启AR的小窗

作者头像
Phodal
发布2018-01-26 18:02:21
1.4K1
发布2018-01-26 18:02:21
举报
文章被收录于专栏:phodalphodal

Leap Motion的官方已经有一个名为LeapJS的库,但是官方没有做好一个Node.js的Demo,有的都是Client Side的一些示例。

在最开始的时候给我造成了极大的困惑,我以为启动Leap Motion的应用就可以直接运行官方的Demo——在这个应用里会运行WebSocket的Server。

Leap Motion Node.js 服务端

这时候,我们需要一个简单的服务端代码来启动这个WebSocket Server。按照官方的node包,则是setupConnectionEvents

首先,我们需要先初始化一个controller:

代码语言:javascript
复制
var leapjs = require('leapjs'),
      controller = new leapjs.Controller({
        frameEventName: 'animationFrame'
     });

然后就是在启动和断开的时候打个Log

代码语言:javascript
复制
controller.on('connect', function (data) {  console.log("Successfully connected.");
});

controller.on('streamingStarted', function (data) {  console.log("A Leap device has been connected.");
});

controller.on('streamingStopped', function (data) {  console.log("A Leap device has been disconnected.");
});

接着,就可以连接了:

代码语言:javascript
复制
controller.connect();

最后,我们就可以在浏览器上访问这个WebSocket Server了。

Leap Motion 浏览器访问

Leap Motion提供了leapjs,用于浏览器访问。如其源码所示,默认的端口是6437:

代码语言:javascript
复制
BaseConnection.prototype.getUrl = function() {  return this.scheme + "//" + this.host + ":" + this.port + "/v" + this.opts.requestProtocolVersion + ".json";
}

BaseConnection.prototype.getScheme = function(){  return 'ws:'}

BaseConnection.prototype.getPort = function(){  return 6437}

接着,我们所需要做的就是创建一个web app。然后,先用官方的Demo:

代码语言:javascript
复制
Leap.loop({

  hand: function(hand){    console.log( hand.screenPosition() );
  }

}).use('screenPosition');

然后,启动Server,刷新浏览器,在Leap Motion上面动动,就会有下面的结果:

代码语言:javascript
复制
[-65.61160000000001, 160.66859999999997, 72.7992]
[-165.05679999999995, 172.716, 83.8854]
[-222.02319999999997, 157.9176, 83.9886]
[-270.48220000000003, 164.90820000000002, 86.7462]
[-319.08939999999996, 189.69539999999995, 86.4468]
[-347.6512, 236.19600000000003, 76.0038]
[-407.668, 261.657, 72.2484]

现在,我们就可以连接更多的东西~~。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-11-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 phodal 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Leap Motion Node.js 服务端
  • Leap Motion 浏览器访问
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档