为什么设置材质属性块的纹理无效?

问题描述 投票:0回答:1

为什么在游戏中调用SetTexture上的MaterialPropertyBlock似乎没有效果?如果在GetTexture上调用MaterialPropertyBlock,则可以see将其纹理更改为我设置的任何纹理。但是,此脚本所附加到的对象的外观永远不会改变。

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);

    // ...
}
c# unity3d 3d
1个回答
0
投票

[有两个Renderer-一个附加到对象,一个附加到对象内部的多边形。我更新的是错误的。

© www.soinside.com 2019 - 2024. All rights reserved.