gpt4 book ai didi

c# - Unity Cardboard Orientation 风景右倒置

转载 作者:行者123 更新时间:2023-11-30 14:08:59 24 4
gpt4 key购买 nike

您好,我有一个 Unity 应用程序,它使用 Google Cardboard SDK 来启用立体 View ,所以我将有一个支持 VR 的应用程序。我的应用程序运行得很好。

但是如果我将播放器设置方向设置为自动方向并且只允许横向左和横向,则会出现问题。当它在横向左侧时,一切正常,但当它在横向右侧时,纸板 View 将旋转 180 度(设置按钮移动到屏幕底部)但我的统一对象没有。因此我有一个颠倒的对象。

有什么方法可以解决这个问题吗?

谢谢。

最佳答案

看起来 SDK 用于读取陀螺仪的 native 代码仅针对横向左方向进行了硬编码。这可以通过编辑 BaseCardboardDevice.cs 并将 UpdateState() 的定义替换为以下代码来解决:

private Quaternion fixOrientation;

public override void UpdateState() {
GetHeadPose(headData, Time.smoothDeltaTime);
ExtractMatrix(ref headView, headData);
headPose.SetRightHanded(headView.inverse);

// Fix head pose based on device orientation (since native code assumes Landscape Left).
switch (Input.deviceOrientation) {
case DeviceOrientation.LandscapeLeft:
fixOrientation = Quaternion.identity;
return;
case DeviceOrientation.LandscapeRight:
fixOrientation = Quaternion.Euler(0, 0, 180);
break;
}
headPose.Set(headPose.Position, headPose.Orientation * fixOrientation);
}

我建议也关闭 Cardboard 设置中的 Neck Model Scale(将其设置为 0),因为此代码不会正确显示它。

关于c# - Unity Cardboard Orientation 风景右倒置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32200052/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com