1

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

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

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

当 iPad 旋转时,我设法将 GUI 元素从 LandscapeLeft 旋转到 LandscapeRight。为此,我查找 Input.deviceOrientation 值的更改,当它发生更改时,我将 iPhoneSettings.screenOrientation 设置为 iPhoneScreenOrientation.LandscapeLeft 或 iPhoneScreenOrientation.LandscapeRight。

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

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

4

1 回答 1

0

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

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

我不确定什么是最简单的方法,因为我自己还没有访问过视频源,但是如果您查看提供的示例,QCAR SDK它可能会很明显。(Android 版本的)示例的名称是qcar-unity-videobackgroundaccess-android-1-5-4-beta1.unitypackage.

希望这会有所帮助(..某人,因为这个问题有点老了),

莱克斯

于 2012-02-26T19:51:06.617 回答