unity3d 如何收听Xbox控制器的主页按钮?

pieyvz9o  于 2023-04-07  发布在  其他
关注(0)|答案(1)|浏览(376)

我想在Xbox主页按钮被按下时暂停Unity游戏。有没有方法可以检测到它?没有直接的Unity键Map。对于PS4,我这样做了:

if (UnityEngine.PS4.Utility.isSystemUiOverlaid)
{
    SetGamePaused (true);
}

PC / Xbox是否有类似的API?

eyh26e7m

eyh26e7m1#

正如在评论中提到的,last time it was discussed(大约2年前),它没有实现。你最好的办法是在Unity论坛上发帖,希望或祈祷Unity开发人员能给予你一个更新的答案,或者至少在正确的方向上轻推。
微软最近确实向第三方发布了Windows/Xbox Game bar SDK,但你很可能需要以某种方式手动实现或移植它。而且,没有证据表明它可以轻松移植到Unity,所以也许Unity开发人员或在Unity论坛上做过的人可以帮助你。
最后,如果你想在引擎中支持OOTB,你必须等待Unity Technologies来实现它,但请记住,你必须请求它。Unity Feedback平台在一段时间前已经退役,并被Unity论坛取代,或者至少,Unity Technologies说这是暂时的(引用UT:* “在我们能够获得一个新的、更具可扩展性的专用反馈解决方案之前,这将是社区反馈的主要来源”*)。
不过,如果你想尝试一下,这里是我正在谈论的页面:https://developer.microsoft.com/en-us/games/products/game-bar/。实现似乎是面向C#的,但是为UWP开发的。不确定你是否能为UWP拉出一个Unity构建并“强制”MS SDK集成。
以下是一些资源:

  1. GitHub
  2. MS Learn
  3. Xbox One + UWP deployment for Unity〈-这可能会有帮助,尽管它针对的是测试项目,不包括发布,但也许你可以用它来进行一个“概念验证”,看看它是否值得或可行。
    希望这对你有帮助,或者至少能让你朝着正确的方向前进,直到有更好的解决方案出现。祝你好运!

相关问题