Почему вызов SetTexture
на MaterialPropertyBlock
не оказывает никакого влияния в игре? Если я позвоню GetTexture
на MaterialPropertyBlock
, я смогу увидеть , что его текстура меняется на то, что я установил. Однако внешний вид объекта, к которому прикреплен этот скрипт, никогда не меняется.
private Renderer renderer;
private MaterialPropertyBlock materialPropertyBlockl;
private Texture[] textures;
// ...
private int Frame
{
get
{
return frame;
}
set
{
// ...
renderer.GetPropertyBlock(materialPropertyBlock);
materialPropertyBlock.SetTexture("_MainTex", textures[frame]);
renderer.SetPropertyBlock(materialPropertyBlock);
}
}
// ...
public void Initialise(string model)
{
renderer = GetComponent<Renderer>();
materialPropertyBlock = new MaterialPropertyBlock();
textures = Resources.LoadAll<Texture>(model);
// ...
}