2016-11-22 39 views
0

我正在使用Android的Matrix类为我提供进行矩阵转换所需的方法,但是现在,当我使用特定参数时,它将导致除法零突破计算的其余部分,因此设置相机无处无处指向..Android矩阵的setLookAtM导致零除以分割

我打电话Matrix的setLookAtM以下参数:

eyeX: 0, 
eyeY: 0, 
eyeZ: -10.9 

centerX: 0, 
centerY: 0, 
centerZ: 5 

upX: 0, 
upY: 0, 
upZ: 1 

因此从-10.0 Z到5ž看, Z指向上方,意思是从下面看模型,对吧?

然而,当计算方法在标准化某个称为's'的东西时,它被零除,因为s的长度显然为零。

执行错误,还是只有一些真正的假人我不在这里看到?

例如,可以查阅setLookAtM方法here

回答

0

您正在尝试设置为您的世界空间中的最高点(即与重力应用方向相反)。你需要Up向量才能成为你想要的东西从相机的角度来看 - 也就是说,假设你的相机物体有一根小棒指向它的顶端,它指向哪个方向?它永远不是镜头指向的方向。

当相机直接向上指向时,它仍然可以自由扭转/围绕z轴旋转。向上矢量将定义该旋转。