【发布时间】: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