如何在Unity3D中检查智能手机是否有陀螺仪?

How to check if the smartphone has gyroscope in Unity3D?

我正在使用 Google Cardboard SDK。在旧版本的 Google Cardboard SDK 中,它包含一个名为 AndroidManifest.xml

的文件
<uses-feature android:name="android.hardware.sensor.gyroscope" android:required="true"/>

所以一个解决方案可能是将该文件简单地添加回我的项目。

但是我不喜欢它,因为如果我这样做,如果设备没有陀螺仪,应用程序将隐藏在 Google Play 中,这会让用户感到困惑,因为他们倾向于搜索在 Google 播放。

那么,我如何从代码中检查设备是否有陀螺仪以向用户显示如下消息:此智能手机确实有陀螺仪。请尝试使用其他智能手机。

您可以通过Input.isGyroAvailable

检查设备上是否有陀螺仪传感器
if (Input.isGyroAvailable)
{
    //Gyro is available
}

现在已弃用,应该用于真正旧版本的 Unity。对于较新版本的 Unity,请使用 SystemInfo.supportsGyroscope.

if (SystemInfo.supportsGyroscope)
{
    //Gyro is available
}