unity-game-engine - 我什么时候应该在 Unity 标准着色器上使用 uv1 而不是 uv0

标签 unity-game-engine shader

我想知道何时应该在 Unity 标准着色器中使用不同的 UV Set 选项。

我知道 UV 代表纹理坐标,但是我需要切换到 uv1 而不是 uv0 吗?当我在它们之间切换时,我看不到任何直接的区别,并且 Unity 文档似乎没有解释太多。

也许有人可以阐明何时需要使用不同的集合。

最佳答案

只是为了完整起见:UV 坐标是在模型创建工具(Maya、Max、Blender 等)中指定的,而不是在 Unity 中指定的。因此,Unity 仅允许您访问有限数量的 UV 贴图,您可能已从上述工具导出,也可能未导出。这就是为什么没有更多关于 UV 集的文档,因为它们是导入模型的可选附加功能。

在某些情况下,需要多个 UV 贴图或更优雅/高性能。您可以让着色器对不同的贴图使用不同的 UV 坐标。一个示例是向模型添加细节贴图的着色器,该模型需要一组不同的 UV 坐标(独立于用于其他贴图(如反照率、法线等)的基础 UV 贴图)

您不限于在 uv0 和 uv1 之间切换。如果您创建一个使用这两个贴图的着色器,您也可以组合使用它们。我认为这比在不同 UV 贴图之间切换更常见。

关于unity-game-engine - 我什么时候应该在 Unity 标准着色器上使用 uv1 而不是 uv0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33605667/

相关文章:

image-processing - 基于 GPU 的拉普拉斯金字塔

opengl - 在片段着色器中根据地形高程数据计算法线

Three.js:在 ShaderMaterial 后面渲染的线框

ios - Unity游戏无法在iPhone 4s上模拟

ios - Unity - 初始放置后禁用 AR HitTest

c# - Unity 5.5.6f1 - native 插件不起作用,错误 DllNotFoundException

c++ - opengl - 镜像着色器的可能性?

android - 将纹理应用于立方体,立方体的每个面上都有不同的纹理

c# - XMLSerializer 正确序列化,但反序列化时抛出 TargetInitationException

android - 无法加载模块中的类