【问题标题】:Different ways to initialize camera view matrix初始化相机视图矩阵的不同方法
【发布时间】:2012-09-02 15:11:50
【问题描述】:

有哪些方法可以在 XNA 中为相机创建视图矩阵?

到目前为止,我只看到了createLookAt() 方法,并且很好奇还有什么可能。

MSDN site 上显示creatLookAt() 是构造视图矩阵的唯一矩阵方法。

编辑:

这里有一个很好的tutorial,关于世界矩阵是如何组成的。

【问题讨论】:

    标签: c# matrix xna camera


    【解决方案1】:

    视图矩阵只不过是一个恰好被反转的典型矩阵(代表世界空间方向和位置)。

    如果您知道如何创建一个典型的世界空间矩阵,只需将其反转并变成一个视图矩阵。

    例如,在 Xna 中:

    Matrix m = Matrix.CreateYawPitchRoll(yawFloat, pitchFloat, rollFloat) * Matrix.CreateTranslation(someVector3);
    
    Matrix myViewMatrix = Matrix.Invert(m);
    

    myViewMatrix 将在您的效果中按预期工作。

    【讨论】:

    • 我不知道这是一个倒置的视图矩阵。谢谢!另外,我阅读了您的post,它对理解信息如何存储在矩阵中非常有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多