Google Cardboard Unity SDK Tilted 无法在设备上运行
Google Cardboard Unity SDK Tilted not working on a device
我正在尝试制作一个响应某些 Update() 方法中的 Cardboard.SDK.Tilted 标志的应用程序。
在Unity Player中运行时,按Esc键,Cardboard.SDK.Tilted设置为true,这样就OK了。
但是,当我为 Android 构建应用程序时,如果我倾斜设备,Cardboard.SDK.Tilted 将保持错误。其他具有倾斜动作的 VR 应用程序在我的 phone 上运行良好。在为 Android 构建之前,我是否必须启用任何其他选项才能使其正常工作?
我使用的是 Unity v5.3.3f1 和 Cardboard SDK v0.6,我试过的设备是 Xperia Z2、Samsung Galaxy S3 和 iPhone 6。
编辑:
所以,我尝试将此代码放入 Update() 和 LateUpdate() 方法中:
if (Cardboard.SDK.Tilted) {
print("tilted, next scene");
NextScene ();
}
当屏幕倾斜时,应加载新场景。
但正如我所说,它只能在 Unity Player 中通过按 Esc 按钮触发倾斜来工作,在真实设备上没有任何反应 - Cardboard.SDK.Tilted 变量永远不会设置为 true。
我在 https://recordnotfound.com/cardboard-unity-googlesamples-6780/issues 上看到 v0.6 中存在 Tilt 停用的问题,是否不再支持它?但奇怪的是,它在Unity Player中有效,但在真实设备上无效。
我可以验证 Cardboard.SDK.Tilted 标志似乎没有像以前版本的 SDK 那样工作。退出按钮在调试器中触发它,但倾斜动作不会在构建中触发它。
但是,您可以使用 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
}
如果设备的加速度完全由重力引起,则角度浮动是设备与水平方向的角度。尝试规范化太小的 Vector3 会将其设置为零,因此小向量不应触发条件。预先计算正弦以节省一个周期。
我正在尝试制作一个响应某些 Update() 方法中的 Cardboard.SDK.Tilted 标志的应用程序。
在Unity Player中运行时,按Esc键,Cardboard.SDK.Tilted设置为true,这样就OK了。 但是,当我为 Android 构建应用程序时,如果我倾斜设备,Cardboard.SDK.Tilted 将保持错误。其他具有倾斜动作的 VR 应用程序在我的 phone 上运行良好。在为 Android 构建之前,我是否必须启用任何其他选项才能使其正常工作?
我使用的是 Unity v5.3.3f1 和 Cardboard SDK v0.6,我试过的设备是 Xperia Z2、Samsung Galaxy S3 和 iPhone 6。
编辑: 所以,我尝试将此代码放入 Update() 和 LateUpdate() 方法中:
if (Cardboard.SDK.Tilted) {
print("tilted, next scene");
NextScene ();
}
当屏幕倾斜时,应加载新场景。 但正如我所说,它只能在 Unity Player 中通过按 Esc 按钮触发倾斜来工作,在真实设备上没有任何反应 - Cardboard.SDK.Tilted 变量永远不会设置为 true。
我在 https://recordnotfound.com/cardboard-unity-googlesamples-6780/issues 上看到 v0.6 中存在 Tilt 停用的问题,是否不再支持它?但奇怪的是,它在Unity Player中有效,但在真实设备上无效。
我可以验证 Cardboard.SDK.Tilted 标志似乎没有像以前版本的 SDK 那样工作。退出按钮在调试器中触发它,但倾斜动作不会在构建中触发它。
但是,您可以使用 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
}
如果设备的加速度完全由重力引起,则角度浮动是设备与水平方向的角度。尝试规范化太小的 Vector3 会将其设置为零,因此小向量不应触发条件。预先计算正弦以节省一个周期。