我正在使用Android的Matrix类为我提供进行矩阵变换所需的方法,但是现在当我使用特定参数时,它会导致除以其他计算的除法,从而设置相机从无处指向无处..
我使用以下参数调用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,Z指向上方,意味着从下面看模型,对吗?
然而,当进行计算的方法,当标准化一个叫's'的东西时,它除以零,因为s的长度显然为零。
实施是错误的,还是只有一些我在这里看不到的假人?
例如,可以查询setLookAtM方法here。
答案 0 :(得分:0)
你试图将你的世界空间设置为Up(即重力方向的相反方向)。你需要Up向量是你想要的东西从摄像机的角度来看 - 也就是说想象你的相机对象有一个小棒直指向它的顶部,棒的方向是什么?它永远不是镜头指向的方向。
当相机直接指向上方时,它仍然可以绕z轴扭转/旋转。向上矢量将定义该旋转。