我已经为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。
答案 0 :(得分:0)
使用QCAR 1.5
,您可以将视频作为纹理进行访问,因此现在您可以将此纹理映射到所有对象后面的平面(例如,在远剪裁距离附近),并将此平面旋转180度为需要的。
或者您可以按原样离开飞机,然后旋转UV-coordinates
。或者你可以写一个着色器以旋转方式对纹理进行采样。
我不确定最简单的方法是什么,因为我还没有自己访问过录像带,但是如果你看一下QCAR SDK
中提供的样本,它可能是显而易见的。 (Android版本)示例的名称为qcar-unity-videobackgroundaccess-android-1-5-4-beta1.unitypackage.
希望这有帮助(..某人,因为这个问题有点旧),
莱克斯