Unity 中的 Android 插件可以运行侦听器,例如 onSensorChanged() 吗?



到目前为止,我能够从我的Android插件从Unity中的静态函数中检索简单值,我的目标是让这个插件充当手机传感器侦听器,并从Unity脚本内部查询传感器值。这能实现吗?如果是这样,是否有我可以作为教程遵循的在线资源?提前非常感谢!

是的。这是可能的。用 java 编写onSensorChanged代码,将其构建为插件,然后在 Java 中调用onSensorChanged时,使用 UnityPlayer.UnitySendMessage 在 Unity 端调用 C# 函数。

像这样:

public final void onSensorChanged(SensorEvent event) 
{
    UnityPlayer.UnitySendMessage("TheNameOfYourGameObject", "NameOfCallbackFunction", Arrays.toString(event.values));
}

这篇文章描述了如何在 Java 插件中设置UnityPlayer.UnitySendMessage


请注意,您不必这样做。您可以使用一个免费的 Unity 插件,该插件已经使用 onSensorChanged 实现了所有传感器 API。你可以在这里查看它,它非常易于使用。

最新更新