当前位置: 首页 > news >正文

unity新输入系统的简单使用(New InputSystem)

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>();
}

玩家移动举例

void FixedUpdate()
{MovePlayer();
}
void MovePlayer()
{targetSpeed = isRuning ? runSpeed : walkSpeed;targetSpeed *= playerInputVec.magnitude;//当玩家没按下或没有推动摇杆,目标速度为0currentSpeed = 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中设置具体的按钮即可
在这里插入图片描述

http://www.lryc.cn/news/121117.html

相关文章:

  • Redis——特性介绍与应用场景
  • 网络:路由
  • 利用三维内容编辑器制作VR交互课件,简单好用易上手
  • 中国首款量子计算机操作系统本源司南 PilotOS正式上线
  • 基层社会治理平台建设方案[113页PPT]
  • 认识vite
  • 华为运动健康,十年创新天地宽
  • 深度学习(37)—— 图神经网络GNN(2)
  • Unity游戏源码分享-乐节奏休闲游戏源码 guitar hero 支持mobile
  • VS Code配置Prettier格式化Apex
  • Spring-Cloud-Loadblancer详细分析_4
  • openocd调试esp32(通过FT232H)
  • Nokia5110使用方法及实例编写51单片机
  • 3个月快速入门LoRa物联网传感器开发
  • 【小梦C嘎嘎——启航篇】内存管理小知识~
  • ClickHouse查看执行计划(EXPLAIN语法)
  • 线程池
  • 配置:Terminal和oh-my-posh
  • 数据结构--BFS求最短路
  • FPGA应用学习笔记----定点除法的gold算法流水线设计
  • Nginx转发的原理和负载均衡
  • 怎么换ip地址 电脑切换ip地址方法
  • 软件设计基础
  • OptaPlanner笔记5
  • PS注意事项优漫动游
  • matplotlib 判断鼠标是否点击在当前线上
  • bash中(冒号破折号)的用法 —— 筑梦之路
  • LeetCode150道面试经典题--同构字符串(简单)
  • Redis - 数据类型映射底层结构
  • MySQL数据库表的增删查改 - 进阶