如何在XNA中改变相机的外观

时间:2012-02-10 20:59:33

标签: c# xna camera rotation

我想做赛车游戏,汽车驾驶,但我需要相机跟随它,我有creataLookAt矩阵命名视图。我试图添加到摄像机的Z位置和看点:(汽车的速度)*( - 1)当汽车行驶时,但只有当汽车向前行驶时才会起作用,因为当汽车转弯时,相机还在继续前进。当汽车向左或向右转动时,我想在Y轴上旋转摄像机,在这里我卡住了。

谁能告诉我相机如何跟随汽车呢?

2 个答案:

答案 0 :(得分:2)

你有一个代表汽车方向的矩阵。相机的位置基于这样的汽车矩阵:

CameraPosition = carPosition + (carMatrix.Backward * trailingDistance);
cameraTarget = carPosition;

view = Matrix.Createlookat(cameraPosition, cameraTarget, Vector3.Up);

这是制作落后第三人称相机的良好起点。

答案 1 :(得分:0)

您需要使用矩阵来转换添加到相机位置的矢量。旋转只是计算你面对目标所需角度的问题。