2012-01-06 64 views
1

我为iPad2开发了一个AR应用程序,该应用程序使用ImageMarker在屏幕上在相机馈送前显示3D对象,标记被检测到。我的应用程序需要以横向模式运行,才能很好地处理3D模型的显示(3D模型对象的纵横比)。如何在iPad2上更改设备方向时旋转视频输入

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

我已将应用程序提交至应用程序商店,但由于此时该应用程序仅支持设备方向LandscapeLeft,并且苹果要求它支持至少两个设备方向(LandscapeLeft & LandscapeRight已足够),因此它被拒绝。

当iPad旋转时,我设法将LandscapeLeft的GUI元素旋转到LandscapeRight。我通过查找对Input.deviceOrientation值的更改来实现此目的,并且当它发生更改时,我将iPhoneSettings.screenOrientation设置为iPhoneScreenOrientation.LandscapeLeft或iPhoneScreenOrientation.LandscapeRight。

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

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

回答

0

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

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

我不确定什么是最简单的方法,因为我还没有完成自己的视频访问,但如果你看看提供样品在QCAR SDK它可能会很明显。的试样(Android版)这个名字是qcar-unity-videobackgroundaccess-android-1-5-4-beta1.unitypackage.

希望这有助于(..someone,因为这个问题是有点老了),

莱克斯

+0

谢谢您的回答莱克斯。我需要的这个项目已经接近了(并且苹果在没有旋转的情况下批准了它)。我没有时间来测试你提出的解决方案,但它听起来像是可行的。干杯! – Jonas 2012-06-09 18:39:56

相关问题