gpt4 book ai didi

matrix - Unity3D 相机矩阵的高级信息

转载 作者:行者123 更新时间:2023-12-02 06:44:19 25 4
gpt4 key购买 nike

我正在尝试学习 Unity3D 相机背后使用的主要概念,特别是它的矩阵,并且有一些疑问,据我所知,Unity 文档中没有给出答案:

1) Unity相机是基于OpenGL相机的吗?比如相机上的OpenGL教程可以找到here在Unity中应用?如果是,那么当表示 ModelViewProjection 矩阵时,在 Unity 中我们有:

 MVPmatrix = mainCamera.projectionMatrix * mainCamera.worldToCameraMatrix;

其中MVP是一个4x4的矩阵,而在OpenGL中通过以下代码表示:

 MVPmatrix = projection * view * model; 

为什么这两种方法有差异?

3) 当将前面提到的 MVPmatrix 与给定的 Vector3[4] 类型相乘时,我们是否要转换为齐次坐标?

2) 如果 1) 的答案是“否”,我在哪里可以获得有关 Unity3D 相机矩阵的更多信息?

最佳答案

OpenGL

现代 OpenGL 中不存在相机这样的东西。顶点变换是使用顶点着色器完成的。其中可以使用任意数量的矩阵。您甚至可以在一个应用程序中使用不同的着色器,这些着色器需要不同的矩阵集。

在特定的教程中使用了 3 个矩阵:模型、 View 和投影。这是许多 3D 应用程序中使用的非常常见的方法。您可以将其视为常见的 3D 图形编程模式。

Unity3D

幸运的是,Unity3D 遵循以下模式:

您可以阅读着色器中可用的其他变量 here .

关于matrix - Unity3D 相机矩阵的高级信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24165915/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com