-1

我正在使用 Hololens 和 Unity 创建一个应用程序。用户可以在他的房间里放置物品。然后,目标是在用户放置这些对象后保存它们的位置,以便当他重用应用程序时,它们与前一个会话中的位置相同。

我读到在这种情况下可以使用空间锚,对吗?

但现在是更复杂的部分。第二个目标是将应用程序与用户放置在他的房间中的对象一起使用,在另一个完全不同的房间中,使这些对象尽可能出现在最相似的位置。让我用一个例子更好地解释一下:在房间 A 中,用户将一个物体放在房间的右上角。然后用户移动并前往房间 B。他启动应用程序。在这一点上,我希望对象也位于房间右角的房间 B 中。怎么可能做到这一点?

完成此操作后,应考虑 B 室的右角可能不是空的。例如,如果有一个橱柜,则该对象应始终位于该方向,但应位于橱柜前方,以免越过它。

先感谢您!

4

2 回答 2

1

如果房间真的很相似,Azure Spatial Anchors (ASA) 可能会混淆并返回另一个房间的锚点 - 这可能但很少见,如果发生这种情况,这是一个错误而不是一个功能。

ASA 不直接支持在移动位置显示全息图以避开真实的物理对象。返回锚点后,您可能希望通过检测具有称为空间映射的其他特征的表面来移动它。

不太适合您的特定场景,但是有Object Anchor - 您可以使用它检测特定对象 - 在这种情况下,该对象的位置无关紧要。

于 2021-05-27T00:12:59.430 回答
0

我同意 Will Yeo 的观点。我认为现在不可能。

您还可以使用 Vuforia 检测对象或图像,然后将对象放置在与检测到的图像或对象相关的位置。

于 2021-05-28T08:05:36.053 回答