大家好,

我正在用传统的Unity uGUI和新的输入系统开发游戏。

一切都很好,但现在我面临一个难题,我试图在UI面板中支持键盘和最重要的是控制器导航,但我不确定该如何解决这个问题,什么是最佳实践?

我觉得Unity的“Auto”导航在大多数情况下很傻,经常跳转到不可见的元素或不应该跳转的元素。解决方案真的就是设置所有元素为显式并手动定义所有连接吗?在UI可能会改变布局的情况下,这个问题变得更加复杂,需要一个右键输入突然指向另一个可选项。

例如,用户开始在一个网格中选择元素,随后我会启用一个右侧的覆盖层,显示一些选项(移动、删除等)在原有的UI上面。

这意味着解决方案需要考虑遮挡和最顶层可见的元素。

大家都只好自己编写导航系统吗?我被这个想法吸引了,但这确实是一个大工程。