目标
我导入了一个在材质中使用的特殊着色器图。我有一个带有组件的游戏对象。
在运行时,当用户单击一个简单的按钮时,我想使用新纹理更改我的游戏对象 > 网格渲染器 > 材质 > 特殊着色器 > 纹理。
内容
我使用内置和Unity 2021.3.11f1。我正在使用特殊的着色器。
我想通过unity脚本改变皮肤纹理。
测试我制作了纹理更改脚本,但它有一些问题。
代码
public Texture2D[] MyTexture;
public Material DefaultMat;
public void ChangeSkin(int index)
{
DefaultMat.Skin = MyTexture[index];
}
您通常会这样做:
DefaultMat.SetTexture("_MainTex", MyTexture);
如果您的自定义着色器的纹理名称不同,请将其替换为默认的“_MainTex”字符串