使用新输入系统时按钮损坏

Jud*_*ses 6 user-input button unity-game-engine

我遇到了一个似乎无法调试的问题。我的项目最初开始使用2019.2,升级到2019.3没有任何问题。然后我安装了新输入系统的预览包。这“禁用”了所有按钮,因为它们在编辑器中和运行时期间可见,但无法单击或与之交互。

为了重现这个问题,我尝试了:

  1. 创建一个新的空 2D 项目
  2. 安装并切换到新的输入系统
  3. 从包管理器导入演示场景

此时我尝试运行每个场景。除了“SimpleDemo_UsingActions.unity”之外,所有这些都有效。

  1. 我向“SimpleDemo_UsingPlayerInput.unity”添加了一个按钮,并向该按钮添加了一个脚本。有一个功能:
    public void Button()
    {
        Debug.Log("Button Pressed");
    }
Run Code Online (Sandbox Code Playgroud)

我运行了这个场景并且成功了!我可以四处移动拍摄脚本中内置的立方体,我可以单击按钮,它会显示在日志中。

为此我很困惑。我不知道如何调试这个问题。

我可以给我一些建议吗?有谁遇到过类似的问题或者知道我将如何调试这个问题?

Jud*_*ses 5

我设法找到了答案。由于某种原因,使用新输入系统的“InputSystemUIInputModule”会破坏所有 UI,并且无法正常工作。

我通过删除 EventSystem 并在场景中创建一个新的 EventSystem 来修复此问题。

不要。我再说一遍。不要将新输入系统的管理器用于事件系统。