Vuforia + Unity:按下 UI 按钮时在 AR 中实例化模型

Vuforia + Unity : Instantiate model in AR when UI Button pressed

我知道这是一个非常简单的问题,但我不知道如何存档:

我的场景中有一个 UI 按钮,我希望 Vuforia 仅在我按下按钮时实例化一个 AR 模型。

按照网上的教程,当我触摸它时,我能够在屏幕上实例化一个模型,但我需要知道如何设置 Vuforia 以便仅在我按下按钮时存档相同的结果。

我必须禁用 "Anchor Input Listener Behaviour"? 接着?

我想调用 PositionContentAtPlaneAnchor,但我不知道如何在按钮的 OnClick 字段中以正确的方式调用它。我需要为此制作自定义脚本吗?

感谢您的回答。

好的,抱歉耽搁了。

我推断你正在使用地平面,如果你在场景中有 Ground Plane StagePlane Finder 并且工作,我们就很好。

现在,您只需向场景添加一个按钮,然后在脚本中添加如下内容:

public PlaneFinderBehaviour plane;

void Start()
{
    ...
    buttonOnTheScene.onClick.AddListener(TaskOnClick);
    ...
}

void TaskOnClick()
{
    Vector2 aPosition = new Vector2(0,0);
    ...
    plane.PerformHitTest(aPosition);
}

这是什么意思?

首先,您必须将 Plane Finder 从 Hierarchy 移动到脚本变量,这样我们就可以在脚本中引用平面。

然后当您单击(或点击)按钮时,您使用 PerformHitTest 在显示屏上模拟点击(或点击)。

如果您想知道为什么我在评论中提出问题,那是因为 Plane Finder Behaviour Script 有两种模式类型:交互和自动。 Interactive 拦截显示器上的点击并在点击的确切位置显示对象(在地平面上),自动显示对象在平面的中心。

因此,如果您希望对象处于确切位置,您可以在 PerformHitTest 中传递一个 Vector2 位置,如果您想以编程方式显示对象或在显示对象时执行某些操作,您可以调用自定义方法 OnInteractiveHitTest.

就这些了。