Unity ARKit会在启动时自动定位地形

时间:2017-11-17 17:20:34

标签: ios iphone unity3d augmented-reality arkit

我刚开始用Unity学习ARKit。我从资源商店下载了SDK,导入了它,打开了演示场景并添加了地形。我小时候在HitCubeParent下添加了它:

http://shrani.si/f/40/UP/1q7QqoFl/1/capture.jpg

我在地形上添加了一个Unity AR命中测试示例脚本并将HitCubeParent链接到它:

http://shrani.si/f/6/133/3w5sasQA/1/capture1.jpg

当我在iPhone上构建游戏时,ARKit正在工作,但困扰我的一件事是当场景开始时地形自动定位(即使我没有点击屏幕)。它导致不良定位,如漂浮在空中的地形或类似问题。我想修改套件,以便在场景开始时,只显示生成的蓝色平面。然后,用户应将平面的位置调整到桌子或类似的平面,然后点击屏幕将地形定位在该平面上。

像这样: https://www.youtube.com/watch?v=OCzuNnejwy4

有关此的任何好的教程吗?我搜索了很多,但找不到任何有用的东西。

1 个答案:

答案 0 :(得分:1)

禁用地形并在第一次成功的ARHitTestResult后启用它。参见UnityARHitTestExample.cs中的第68行:

if (HitTestWithResultType (point, resultType))
{
    return;
}

这实际上令人困惑,因为这个HitTest方法实际上定位了m_HitTransform,而不仅仅是一个测试。 在此if块中,您可以在使用Awake方法禁用地形后启用地形。