Matrix Unity3D和x27的高级信息;s摄像机矩阵
我试图了解Unity3D相机背后使用的主要概念,尤其是其矩阵,并怀疑Unity Documentation中没有回答afaik: 1) Unity相机是基于OpenGL相机的吗?例如,关于相机的OpenGL教程可以在Unity中应用吗?如果是,那么在表示ModelViewProjection矩阵时,在Unity中我们有:Matrix Unity3D和x27的高级信息;s摄像机矩阵,matrix,camera,unity3d,Matrix,Camera,Unity3d,我试图了解Unity3D相机背后使用的主要概念,尤其是其矩阵,并怀疑Unity Documentation中没有回答afaik: 1) Unity相机是基于OpenGL相机的吗?例如,关于相机的OpenGL教程可以在Unity中应用吗?如果是,那么在表示ModelViewProjection矩阵时,在Unity中我们有: MVPmatrix = mainCamera.projectionMatrix * mainCamera.worldToCameraMatrix; 其中,MVP是4x4矩阵
MVPmatrix = mainCamera.projectionMatrix * mainCamera.worldToCameraMatrix;
其中,MVP是4x4矩阵,而在OpenGL中,则通过以下代码表示:
MVPmatrix = projection * view * model;
为什么这两种方法不同
3) 当将前面提到的MVP矩阵与给定的向量3[4]类型相乘时,我们是否正在转换为齐次坐标
2) 如果1)的答案是“否”,我在哪里可以获得有关Unity3D相机矩阵的其他信息?OpenGL
在现代OpenGL中没有相机这样的东西。顶点变换使用顶点着色器完成。它可以使用任意数量的矩阵。您甚至可以在一个应用程序中使用需要不同矩阵集的不同着色器
在特定教程中,使用了3个矩阵:模型、视图和投影。这是很多3D应用程序中使用的一种非常常见的方法。您可以将其视为常见的3D图形编程模式
Unity3D
幸运的是,Unity3D遵循以下模式:
- 模型矩阵。在脚本中:。在顶点着色器中:_Object2World
- 查看矩阵。在脚本中:。在顶点着色器中:UNITY\u MATRIX\u V
- 投影矩阵。在脚本中:。在顶点着色器中:UNITY\u MATRIX\P