我想让我的相机在模型旋转时移动到模型后面,就像在第三人称视角游戏中一样——让它“看起来”总是在模型的背面。我提供了一个框架,因此语法可能与普通的 opengl 有点不同。我使用标准相机
Mat4 mv = MatrixMath.lookAt(this.eyeX,this.eyeY,this.eyeZ,this.at,this.up);
并旋转我试过的相机
this.mouseRotation += 20.0f;
this.eyeX = (float) Math.sin(this.mouseRotation / 180.0f * 3.14f) * 2.0f;
this.eyeZ = (float) Math.cos(this.mouseRotation / 180.0f * 3.14f) * 2.0f;
mouseRotation 是模型所在的角度,因此显然相机也应该移动到位于“圆”上 20 度的位置。但取而代之的是,对象围绕自身旋转,并且相机进行圆周运动,但不是围绕模型,而是在模型旁边,仍然看着同一个点。
任何想法如何使这项工作?