Android 谷歌不在设备上工作

Android 谷歌不在设备上工作,android,unityscript,google-cardboard,tilt,Android,Unityscript,Google Cardboard,Tilt,我正在尝试制作一个应用程序,该应用程序响应某个Update()方法中的carboard.SDK.Tilted标志 在Unity Player中运行时,通过按Esc按钮,cardward.SDK.Tilted将设置为true,因此一切正常。 但是,当我为Android构建应用程序时,如果我倾斜设备,cardward.SDK.Tilted将保持为false。其他带有倾斜动作的VR应用程序在我的手机上运行良好。在为Android构建之前,我还需要启用其他选项吗 我使用的是Unity v5.3.3f1和

我正在尝试制作一个应用程序,该应用程序响应某个Update()方法中的carboard.SDK.Tilted标志

在Unity Player中运行时,通过按Esc按钮,cardward.SDK.Tilted将设置为true,因此一切正常。 但是,当我为Android构建应用程序时,如果我倾斜设备,cardward.SDK.Tilted将保持为false。其他带有倾斜动作的VR应用程序在我的手机上运行良好。在为Android构建之前,我还需要启用其他选项吗

我使用的是Unity v5.3.3f1和硬纸板SDK v0.6,我试过的设备是Xperia Z2、三星Galaxy S3和iPhone 6

编辑: 因此,我尝试将此代码放入Update()和LateUpdate()方法中:

当屏幕倾斜时,应加载新场景。 但正如我所说,它只在Unity Player中通过按Esc按钮触发倾斜来工作,在真实设备上不会发生任何事情-carcard.SDK.Tilted变量从未设置为true


我已经看到v0.6中存在停止倾斜的问题,这是否可能不再得到支持?但奇怪的是,它在Unity Player中工作,但在真正的设备上却不工作。

我可以验证carboard.SDK.Tilted标志是否不像以前版本的SDK那样工作。escape按钮会在调试器中触发它,但tilt操作不会在构建中触发它

但是,您可以非常简单地使用Input.acceleration实现等效功能:

float angle = 80.0f / 360.0f * 2.0f * Mathf.PI;
bool isTilted = Mathf.Abs(Input.acceleration.normalized.x) > Mathf.Sin(angle);
if (Cardboard.SDK.Tilted || isTilted)
{
    //Action here
}
如果设备的加速度完全由重力引起,则角度浮动是设备与水平面的角度。尝试规格化太小的向量3会将其设置为零,因此小向量不应触发条件。预先计算正弦以保存一个周期

float angle = 80.0f / 360.0f * 2.0f * Mathf.PI;
bool isTilted = Mathf.Abs(Input.acceleration.normalized.x) > Mathf.Sin(angle);
if (Cardboard.SDK.Tilted || isTilted)
{
    //Action here
}