1、在包管理器 unity注册表中下载安装InputSystem
2、给玩家添加组件PlayerInput,点击CreatAction,创建一个InputAct
InputAct,这是玩家的输入文件,在里面可以设置玩家输入
3、使用
例如玩家控制角色移动
在InputAct中,默认已经设置好了移动的输入
这里是一个二维向量值
W(0,1)A(-1,0)S(0,-1)D(1,0)
当同时按WD时,前进距离(0.71,0.71)
判断玩家向前移动
键盘y=1
摇杆:y>0,但玩家会误触摇杆,所以最好设定一个误差值
输入设置阈值变量(Threshold)0.1,若y>0.1,则前进。
脚本中
获取玩家输入
private Vector2 playerInputVec;
public void GetPlayerMoveInput(InputAction.CallbackContext context)
{
playerInputVec = context.ReadValue<Vector2>();
}
玩家移动举例文章来源:https://www.toymoban.com/news/detail-642757.html
void FixedUpdate()
{
MovePlayer();
}
void MovePlayer()
{
targetSpeed = isRuning ? runSpeed : walkSpeed;
targetSpeed *= playerInputVec.magnitude;//当玩家没按下或没有推动摇杆,目标速度为0
currentSpeed = Mathf.Lerp(currentSpeed, targetSpeed, 0.5f);
//*TiredIndex,目的是主角运动速度与体力消耗相关联,当耗尽则不会在运动,只有体力恢复才能继续运动
animator.SetFloat("Sports", currentSpeed*TiredIndex);
}
回到unity,点击主角,在右侧打开PlayerInput组件
点击事件——Player,在Move那块点击加号,将挂载在玩家的脚本拖到黑框处(一定要将脚本拖进去,直接拖游戏对象不可以),在右侧选择刚才写好的输入方法GetPlayerMoveInput
4、如果默认的输入文件不够,可以自己添加
例如添加一个奔跑输入
点击InputAct
点击加号,就可以新建有个Action,根据自己行为命名
在右侧选择类型
然后点击Action右侧的加号添加Binding
点击Binding,在右侧可以改名字,选择Path(输入类型,例如KeyBoard键盘等等)
在下面的Use in control scheme中设置具体的按钮即可
文章来源地址https://www.toymoban.com/news/detail-642757.html
到了这里,关于unity新输入系统的简单使用(New InputSystem)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!