版本:Unity 6 (6000.0)
语言英语
  • C#

Renderer.SetPropertyBlock

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实阅读了用户提出的每个建议更改,并在适用时进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public void SetPropertyBlock(MaterialPropertyBlock properties);

声明

public void SetPropertyBlock(MaterialPropertyBlock properties, int materialIndex);

参数

properties 包含您要覆盖的值的属性块。
materialIndex 您要覆盖其参数的材质的索引。索引范围从 0 到 Renderer.sharedMaterials.Length-1。

描述

允许您设置或清除每个渲染器或每个材质的参数覆盖。

当每个对象的材质只有少数属性不同时,建议使用此方法。与每个对象都使用一个完整的独立材质相比,这种方法更节省内存。

您还可以提供材质索引(从 0 到 Renderer.materials.Length-1)。在这种情况下,只会设置该材质的参数。如果同时存在每个渲染器和每个材质块,则只使用每个材质块。

要禁用任何每个渲染器或每个材质的覆盖,请将 null 作为属性的参数传递。

其他资源:MaterialPropertyBlockGetPropertyBlock