如何在ARcore mobile中使用Raycast计算真实对象比例

时间:2019-04-09 06:13:05

标签: c# unity3d arcore

enter image description here

  

我想知道真实物体的高度大小

我所拥有的信息

  1. 我有一个尺寸为1620 * 2220(宽度*高度[像素])的快照图像

  2. 我知道要在快照图像中测量的真实对象的位置。该值称为坐标值

    如果您提到此问题,则可以大致了解我如何知道坐标值。

    To create a bounding box in a texture in Unity

  3. 我可以从屏幕的坐标值拍摄Raycast,并且可以找到击中ARCore锚点Anchor的位置。

  4. 我可以获得从摄像机到其撞击表面的距离。

  5. 我可以使用ARCore API来获得摄像机角度

  

如果你看图片

     

我知道红线的长度和   x标记的坐标点,我想知道   绿线上的真实物体。

我从快照中获取了上下坐标,并且我大致了解了真实对象的大小。

现在我正在使用ARcore,从下面的位置拍摄Raycast,然后将对象放置在撞击表面的位置。

但是,屏幕和Raycast命中的距离越近或越大,则调整对象大小的必要性就越大。

我以前见过,但是我没有应用

https://blogs.unity3d.com/kr/2017/11/16/dealing-with-scale-in-ar/

仅凭上述信息如何获取对象的实际尺寸高度?

更新1

我只是计算快照中上下点之间的差,然后将它们转换为cm。

例如,如果顶部坐标y为300,底部坐标为100 y, 我正在执行300-100并将200像​​素转换为厘米。

但是我认为还有一个大问题。

0 个答案:

没有答案