我一直试图在HoloLens 应用程序运行期间(网格由Microsoft HoloLens生成)在网格中找到一个固定点,我可以在重新启动应用程序后与之关联,但没有成功。我的目标是在网格中找到一个固定点,以便在放置上次应用程序运行保存的预制件时与之相关。我将使用该点作为原点,将预制件放置在它们之前在网格中的位置,从而将它们显示在它们最初放置在网格中的位置。
我尝试执行以下操作,但结果不正确:
- 保存 SpatialMapping GameObject 的 transofrm 组件的 LocalToWorld / WorldToLocal Unity4x4 矩阵,并对预制件的位置执行 Matrix4x4.MulitplyPoint()
- 相对于生成网格的局部中心变换预制件的位置
- 相对于第一个子网格的局部中心变换预制件的位置
请注意,一旦放置预制件,即使在未来的应用程序运行中,我也不会更改网格(禁用空间表面的更新)。
唯一的限制是我不能使用WorldAnchors,因为我需要能够在 MixedReality 应用程序之外(特别是在WebGL 应用程序中)编辑这些预制件的位置,然后在 HoloLens 应用程序中的正确编辑位置显示它们网格。