• Unity --- 虚拟轴的使用


     1.从虚拟轴上获得的数值默认为0,左右两个按键(-1和1)

    2.虚拟轴起到的是中间兼容功能,可以使得我们的游戏操作设置在不同的平台上都能够使用

    虚拟轴

    一根虚拟轴常常用来控制这一个轴向上的移动等等

    一般虚拟轴的使用分为以下两步:

    1.将控制方向的键与虚拟轴进行绑定 --- 比如按下A的时候,我们绑定-1,按下D的时候我们绑定1。

    2.绑定好后我们通过获取虚拟轴的值来进行if编程,当为虚拟轴的值小于0的时候向左移动,当为虚拟轴的值大于1的时候向右移动

    3.由于我们的按键和虚拟轴进行了绑定,当啥也不按的时候虚拟轴的值为0,按下A键虚拟轴向-1过度,此时值小于0,按下D键虚拟轴向1过度,此时值大于0

    小于0的时候左移,大于0的时候右移

    4.之所以用虚拟轴是因为我们可以将移动等等操作面向虚拟轴编程,然后虚拟轴可以面向不同的按键编程,这样去到不同的平台我们只需要修改虚拟轴面向的按键就可以了,不需要到实现移动等操作功能的代码


    1.在Edit.projectSetting.Input Manager中我们可以点开一个叫axes的选项

     这个axes中就有Unity内置的所有虚拟轴和虚拟按键

    什么是虚拟按键? --- 你可以把它理解为半虚拟轴,他只有0/1或者是0/-1两个选项 

    我们用的最多的是开头的两个虚拟轴:Horizontal(adj.水平的),Vertical(adj.垂直的)-- 分别对应x,y轴

    随便对开一个轴线,来到上面这张图中的选项:

    开头两个Button分别是绑定-1和+1的按键

    然后底下两个Button则是上面两个按键的替补按键 a和d

    这三个分别是虚拟轴的重力,死区和灵敏度,至于这三个有啥作用可以把鼠标停在上面自己查看 


    虚拟轴的使用依然是在Updata方法中,这是因为虚拟轴是面向按键编程的,它依然要随时准备获取用户的按键输入,这就需要每帧都对输入缓存区进行扫描,确保一定能获取用户的按键输入

    1.虚拟轴的本质是一个float型的数字,所以获取虚拟轴后我们需要用一个float变量来承接这个虚拟轴:调用Input类中的GetAxis方法来获取虚拟轴,括号内填写的参数是字符串类型的我们要获取的虚拟轴的名称

     2.注意在Unity中的虚拟轴都有默认绑定按键

    Horizontal的默认绑定按键:-1 -- 按键a , 1 -- 按键d

    Virtual : -1 --- 按键s , 1 --- 按键w

    有默认绑定按键的话,虚拟轴的值就会在按下按键的时候,向按键对应的值过渡


    除了虚拟轴以外,还有虚拟按键,Unity中虚拟按键也是有默认绑定的,比如Jump虚拟按键的默认绑定按键是键盘中的空格

    直接通过Input中的GetButton方法,并向方法的括号中传入虚拟按键的按键名(在Input Manager中有)我们就能够对当前虚拟按键的状态做判断 

    由于虚拟按键分为三个状态 --- 按下的那一刻,按下事,按键抬起时,所以我们也需要三个方法来判断这个三个状态的值 -- down , 按下时 ,up --- 如果处于对应的状态就返回ture,否则返回false

  • 相关阅读:
    AJAX详细教程
    安装 Red Hat Enterprise Linux 9.1 虚拟机
    女鹅冬天的第一件羽绒服,当然要时尚经典的
    tail -f 、tail -F、tailf的区别
    父类和子类
    Python人员信息管理系统(简直期末人福音)
    Docker swarm 管理 secrets
    软考学习笔记
    高数笔记06:无穷级数
    MATLAB算法实战应用案例精讲-【图像处理】SLAM技术详解
  • 原文地址:https://blog.csdn.net/qq_51947882/article/details/126490463