【发布时间】:2012-09-02 15:11:50
【问题描述】:
有哪些方法可以在 XNA 中为相机创建视图矩阵?
到目前为止,我只看到了createLookAt() 方法,并且很好奇还有什么可能。
MSDN site 上显示creatLookAt() 是构造视图矩阵的唯一矩阵方法。
编辑:
这里有一个很好的tutorial,关于世界矩阵是如何组成的。
【问题讨论】:
有哪些方法可以在 XNA 中为相机创建视图矩阵?
到目前为止,我只看到了createLookAt() 方法,并且很好奇还有什么可能。
MSDN site 上显示creatLookAt() 是构造视图矩阵的唯一矩阵方法。
编辑:
这里有一个很好的tutorial,关于世界矩阵是如何组成的。
【问题讨论】:
视图矩阵只不过是一个恰好被反转的典型矩阵(代表世界空间方向和位置)。
如果您知道如何创建一个典型的世界空间矩阵,只需将其反转并变成一个视图矩阵。
例如,在 Xna 中:
Matrix m = Matrix.CreateYawPitchRoll(yawFloat, pitchFloat, rollFloat) * Matrix.CreateTranslation(someVector3);
Matrix myViewMatrix = Matrix.Invert(m);
myViewMatrix 将在您的效果中按预期工作。
【讨论】: