代码检查:基于字符串的图形属性查找效率低下
Animator、 Material 和 Shader 的设置和获取方法可以接受字符串参数,以标识要返回或设置的属性。 例如, Animator.GetBool、 Material.SetTexture 和 Shader.GetGlobalValue 等。 每次调用该方法时,Unity 都会将字符串名称转换为整数 ID 以标识属性。 该整数 ID 是一个稳定值,可以预先计算,并在 setter 和 getter 的重载中使用,从而减少每次方法调用时计算 ID 的开销。
此检查将突出显示对 设置 或 Get 函数的基于名称的 Animator、 Shader 或 Material 的任何使用。 还提供了一种快速修复方法,将引入或重用静态只读整数字段,用于计算和缓存名称的整数 ID,并在 setter 或 getter 方法中替代字符串参数。 对于 Animator 方法,ID 通过 Animator.StringToHash 计算,并且 Shader.PropertyToID 用于 Shader 和 Material。
2026年 5月 8日