我最近又回归到了 Unity中,想尝试一下一些小项目,结果发现我非常不愿意用 New Input System。

虽然它做了一个很好的工作,有非常有用的功能。但是有时,使用它就会比必要的复杂。所以我编写了一个简单的脚本,让它带来了旧版Input System上有的一些函数。


例如:

if(InputManager.GetButtonDown("Jump")) {
  DoJump();
}

或

// raw值
Vector2 moveInput = InputManager.GetVector2("Move");

// 使用SmoothDamp的值 (smooth factor为0.1f)
Vector2 moveInput = InputManager.GetVector2("Move", 0.1f);

你想使用它,仅需:

  1. 创建一个空的GameObject。

  2. 将 InputManager 脚本附加到 GameObject 上。

  3. 在脚本中分配一个InputActionsAsset。

  4. 选择 Default Action Map。

  5. 在你的脚本中,按照示例一样调用函数。


如果你想查看整个项目,只需到:https://github.com/ctrl-alt-leo/UnityInputMadeSimple

我没有打算继续添加更多功能,除非我对那些功能感兴趣。但是你可以自由地 fork,编辑并使用它。

虽然它非常非常简单... 但我仍然很高兴分享它给你。