【问题标题】:calculate distance between two points using arcore unity使用arcore unity计算两点之间的距离
【发布时间】:2019-08-05 23:08:17
【问题描述】:

尝试构建一个应用程序,使用arcore unity计算两个触摸点之间的距离。我应该如何执行从屏幕坐标到现实世界坐标的缩放。

我遇到了名为距离工具的免费资产,但它不能计算两点之间的真实世界距离

【问题讨论】:

  • 这是一个 3D 世界吗?那你的意思是什么? -- 每次触摸都有一整条点。
  • 是的,这是一个 3d 现实世界,我的意思是例如通过提供触摸输入来查找桌子上两点之间的距离
  • 您可以使用ScreenPointToRay 获取与触摸关联的光线,然后使用Physics.RayCast 将该光线与场景中的对象相交。
  • 拥有两个 3D 点后,只需使用 Vector3.Distance

标签: unity3d distance area arcore


【解决方案1】:

您可以使用Camera.ViewportToWorld将屏幕坐标转换为世界坐标

它采用视口坐标,它们基本上是标准化的屏幕坐标,范围从 0 到 1。例如,如果您的分辨率为 1920x1080,屏幕坐标为 960、540,那么您的视口坐标将为 0.5、0.5。您可以通过 Screen.width 和 Screen.height 找到您的分辨率。

相机功能将返回一个世界点,您可以从那里使用Vector3.Distance

计算世界点之间的距离。

【讨论】:

    猜你喜欢
    • 2010-10-30
    • 1970-01-01
    • 2011-04-23
    • 2014-11-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多