Hololens开发学习(七)用HoloLens和Kinect构建远程呈现
更新时间:2026-02-16 10:16:50
-
-
爱情和生活模拟rpg手机版
- 类型:体育竞技
- 大小:87.5mb
- 语言:简体中文
- 评分:
- 查看详情
Hololens开发学习(七)用HoloLens和Kinect构建远程呈现
在微软混合现实解决方案交流会上,我了解到Hololens可以通过结合其他设备实现肢体跟踪。虽然第一代Hololens只能识别有限的手部姿势,但仍需借助外部设备增强其功能。回家后,我查阅了相关资料,准备分享如何利用Hololens和Kinect构建远程呈现系统。
- 外部摄像头和网络连接
虽然Hololens内置了摄像头,但为了创建远程呈现应用,我们还需要使用外部摄像头来捕捉更全面的视角。Kinect微软于推出的第二代Kinect for Windows感应器,拥有以下特点:彩色摄像头分辨率为深度摄像头分辨率为能够同时检测用户的姿势,并能识别关节点。其检测范围在到之间,视角为水平和垂直。Kinect过获取更多的用户姿势和关节点信息,提供更广泛的检测范围,视野更开阔,从而带来全新的用户体验。它在Unity中广泛应用,功能强大。
由于Hololens不支持通过USB端口插入第三方硬件,故需通过网络层实现设备间通信。利用HoloToolkit中的共享服务,在Unity IDE中选择下拉菜单启动,如图所示。

- HoloLens-Kinect项目介绍
许多远程呈现的Hololens应用是基于Michelle Ma的开源HoloLens-Kinect项目开发的,地址:https://www.php.cn/link/ceddfdae。插件包与HoloToolkit服务结合使用来解决难题。
尽管Unity的Kinect插件在UWP中无法运行(Kinect无法直接插入Hololens),但它可以在Windows或IDE中运行(此时使用的是.NET 架而非.NET Core框架)。关键在于在Windows上运行Kinect集成,然后通过无线网络将消息发送给Hololens,使Kinect和Hololens协同工作。
在HoloToolkit的世界中,网络服务扮演着关键角色,特别是在不同设备间同步世界的角色。这种共享服务不仅局限于PC上的实例化和跨设备通信,还可以应用于单个Hololens设备之间进行无缝交流。此外,它还允许发送各种类型的原始数据,包括Kinect的位置信息,这使得该服务的功能更加丰富多样。
- 使用HoloLens-Kinect项目进行二次开发
通过Michelle Ma提供的代码,构建一个双项目的Unity环境:一个用于台式PC的独立应用程序,另一个则专为HoloLens设计。在前者的项目中,安装并导入Kinect插件包,并将HoloToolkit上的预制物加入到两个应用中。对于后者,确保其应用中的服务器地址字段包含目标机器的IP地址。
这两个应用程序在功能上相当。在PC端,它们均从Kinect获取身体数据流并将其发送至名为BodyView.cs的脚本中。在此过程中,当Kinect检测到新物体时,BodyView会为每个关节创建球体,并在每次更新后重新定位这些关节。

另一个名为 BodySender.cs 的脚本接收并发送数据到共享服务。在 Hololens 设备上,一个名为 BodyReceiver.cs 的脚本获取接收到的关节数据,并将其传递给它自己的 BodyView 类实例,该实例化了由球体基元组成的点组。

此代码封装于Michelle Ma的CustomMessages中,其基于HoloToolkit中的CustomMessages类进行微调以传输Kinect关节数据。

- 使用Kinect扩展Hololens手势
Kinect在手势识别领域表现优异。得益于与Hololens的紧密协作,用户现在不仅可以通过指尖来操控设备,还可以通过全身动作来进行更丰富的互动体验。这一技术突破极大地增强了Hololens的多功能性和灵活性,为未来的智能穿戴设备开发提供了新的可能性和潜力。
以上就是Hololens开发学习(七)用HoloLens和Kinect构建远程呈现的详细内容,更多请关注其它相关文章!
