在你的场景中准备一个胶囊体,然后为它添加一个C#脚本PlayerController(用于写一个简单的响应)和一个InputSystem专用的组件Player Input。 PlayerController中我们定义一个OnJump【名字随便取】函数内容如下, 然后保存。回到我们的Inspector。 将Player Input的Behavior改成Invoke Unity Events【这是UI的Button那样的调用方...
InputDir=Controller.Player.Move.ReadValue<Vector2>(); 这里有一个缺点,InputSystem对键盘的输入是不支持平滑输入的。什么是平滑输入,就是我们按下D的一瞬间,InputDir 这个向量就已经是(1, 0)了,而没有平滑从0到1的过程(旧版Input类是有的),要想实现原来的键盘平滑输入的效果,只能靠自己手动实现了(本文不...
这里点击Yes,则启用Input System,放弃旧的。我们选择Yes。 以上操作所影响选项是Project Settings-Player中Active Input Handing属性,这里根据个人需求去选择。 同时开启-选择Both,相对方便临时的测试。 Support Device 2022/6/8更新 InputSystem默认支持所有的输入设备,为了用户自定义InputSystem支持我们自定义配置支持的设...
安装结束后,我们在顶部菜单栏选择“Edit→Project Settings”点击“Player”我们可以看到Active Input Handling已经切换为“Both”, 这个地方有三个选项: Input Manger(Old):只采用旧版的Input输入,新版的Input System将不起作用。 Input System Package(New):只采用新版的Input System方式,旧版的Input将不再起作用。
{InputManager.gameControls.Player.Move.performed-=OnMovePerformed;}privatevoidOnMovePerformed(UnityEngine.InputSystem.InputAction.CallbackContextobj){Vector2moveDir=obj.ReadValue<Vector2>();input_X=moveDir.x;input_Y=moveDir.y;if(input_X!=0&&input_Y!=0){input_X=input_X*0.7f;input_Y=input_...
点击Yes 启用新版 Input System 等待 Unity 重新启动。 Unity 默认会同时启用旧版和新版输入系统,你可以在Player settings中(Edit -> Project Settings -> Player ->Active Input Handling) 找到相应的设置。可以随时修改这里的设置,这样做依然会重启编辑器。
Unity InputSystem 实战(一) Unity InputSystem 实战(二) 前情提要 上一篇文章中,我们处理了PC端的移动方式,并写好了一套代码。那么如何不修改代码就实现移动端的遥杆? 一、配置回顾 上一篇我们配置好了左摇杆,快看看你设置好了没 二、创建简易的遥杆UI ...
而新的Input System系统也需要进行一些配置。显然,这些配置比旧系统更加复杂。新系统配置主要就是添加一个个的InputAction,每一个InputAction同可以绑定不同的输入设备上面的按键。这个InputAction非常类似旧系统中的“虚拟轴”。但是两者的区别在于,旧系统的设备输入是通过在代码中进行判断的;而新系统则是通过“Player ...
关于本地多人游戏的部分,前面提到过新的 Input System 让本地合作的实现变得很简单,只需要创建一个挂载了 player input manager 的游戏物体,再将 player 设置为预制体放入 input manager,按下不同控制器任意按钮后,就会自动生成玩家的预制体。 不过可以看到,这样会带来一个问题,生成出来的玩家无论是位置还是其它什...
关于本地多人游戏的部分,前面提到过新的 Input System 让本地合作的实现变得很简单,只需要创建一个挂载了 player input manager 的游戏物体,再将 player 设置为预制体放入 input manager,按下不同控制器任意按钮后,就会自动生成玩家的预制体。 不过可以看到,这样会带来一个问题,生成出来的玩家无论是位置还是其它什...