目录
在游戏开发领域,虚拟轴的运用是一项关键技术。今天就让我们深入了解一下虚拟轴相关知识。
什么是虚拟轴
先去掉 “虚拟” 二字看,轴的概念很常见。比如游戏机手柄左侧的摇杆就是一个轴。像 PS4、PS5 或 Switch 手柄左侧都有摇杆。而虚拟轴则是通过程序模拟出来的类似轴的存在。简单来说,虚拟轴是一个数值在 - 1 到 1 内的数轴,数轴上最重要的三个数值是 - 1、0、1,中间也有诸如 - 0.5 等数值。
虚拟轴的工作原理
一个虚拟轴需要用到两个按键。左侧 -1 是一个按键,1 是一个按键,默认轴在零的位置上。当设定好两个按键后,按左侧按键,轴返回的数值会逐渐返回为 -1;按右侧按键,返回的数值会从零逐渐变为 1。比如按右侧按键,第一帧返回 0.3,第二帧是 0.7,第三帧可能才返回 1,有一个渐进过程。
为何使用虚拟轴
这主要涉及兼容问题。当制作游戏时,游戏可能会在多个平台运行。如果代码写死为按 a 键或 d 键,那游戏可能就只能在 PC 上运行。但设置了虚拟轴后,可以设置不同设备操作虚拟轴的方式。例如 Switch 或 PS 用手柄上左侧的轴控制虚拟轴,电脑用 a、w、a、s、d 控制。不同游戏设备操作方式虽不同,但都控制同一个虚拟轴,代码通过判断虚拟轴来做出不同操作,比如控制人物移动,这样就能实现游戏在不同设备上的兼容。
在 Unity 中的操作
查看虚拟轴
在 Unity 中,打开编辑里的项目设置,再选择输入管理器,能看到一个分组叫做轴线,这就是虚拟轴。最常用的是垂直和水平的虚拟轴。以水平方向为例,它有名称,如水平 “horiz”,还有左右按键设置,left 代表左箭头,right 代表右箭头,备用按键有 a 和 d(a 和 left 作用相同,right 和 d 作用相同)。还可以调整灵敏度等数值来修改按键手感。虚拟轴有类型设置,可选择按键或鼠标按钮、鼠标移动的轴、操作杆轴等,还能选择轴是 x 轴、y 轴等,默认水平轴可设置为 x 轴,也可设置从哪些操作感获取轴向运动。
虚拟轴与虚拟按键的区别
正常的水平和垂直轴是由两个按键控制,但像跳跃 “jump” 的虚拟轴只有一个按键,即空格 “space”,当虚拟轴只有一个按键时,就变成了虚拟按键。开火 “fire 1” 也类似,left ctr 或鼠标左键是同一个功能,只有一个有效按钮时就是虚拟按键。所以在 Unity 中要注意有虚拟轴和虚拟按键这两种情况。
使用虚拟轴的代码示例
以下是在 Unity 中获取水平轴和垂直轴数值并输出的代码示例:
using UnityEngine;
public class AxisTest : MonoBehaviour
{
void Update()
{
float horizontalAxis = Input.GetAxis("Horizontal");
float verticalAxis = Input.GetAxis("Vertical");
Debug.Log($"Horizontal Axis: {horizontalAxis} Vertical Axis: {verticalAxis}");
}
}
通过以上内容,我们对虚拟轴有了全面的认识,无论是其概念、原理、作用还是在 Unity 中的操作,希望这些知识能帮助大家在游戏开发或相关领域有更好的理解和应用。期待下一次更深入的探索。
6475

被折叠的 条评论
为什么被折叠?



