Unity3D基础37:Input控制面板

 

前文:https://blog.csdn.net/Jaihk662/article/details/87643141(控制物体移动与旋转)

一、Input控制面板简介

很多游戏的按键都是可以配置的,比如说赛车游戏你可以按Shift进行漂移,但是如果你觉得不方便可以改成Ctrl键,除此之外守望先锋有一段时间可以用鼠标滚轮来控制DJ跳跃以更方便的做到脚不沾地游遍地图秀各种操作等等,想要做到按键可配置,很显然不能通过之前的InputGetKey方法将其写死

这个时候Input控制的优势就体现了出来

前文(文章开头可以找到链接)中已经大致讲了Input一些API的使用,并且有了具体的例子,所以这里就是稍作补充

先进入Input面板(Edit→Project Settings→Input),可以看到如下的界面:

Unity3D基础37:Input控制面板_第1张图片

Input面板中有系统预先定好的变量(输入轴),我们也可以根据实际的开发需求定义自己的按键变量,后期可以将这些变量制作成游戏的“设置界面”,只需要增加最上面的Size属性,就可以获得全新的输入轴

对于每个输入轴,所有的属性都完全一致,一些重要属性如下:

  • Name:名称,用于从脚本使用这个轴
  • Negative Button:该按钮用于在负方向移动轴,例如向左走
  • Positive Button:该按钮用于在正方向移动轴,例如向右走
  • Alt Negative Button:备选负按钮
  • Alt Positive Button:备选正按钮
  • Gravity:当没有按钮被按下时,轴每秒下降的数值
  • Dead:模拟的死区大小,设定范围内所有模拟设备的值为0
  • Axis:轴,连接设备的轴将控制这个轴,例如左右键控制当然是控制的X轴

轴向的的返回值范围是[0,1],例如输入轴Horizontal:A和D控制人物向左向右,当你按下A键时,轴的值会变为-1,当你松开A键时,轴的值会逐渐变为0,当你按下D键时轴的值变为1,你松开A键时轴的值同理也会逐渐变为0,这个速度取决于Gravity属性

Input.GetAxis(轴向名称):取得对应轴向的值

如果不小心修改,可以右键InputManager栏Reset

 

二、简单了解角色控制器组件Character Controller

角色控制器不是刚体,但是具备刚体的一些属性

  • SimpleMove(Vector3):简单移动,以一定的速度移动角色,会自动应用重力,不受Y轴速度影响,只有X轴和Z轴方向有效,角色接触地面则返回true,否则返回false
  • Move(Vector3):复杂移动,每次都绝对运动且不会应用重力,适应各种障碍物的刚体碰撞,会沿着刚体滑,返回值为角色与物体碰撞的信息

 

你可能感兴趣的:(#,Unity3D基础)