如何使对象面向前向量

时间:2013-12-11 13:41:40

标签: c# matrix xna rotation angle

与我最近的question类似,这次我想将对象移向矢量而不是另一个物体。

Vector3 line = dalekList[i].direction;
float rotationDal = (float)(-Math.Atan2(dalekList[i].position.X, -dalekList[i].position.Z) / (2 * Math.PI));

Matrix dalekTransform = Matrix.CreateScale(GameConstants.DalekScalar) * Matrix.CreateRotationY(rotationDal) * Matrix.CreateTranslation(dalekList[i].position);

所以我需要将轮换(rotationDal)放入CreateRotationY,但我不知道如何计算该角度。

1 个答案:

答案 0 :(得分:0)

如果您要“观看”的向量为dalekList[i].direction,则应尝试在其上使用Atan2,而不是位置。