在Microsoft HoloLens上的网格中查找固定点

时间:2019-03-05 21:11:34

标签: unity3d webgl mesh hololens windows-mixed-reality

我一直试图在 HoloLens应用程序(网格由 Microsoft HoloLens 生成)运行期间在网格中找到固定点。重新启动应用程序后,我可以与之联系,但没有成功。我的目标是在网格中找到一个固定点,当放置从上次应用程序运行中保存的预制件时,将与之相关。我将以该点为原点,将预制件放置在网格中的先前位置,从而显示它们在网格中最初放置的位置。

我尝试执行以下操作,但结果不正确:

  • 保存SpatialMapping GameObject的跨框架组件的LocalToWorld / WorldToLocal Unity4x4矩阵,并在预制位置上执行Matrix4x4.MulitplyPoint()
  • 相对于生成的网格的局部中心的预制件的变换位置
  • 转换预制件相对于第一个子网格局部中心的位置

请注意,一旦放置了预制件,即使在将来的应用程序运行中,我也不会更改网格(禁用空间表面的更新)。

唯一的限制是我不能使用 WorldAnchors ,因为我需要能够在MixedReality应用程序之外(尤其是在 WebGL应用程序中 strong>),然后将其显示在网格中HoloLens应用程序中正确的编辑位置。

1 个答案:

答案 0 :(得分:1)

这正是一项锚定任务。网格中没有固定点。

  1. 您需要在世界上放置锚点。然后获取GetNativeSpatialAnchorPtr
  2. SpatialAnchor具有TryCreateRelativeTo()方法。使用它来创建编辑的位置。
  3. 从编辑后的位置分配SetNativeSpatialAnchorPtr()。