如何实例化 Vuforia 的虚拟按钮并为其分配处理程序?

How can i instantiate Vuforia's virtual button and assign a handler to it?

我目前正在开发一个项目,该项目需要在应用 运行 时创建虚拟按钮,并自然地为其分配一个事件处理程序以检测它是否 pressed/released。

我已经尝试了在 Vuforia 的论坛和 Whosebug 上找到的所有解决方案,但虚拟按钮从未起作用。它们被实例化并像我想要的那样制作了一个克隆,但显然事件处理程序没有正确分配。

所以我的问题是,是否可以在应用程序启动后创建一个虚拟按钮并为其分配一个处理程序?

如果按钮是 GUI 按钮,那么它将是来自 Unity 的 uGUI 框架的基本 UI 按钮:

https://unity3d.com/learn/tutorials/modules/beginner/ui/ui-button

第二个是场景中的按钮,很可能沿着您在跟踪器上找到的模型显示。

在这种情况下,要么使用一个世界 canvas 按钮,类似于上一个按钮,但有一个世界 canvas,要么使用一个 quad/box 对象并使用基本的光线投射在正常游戏中会做。

如果您需要它们显示在找到的轨道上,就像您对模型所做的那样,通过收听 OnTrackFound/Lost 来打开和关闭它们。

注册监听器,视频里有说明。

经过大量研究,我发现使用当前的 Vuforia 版本无法在跟踪开始后创建自定义虚拟按钮。

我发现的替代方法是创建一个统一的游戏对象(在我的例子中是立方体),它带有一个盒子对撞机和一个可以通过应用程序的移动屏幕按下并使用光线投射的标签。

欢迎回答您的任何问题。