[英]I'm trying to get light sensor data from an Android device for use in a Unity app
前言:Ice-Blaze 在 2016 年发表的一篇文章涵盖了这一点,他的解决方案不再有效。
我试过使用他的插件,它似乎没有传递数据或检索光传感器数据。 在这个过程中,我以 a.aar/Android 库的形式构建了自己的插件,无论出于何种原因,我都可以将预定义的 static 数据从.aar 传递到 Unity 应用程序,但无法成功检索光照数据。 我相信这与检索需要基本 App-Activity 的光数据有关,我不确定如何为 a.aar 而不是 a.apk 构建它。
所以现在我开始尝试在 Unity 中严格工作并完全跳过插件。 现在这就是我的更新 function 的样子:
Update()
{
InputSystem.DisableDevice(LightSensor.current);
InputSystem.EnableDevice(LightSensor.current);
if (LightSensor.current.enabled)
{
var CurrentLight = LightSensor.current.samplingFrequency;
DisplayLight = (float)CurrentLight;
}
Light.value = (float)DisplayLight;
}
所以在这里你可以看到,在每次更新时,我都会禁用设备,只是为了重新启用它。 我走这条路的原因是因为这似乎只在开始时获得一次光数据,所以我认为禁用/重新启用可能会迫使它不断地重新检查光值。 现在我得到一个 50 的初始值并且没有更新,虽然我在不同的亮度下尝试过并且总是得到相同的结果,但这可能是 50 的默认值。 有没有人有任何建议或修复?
这是修复。
Update()
{
InputSystem.DisableDevice(LightSensor.current);
InputSystem.EnableDevice(LightSensor.current);
if (LightSensor.current.enabled)
{
var CurrentLight = LightSensor.current.lightLevel.ReadValue(); // <= change here
DisplayLight = (float)CurrentLight;
}
Light.value = (float)DisplayLight;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.