我使用Unity和Vuforia构建了一个AR应用程序。所以基本上当我扫描的东西我看到一个模型。我已经移除了主摄像头,我们正在使用AR摄像头。
现在在移动设备上运行apk 我想打开网址或在扫描图像后触摸3D模型时显示一些消息。
我知道它使用了Raycasting,但是一个代码片段可以帮助我打开点击3d模型的URL会有所帮助。我是Unity的初学者,所以我会非常感激帮助。
答案 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).
}
}
}
希望这有帮助。