在iPad2上更改设备方向时如何旋转视频输入(在Unity中使用Qualcomm QCAR扩展)

时间:2012-01-06 01:42:11

标签: ios ipad rotation unity3d qcar-sdk

我已经为iPad2开发了一个AR应用程序,它使用ImageMarker在检测到标记时在摄像头前面的屏幕上显示3D对象。我的应用程序需要以横向模式运行才能很好地处理3D模型的显示(3D模型对象的纵横比)。

该应用程序具有GUI元素(按钮和标签),这些元素也显示在视频源前面。

我已将应用程序提交到应用程序商店,但它被拒绝了,因为该应用程序目前仅支持设备方向LandscapeLeft,而苹果要求它支持至少两个设备方向(LandscapeLeft& LandscapeRight就足够了)。 / p>

我已设法在旋转iPad时将GUI元素从LandscapeLeft旋转到LandscapeRight。我通过查找Input.deviceOrientation值的更改来做到这一点,当它发生更改时,我将iPhoneSettings.screenOrientation设置为iPhoneScreenOrientation.LandscapeLeft或iPhoneScreenOrientation.LandscapeRight。

但是,当我这样做时,视频输入也不会旋转。这样做的效果是,当我将设备从横向左侧旋转到横向右侧时,GUI元素会正确旋转,但视频输入会上下颠倒显示(不会旋转)。

有人知道我是否可以旋转视频Feed以解决我的问题?我正在运行Qualcomm QCAR Unity 1.0 iOS扩展和Unity 3.4.2。

1 个答案:

答案 0 :(得分:0)

使用QCAR 1.5,您可以将视频作为纹理进行访问,因此现在您可以将此纹理映射到所有对象后面的平面(例如,在远剪裁距离附近),并将此平面旋转180度为需要的。

或者您可以按原样离开飞机,然后旋转UV-coordinates。或者你可以写一个着色器以旋转方式对纹理进行采样。

我不确定最简单的方法是什么,因为我还没有自己访问过录像带,但是如果你看一下QCAR SDK中提供的样本,它可能是显而易见的。 (Android版本)示例的名称为qcar-unity-videobackgroundaccess-android-1-5-4-beta1.unitypackage.

希望这有帮助(..某人,因为这个问题有点旧),

莱克斯