Texture.imageContentsHash

切换到手册
public Hash128 imageContentsHash ;

描述

纹理的哈希值。

哈希值是一个 128 位的数字,其计算方式会使稍微不同的纹理也具有不同的哈希值。在这种情况下,哈希的主要用途是检测纹理何时发生变化。在更改或渲染到纹理时,Unity 会更新哈希。同样,您必须在修改纹理内容时计算新哈希,以便 Unity 知道纹理是何时更改的。更改哈希可使全局光照系统知道它需要重新计算场景中受纹理影响的贴图。

对于常规纹理,Unity 首先计算在将纹理导入 Editor 时的哈希,然后在光照和反射被“烘焙”到纹理后更新哈希。如果随后渲染到用作全局光照系统(例如天空、光照或反射探针)的输入的纹理,则您必须自行更新纹理哈希。注意,此哈希是只适用于 Editor 的属性。

注意,使用纹理的像素值计算哈希可能效率低或无法计算。您可以在创建纹理的代码中计算输入参数的哈希。重要的是,纹理不同则生成的哈希不同(相同的纹理对应相同的哈希)。