gpt4 book ai didi

android - GVR MonoscopicView 中的中心相机

转载 作者:行者123 更新时间:2023-11-29 23:16:37 25 4
gpt4 key购买 nike

我正在使用 GVR Android 库版本 1.190 并尝试在 video360 示例项目中播放 360 度和 180 度视频。在这两种情况下,2D View (MonoscopicView) 都可以正常开始播放,但查看器摄像机位置永远不会以视频的中心为中心。相反,它随机开始偏离水平轴的中心。在多个设备上的行为相同。任何人都知道如何在 2D View 开始时将 View 居中到视频中心?

最佳答案

事实证明,每次我的 Activity 向其注册监听器时,来自 Sensor.TYPE_GAME_ROTATION_VECTOR 的传感器数据都具有非常不同的值(角度)。只需稍微倾斜手机即可获得真正不同的值。不同的设备也有不同的 react ,但它们都有偏移读数。这导致初始视角定位(通常)从视频中心向左或向右 90 度。感谢这个post ,我设法计算出初始航向偏移并旋转手机位置矩阵进行补偿。

添加一个初始值为0的成员变量private float initialHeading。然后,在PhoneOrientationListener的onSensorChanged中Android到OpenGL矩阵旋转后添加如下代码:

if (initialHeading == 0) {
initialHeading = (float) ((angles[0] + 2 * Math.PI) % (2 * Math.PI));
}
float angle = (float) ((Math.PI - initialHeading) * 180 / Math.PI);
Matrix.rotateM(phoneInWorldSpaceMatrix, 0, angle, 0, 1, 0);

关于android - GVR MonoscopicView 中的中心相机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55226172/

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