You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Unity新Input System的Input Actions面板添加陀螺仪/加速度计控制绑定

Unity新输入系统添加陀螺仪/加速度计绑定的解决方案

一、基础设置确认

  • 打开Edit > Project Settings > Player > Android > Other Settings,在Permissions区域勾选ACCESS_GYROSCOPE和ACCESS_ACCELEROMETER——安卓系统要求明确授权才能访问传感器硬件。
  • 进入Package Manager,确保Input System包是与Unity 2022.2.17兼容的最新版本(建议1.4.x及以上),版本不符则点击更新。

二、在Input Actions面板添加传感器绑定

  1. 打开你的.inputactions资源文件,进入编辑界面。
  2. 创建新的Action Map(比如命名为SensorControls),在其中添加对应Action:
    • 陀螺仪相关:创建GyroRotation(类型选Value,控制类型设为Vector3或Quaternion,按需选择)
    • 加速度计相关:创建AccelerometerTilt(类型选Value,控制类型设为Vector3)
  3. 为每个Action添加绑定:
    • 点击Action右侧的+选择Add Binding
    • 在绑定路径输入框手动填写传感器路径:
      • 陀螺仪姿态:<Gyroscope>/attitude
      • 陀螺仪旋转速率:<Gyroscope>/rotationRate
      • 加速度计数据:<Accelerometer>/acceleration
  4. 保存设置后,将项目部署到真机测试。

三、解决「监听」不识别的问题

编辑器本身没有陀螺仪/加速度计硬件,所以Input Actions面板的「监听」功能无法捕捉传感器输入,必须部署到你的三星Galaxy S6 Lite真机上才能看到信号。如果部署后仍无反应,去平板的应用设置里,确认测试应用已被授予传感器权限。

四、代码验证(可选)

若要快速确认传感器数据是否正常读取,可使用以下测试脚本:

using UnityEngine;
using UnityEngine.InputSystem;

public class SensorTest : MonoBehaviour
{
    public InputAction gyroAttitudeAction;
    public InputAction accelAction;

    private void OnEnable()
    {
        gyroAttitudeAction.Enable();
        accelAction.Enable();
    }

    private void OnDisable()
    {
        gyroAttitudeAction.Disable();
        accelAction.Disable();
    }

    private void Update()
    {
        Debug.Log("陀螺仪姿态: " + gyroAttitudeAction.ReadValue<Quaternion>());
        Debug.Log("加速度计数据: " + accelAction.ReadValue<Vector3>());
    }
}

将脚本挂载到场景物体上,在Inspector中拖入对应的Input Action,部署后查看Logcat输出即可验证数据。

内容的提问来源于stack exchange,提问作者TheyCallMeTJ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 08:57:19