在Unity中,常见的输入方式包括以下几种:
1. 键盘输入
Input.GetKey()
: 用于检测特定键是否被按下。例如,用Input.GetKey(KeyCode.W)
检测玩家是否按下“W”键来控制角色移动。Input.GetKeyDown()
: 用于检测某个键在当前帧是否被按下。Input.GetKeyUp()
: 用于检测某个键在当前帧是否被释放。
2. 鼠标输入
Input.GetMouseButton()
: 用于检测鼠标按钮的状态。例如,Input.GetMouseButton(0)
检测左键是否被按下。Input.GetMouseButtonDown()
: 用于检测鼠标按钮在当前帧是否被按下。Input.GetMouseButtonUp()
: 用于检测鼠标按钮在当前帧是否被释放。Input.mousePosition
: 获取当前鼠标指针在屏幕上的位置。Input.GetAxis("Mouse X")
和Input.GetAxis("Mouse Y")
: 用于获取鼠标在X轴和Y轴上的移动量,通常用于控制相机视角。
3. 游戏手柄(控制器)输入
Input.GetAxis()
: 用于获取控制器的轴值,例如摇杆或触发器的输入。常见的轴包括“Horizontal”和“Vertical”用于方向控制。Input.GetButton()
: 用于检测控制器上的按钮状态。Input.GetButtonDown()
: 用于检测控制器按钮在当前帧是否被按下。Input.GetButtonUp()
: 用于检测控制器按钮在当前帧是否被释放。
4. 触摸输入
Input.touchCount
: 用于获取当前触摸屏上的触摸点数量。Input.GetTouch()
: 获取某个触摸点的信息,例如位置、相对移动、触摸状态等。Touch.phase
: 用于检测触摸事件的状态,如开始触摸、移动、结束触摸等。
5. 陀螺仪和加速度计输入
Input.gyro
: 访问设备的陀螺仪,用于获取设备的旋转信息。Input.acceleration
: 获取设备的加速度信息,常用于倾斜控制等移动设备的交互方式。
6. 虚拟现实(VR)输入
- Unity's XR Interaction Toolkit: 用于处理VR设备的输入,例如头戴显示器和手柄的输入。通过这个工具包,可以检测头部位置、手柄按钮、手柄位置和旋转等。
7. 自定义输入(Input System)
- Unity Input System Package: Unity提供了一个更高级和灵活的输入系统包,允许开发者定义和管理自定义的输入控制。它支持多种设备的输入(如手柄、键盘、触摸、VR设备等),并且更容易进行跨平台开发。