[Unity] LQ转载--Unity3D基础37:Input控制面板

查看:374 |回复:2 | 2021-6-12 21:06:02

您需要 登录 才可以下载或查看,没有账号?注册

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

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

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

20190224190132841.png

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):复杂移动,每次都绝对运动且不会应用重力,适应各种障碍物的刚体碰撞,会沿着刚体滑,返回值为角色与物体碰撞的信息


————————————————
版权声明:本文为CSDN博主「Jaihk662」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Jaihk662/article/details/87906156

140638gkz6licmjuyiktte.png

2021-6-12 21:06:02  
 赞 赞 0

使用道具 登录

2个回答,把该问题分享到群,邀请大神一起回答。
2#
感谢分享
回复 收起回复
2021-6-13 16:33:05   回复
 赞 赞 0

使用道具 登录

3#
谢谢楼主共享!!
回复 收起回复
2021-6-14 16:20:20   回复
 赞 赞 0

使用道具 登录

CG 游戏行业专业问题

手机游戏引擎手游引擎Unity3D技术
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表