如何通过Unity脚本改变特殊Shader材质中的Texture?

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

目标

我导入了一个在材质中使用的特殊着色器图。我有一个带有组件的游戏对象。

在运行时,当用户单击一个简单的按钮时,我想使用新纹理更改我的游戏对象 > 网格渲染器 > 材质 > 特殊着色器 > 纹理。

内容

我使用内置和Unity 2021.3.11f1。我正在使用特殊的着色器。 Shader Graph Inspector

我想通过unity脚本改变皮肤纹理。

测试我制作了纹理更改脚本,但它有一些问题。

代码

public Texture2D[] MyTexture;

public Material DefaultMat;

public void ChangeSkin(int index) 
{
   DefaultMat.Skin = MyTexture[index];
}
unityscript unity3d-editor
1个回答
0
投票

您通常会这样做:

DefaultMat.SetTexture("_MainTex", MyTexture);
如果您的自定义着色器的纹理名称不同,请将其替换为默认的“_MainTex”字符串

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