UI 按钮在 Unity ARFoundation 中不起作用

UI Buttons not working in Unity ARFoundation

我正在使用 ARFoundation 在 Unity 中创建一个简单的 AR 场景。在其中重新生成一个游戏对象并使用六个按钮移动它:(顺时针旋转、逆时针旋转、前进、反向、上升、下降)。

在场景的第一阶段,用户在屏幕上看到一个垫子,一旦他们触摸屏幕,垫子就会消失,取而代之的是,一个预制件会在垫子所在的位置重新生成,同时还有一组六个按钮。 此行为按预期工作。我可以触摸按钮(实际上看到它们的颜色有点变化)但它们没有响应。

我为前进按钮写了一个简单的脚本,发现它没有对游戏对象做任何事情。我尝试向其中添加 Rigidbody,在添加重力后,我看到它的物理特性按预期工作,但游戏对象没有响应脚本,无论我如何引用它:gameobject 或 rigidbody。

知道是什么导致了这个问题吗?

当然,在每次构建之前,我都确保我引用了所有对象。

代码如下:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ForwardButtonScript : MonoBehaviour
{
    public GameObject aircraft;
    // Start is called before the first frame update
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {
        aircraft.transform.Translate(Vector3.forward * Time.deltaTime * 1);
    }
}

对我有帮助的是将对象放在字段上,在初始化时将其隐藏,而不是再次生成它,我使用 transform.SetPositionAndRotation 将其位置设置为 pad 的位置并设置它激活。

很想知道是否有更好的解决方案而不是在我们实际调用之前放置游戏对象。

对于每个 Canvas 具有 EventSystem 组件的场景,我只需按下此按钮。 Unity 2021.1,AR Foundation 4.2.0 - x 前,其中 x 为 4-7