为什么在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);
// ...
}
答案 0 :(得分:0)
有两个Renderer
-一个附加到对象,一个附加到对象内部的多边形。我更新的是错误的。