0

我有

Vector3 PlayerPosition = new Vector3(0,0,0);
Matrix JetztMatrix = Matrix.CreateRotationX(pitch) * Matrix.CreateRotationY(yaw);
ef.View = Matrix.CreateLookAt(PlayerPosition, Vector3.Transform(new Vector3(?1,?2,?3), JetztMatrix) + PlayerPosition, new Vector3(?4,?5,?6));

不知何故,我总是达到某个阈值,所以屏幕滚动而不是旋转。

因此,例如,我将 -180° 到 +180° 作为偏航。这导致一个转弯,但不是在一条直线上。正如我所说,它移动,然后屏幕滚动,它再次移动。

如何确定?1 到?6

4

1 回答 1

0

ef.View = Matrix.CreateLookAt(PlayerPosition, playerPosition + JetzMatrix.Forward, Vector3.Up);

Vector3.Up将防止相机滚动。根据您的问题,很难准确理解您最终想要得到什么。如果这不能解决您的问题或产生其他一些不受欢迎的动作,请更详细地描述您想要的功能。

于 2012-11-22T20:49:22.557 回答