【问题标题】:How to make an object face its forward vector如何使对象面向其前向向量
【发布时间】:2013-12-11 13:41:39
【问题描述】:

类似于我最近的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,只是我不确定如何计算该角度。

【问题讨论】:

  • 应该加上预期的向量是它的前向向量
  • “朝向矢量”是什么意思?你的意思是你想让你的对象朝那个方向“观察”?
  • 是的,因此它会不断更新其旋转以“观察”其面对的方向
  • 如果你说的向量是dalekList[i].direction,你有没有试过在上面使用Atan2
  • 还没有,我出于某种原因尝试了位置,我现在就试一试

标签: c# matrix xna rotation angle


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-01
    • 2011-02-11
    • 1970-01-01
    • 2013-01-12
    • 1970-01-01
    相关资源
    最近更新 更多