我需要从第三人称视角围绕玩家旋转相机。 (没有什么花哨)。相对于点旋转相机
这是我尝试:
// Forward, right, and position define the plane - they have x,y,z components.
void rotate (float angle, Vector interestPoint)
{
Vector oldForward (Forward);
forward = forward * cos(angle) + right * sin(angle);
forward.Normalize();
right = forward.CrossProduct (up);
right.Normalize();
position = (position + old_forward * position.Distance(interestPoint)) - (forward * position.Distance(interestPoint));
this->angle += angle;
}
的问题是,如果让我们说只是左转很多,对象与相机之间的距离增大。
这听起来像你需要添加另一个参数的距离相机从物体,或者距离和方向? – user1118321