使用Vuforia检测在Unity中为AR应用程序导入的3d模型上的触摸

时间:2017-06-22 11:01:51

标签: unity3d augmented-reality vuforia

我使用Unity和Vuforia构建了一个AR应用程序。所以基本上当我扫描的东西我看到一个模型。我已经移除了主摄像头,我们正在使用AR摄像头。

现在在移动设备上运行apk 我想打开网址或在扫描图像后触摸3D模型时显示一些消息。

我知道它使用了Raycasting,但是一个代码片段可以帮助我打开点击3d模型的URL会有所帮助。我是Unity的初学者,所以我会非常感激帮助。

1 个答案:

答案 0 :(得分:1)

您的模型需要连接碰撞器,以便光线投射注册碰撞。使用标签过滤掉光线投射结果也很方便。您可以使用图层蒙版来实现相同的目的。 Input.touches在最后一帧中返回所有已注册触摸的数组,假设只有一个触摸注册,但如果你想要,你可以迭代所有的触摸,以防有多个,并检查是否有任何触及模型。然后,你可以这样做:

    public void RegisterModelTouch()
    {
        // We assume that there was only one touch and take the first 
        // element in the array.
        Touch touch = Input.touches[0];
        RaycastHit hit;
        Ray ray = Camera.main.ScreenPointToRay(touch.position);
        if (Physics.Raycast(ray, out hit))
        {
            if (hit.collider.CompareTag("YourModelTag"))
            {
                // Do something (open an URL in your case).
            }                
        }
    }

希望这有帮助。

相关问题