【问题标题】:#mrtk Accessing Hololens Spatial Map MRTK v2#mrtk 访问 Hololens 空间地图 MRTK v2
【发布时间】:2019-09-24 16:16:59
【问题描述】:

我在尝试了解如何使用最新 MRTK 版本的空间感知用户指南来访问空间映射网格以在多用户应用程序中使用时遇到了麻烦。我找不到像以前在旧工具包中那样序列化网格以将它们发送到远程设备的方法。我试图将网格添加到列表中并使用旧的 simplemeshserializer 但这似乎根本不起作用。在尝试了解当前 MRTK 中的当前功能以及如何复制相同功能时,我们将不胜感激。

【问题讨论】:

  • 我认为如果您可以分享您已经完成的工作(屏幕截图/源代码)会更有帮助,这样其他人可能更容易理解问题。
  • 我已按照此处的使用指南:microsoft.github.io/MixedRealityToolkit-Unity/Documentation/…。在枚举和访问网格下,我尝试获取网格对象并创建可以序列化的网格列表,然后使用 webrtc 数据通道发送到远程设备。我一直在尝试复制 HTK 中的功能,将空间地图从 hololens 发送到远程设备,但是一旦我发送列表,远程设备就会变得无响应。

标签: hololens mrtk


【解决方案1】:

我也一直面临 mrtk v2 空间感知的问题。您是否尝试过使用表面类型?我还不能让它工作。

【讨论】:

  • 没有尝试过表面类型,因为它对我想要实现的东西没有帮助。
【解决方案2】:

你的意思是你想在多个设备之间传输mesh,但是当你在MRTKv2中使用simplemeshserializer对mesh进行序列化并传输时,远程设备变得无响应?

根据之前多客户端传输mesh的一些顾虑,希望大家可以按照以下步骤排查:

  1. 使用 WebRTC 传输数据时是否正确接收数据?
  2. 反序列化后数据还可靠吗?您可以尝试将其保存在本地并进行验证。
  3. 收到数据并反序列化后,你是如何处理这些反序列化的网格的?你能提供小样本来重现问题吗?

【讨论】:

  • 使用我之前评论过的示例,我将其添加为: foreach (SpatialAwarenessMeshObject meshObject in observer.Meshes.Values) { mesh = meshObject.Filter.mesh; List meshesToSend = new List(); meshesToSend.Add(网格); byte[] serializedMeshes = SimpleMeshSerializer.Serialize(meshesToSend); peerConnection._meshDataChannel.SendMessage(serializedMeshes); }
  • @AristidesStaikos 我们很难根据代码 sn-p 找到问题的原因。因此建议您按照anwser中的步骤进行故障排除。这将有助于我们定位问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多