Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
3D纹理的精灵表?_3d_Textures_Sprite Sheet - Fatal编程技术网

3D纹理的精灵表?

3D纹理的精灵表?,3d,textures,sprite-sheet,3d,Textures,Sprite Sheet,出于好奇,开发者是否使用精灵表来制作3D模型的纹理?这是否可能与3D纹理有关?我对3D几乎一无所知,我只是满足了我的好奇心。是的,他们知道。开发人员通常将整个模型的所有纹理打包到单个纹理中,而不是对模型的每个组件使用多个纹理。从理论上讲,可以将游戏中的所有纹理放在一个纹理中 这更好,因为它减少了纹理绑定操作的数量,提高了性能 他们可以这样做,因为模型每个三角形上的每个点都有自己的纹理坐标。这意味着它们可以完全控制每个三角形显示的纹理的“窗口”,因此在不需要时,可以使用纹理坐标隐藏纹理,从而在一个

出于好奇,开发者是否使用精灵表来制作3D模型的纹理?这是否可能与3D纹理有关?我对3D几乎一无所知,我只是满足了我的好奇心。

是的,他们知道。开发人员通常将整个模型的所有纹理打包到单个纹理中,而不是对模型的每个组件使用多个纹理。从理论上讲,可以将游戏中的所有纹理放在一个纹理中

这更好,因为它减少了纹理绑定操作的数量,提高了性能

他们可以这样做,因为模型每个三角形上的每个点都有自己的纹理坐标。这意味着它们可以完全控制每个三角形显示的纹理的“窗口”,因此在不需要时,可以使用纹理坐标隐藏纹理,从而在一个纹理上有多个对象

编辑:纹理坐标的更多细节:
纹理坐标是按顶点指定的,每个顶点都有自己的坐标。它们由组件U和V指定,两者都在0和1之间(包括0和1)。这些点对应于纹理上该顶点“锚定”到的点。这意味着三角形不必显示全部内容,三角形的纵横比也不必与纹理窗口的纵横比相同。请参阅。

是的,他们有。开发人员通常将整个模型的所有纹理打包到单个纹理中,而不是对模型的每个组件使用多个纹理。从理论上讲,可以将游戏中的所有纹理放在一个纹理中

这更好,因为它减少了纹理绑定操作的数量,提高了性能

他们可以这样做,因为模型每个三角形上的每个点都有自己的纹理坐标。这意味着它们可以完全控制每个三角形显示的纹理的“窗口”,因此在不需要时,可以使用纹理坐标隐藏纹理,从而在一个纹理上有多个对象

编辑:纹理坐标的更多细节:
纹理坐标是按顶点指定的,每个顶点都有自己的坐标。它们由组件U和V指定,两者都在0和1之间(包括0和1)。这些点对应于纹理上该顶点“锚定”到的点。这意味着三角形不必显示全部内容,三角形的纵横比也不必与纹理窗口的纵横比相同。请看。

我明白了,所以不要将每个纹理坐标映射到网格点,而是将其映射到三维网格的顶点。事实上,情况正好相反:网格上的每个顶点都知道它“接触”的纹理的哪个部分,所以不要将每个纹理坐标映射到网格点,他们将其映射到3D网格的顶点,事情实际上是相反的:网格上的每个顶点都知道它“接触”的是纹理的哪一部分