【问题标题】:How re-adjust SKNodes base on user location如何根据用户位置重新调整 SKNodes
【发布时间】:2019-06-03 22:29:27
【问题描述】:

我目前正在同时使用 ARKit 和 CoreLocation 在屏幕上放置元素。这些元素(例如建筑物、房屋等)是基于它们自己的坐标(经度/纬度)和用户坐标的位置。如您所知,即使设置了最佳精度,CoreLocation 也并不总是精确的,用户位置和航向也经常被纠正。

当航向方向或用户位置已更正后,如何重新调整所有内容而无需删除并重新添加所有节点?似乎您无法更改相机翻译属性。我也试过setWorldOrigin(relativeTransform: simd_float4x4),但没有任何改变。

到目前为止,我发现的最佳解决方案是使用 SKAction,但如果您有很多节点,它往往会非常昂贵并且会降低应用程序的速度。

你能告诉我我做错了什么或者有更简单的方法吗?

【问题讨论】:

    标签: ios swift core-location arkit


    【解决方案1】:

    让我们考虑一下,只有用户的物理位置发生了变化,其他一切都相对于其他对象放置。出于这个原因,我建议您将所有节点的父节点设置为公共节点,可以将其添加为默认根的子节点。

    所以你的结构是

    rootNode -> myRootNode -> (all other 3D)

    这样您可以更新myRootNode 的翻译,它会将其所有子项转移到位。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-01
      相关资源
      最近更新 更多