IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> HoloLens2的彩色和深度数据流通过主机获取 -> 正文阅读

[游戏开发]HoloLens2的彩色和深度数据流通过主机获取

关于HoloLens 2设备提供了研究社模式,便于开发者访问传感器的原始数据,进行科研开发,本博客根据github项目在线获得图像数据,但是目前达不到实时传输的效果,延迟很高,期望以后的深入学习可以解决。

一、实验准备

1、实验条件

  • Windows 10 SDK 10.0.18362.0
  • HoloLens 2 设备
  • Unity 2020.3.31f1c1配置好MRTK混合现实开发包
  • Visual Studio 2019
  • Python3.9(opencv-python)

2、下载Github工程

HoloLens2-Unity-ResearchModeStreamer

3、打开HoloLens 2研究者模式

二、配置过程

1、配置VS环境

设置项目属性为release 和ARM64

Release+ARM64

在这里插入图片描述

2、注释工程项目中Eigen库

在这里插入图片描述

2、生成解决方案

在这里插入图片描述
在这里插入图片描述

3、更换Lib库

lib库里放了Opencv4.X的库,根据需要把附加依赖项直接换成opencv_world341.lib,这个文件包括项目所需所有lib
在这里插入图片描述

三、配置Unity项目

1、新建Unity的3D项目

在这里插入图片描述

2、将项目切换到Universal windows patform平台

在这里插入图片描述

3、新建路径

在这里插入图片描述

4、将前面编译好的文件拷贝到新建的Plugins文件夹下

E → HoloLens2-Unity-ResearchModeStreamer-master → HL2RmStreamUnityPlugin → ARM64 → Release → HL2RmStreamUnityPlugin

5、新建一个StreamerHL2.cs

复制下面代码到脚本里面
在这里插入图片描述

在这里插入代码片

6、将脚本随便挂在在一个对象上,我挂载的是主相机

在这里插入图片描述

7、设置Unity 项目的兼容性

勾选
InternetClient, InternetClientServer, PrivateNetworkClientServer, WebCam, SpatialPerception 5个位置
在这里插入图片描述

8、编译unity工程

在这里插入图片描述

9、配置package文件中的兼容性

在这里插入图片描述

10、将如下字段添加到 Package 中

xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"

在这里插入图片描述

11、在Package这一行中,找到"IgnorableNamespaces"的属性,添加“rescap”字段

在这里插入图片描述

12、在 Capabilityes添加如下字段

<rescap:Capability Name="perceptionSensorsExperimental" />

在这里插入图片描述
Package.appxmanifest文件全揽,RMSTest可更换文件名

<?xml version="1.0" encoding="utf-8"?>
<Package xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2" xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3" xmlns:uap4="http://schemas.microsoft.com/appx/manifest/uap/windows10/4" xmlns:iot="http://schemas.microsoft.com/appx/manifest/iot/windows10" xmlns:mobile="http://schemas.microsoft.com/appx/manifest/mobile/windows10" IgnorableNamespaces="uap uap2 uap3 uap4 mp mobile iot rescap" xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10">
  <Identity Name="Template3D" Publisher="CN=DefaultCompany" Version="1.0.0.0" />
  <mp:PhoneIdentity PhoneProductId="edd907fa-2c4f-49b2-89a0-9fa371043c33" PhonePublisherId="00000000-0000-0000-0000-000000000000" />
  <Properties>
    <DisplayName>RMSTest</DisplayName>
    <PublisherDisplayName>DefaultCompany</PublisherDisplayName>
    <Logo>Assets\StoreLogo.png</Logo>
  </Properties>
  <Dependencies>
    <TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.10240.0" MaxVersionTested="10.0.19041.0" />
  </Dependencies>
  <Resources>
    <Resource Language="x-generate" />
  </Resources>
  <Applications>
    <Application Id="App" Executable="$targetnametoken$.exe" EntryPoint="Template3D.App">
      <uap:VisualElements DisplayName="RMSTest" Square150x150Logo="Assets\Square150x150Logo.png" Square44x44Logo="Assets\Square44x44Logo.png" Description="Template_3D" BackgroundColor="transparent">
        <uap:DefaultTile ShortName="RMSTest" Wide310x150Logo="Assets\Wide310x150Logo.png" />
        <uap:SplashScreen Image="Assets\SplashScreen.png" BackgroundColor="#FFFFFF" />
        <uap:InitialRotationPreference>
          <uap:Rotation Preference="landscape" />
          <uap:Rotation Preference="landscapeFlipped" />
          <uap:Rotation Preference="portrait" />
          <uap:Rotation Preference="portraitFlipped" />
        </uap:InitialRotationPreference>
      </uap:VisualElements>
    </Application>
  </Applications>
  <Capabilities>
	<rescap:Capability Name="perceptionSensorsExperimental" />
    <Capability Name="internetClient" />
    <Capability Name="internetClientServer" />
    <Capability Name="privateNetworkClientServer" />
    <uap2:Capability Name="spatialPerception" />
    <DeviceCapability Name="webcam" />
  </Capabilities>
</Package>

四、VS编译与部署

1、打开下载好的github工程中的hololens2_simpleclient.py文件

E: → HoloLens2-Unity-ResearchModeStreamer-master → py

2、修改局域网IP

在这里插入图片描述

五、连接运行

1、将PC与HoloLens 2连接至同一局域网

2、vs部署HoloLens 2项目

D→MixedRealityLearning→RMSTest→build

3、选择项目配置

在项目属性页Release和ARM64下,选择调试,计算机名为HoloLens的IP
在这里插入图片描述

4、部署到HoloLens 2上

打开APP

5、运行hololens2_simpleclient.py文件

在这里插入图片描述

6、查看结果

(1)HoloLens 2彩色数据流
在这里插入图片描述
(2)HoloLens 2深度数据流
在这里插入图片描述

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-09-30 01:19:47  更:2022-09-30 01:20:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/17 4:09:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码