Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d 如何使用URP通过脚本设置着色器图形材质的纹理_Unity3d - Fatal编程技术网

Unity3d 如何使用URP通过脚本设置着色器图形材质的纹理

Unity3d 如何使用URP通过脚本设置着色器图形材质的纹理,unity3d,Unity3d,我正在尝试设置着色器图形材质的纹理,但运气不好。在完成了一些教程和谷歌搜索之后,我似乎无法让它工作 到目前为止,我已经用一个通过代码生成的平面和一个预构建的平面设置了我的场景,并将材质应用于这两个平面。然后我创建了一个脚本,将网格渲染器的纹理设置为“_MainTex”,正如我在谷歌搜索时多次提到的那样。我还将材质纹理属性设置为“_MainTex” 我也尝试了引用名称,但也不起作用 那么,如何通过代码使用通用渲染管道设置着色器图形材质的纹理呢 这两架飞机在我身边: 预制飞机检查员: 着色器图形

我正在尝试设置着色器图形材质的纹理,但运气不好。在完成了一些教程和谷歌搜索之后,我似乎无法让它工作

到目前为止,我已经用一个通过代码生成的平面和一个预构建的平面设置了我的场景,并将材质应用于这两个平面。然后我创建了一个脚本,将网格渲染器的纹理设置为“_MainTex”,正如我在谷歌搜索时多次提到的那样。我还将材质纹理属性设置为“_MainTex”

我也尝试了引用名称,但也不起作用

那么,如何通过代码使用通用渲染管道设置着色器图形材质的纹理呢

这两架飞机在我身边:

预制飞机检查员:

着色器图形:

剧本:

void Start()
{
    GetComponent<MeshRenderer>().material.SetTexture("_MainTex", new TextureGenerator().GenerateNoiseTexture(256, 256));
}
void Start()
{
GetComponent().material.SetTexture(“_MainTex”,新的TextureGenerator().GenerateNoiseTexture(256,256));
}
您需要填写此属性的“参考”部分

可以在图形检查器->节点设置中找到它。 (通常位于ShaderGraph的右上角)

确保将“Texture2D_234E865”更改为“_MainTex”。通过单击着色器并查看检查器来验证保存的资源。在属性下,它应该列出_MainTex。然后,您可以使用您的SetTexture代码,或者只需调用material.mainTexture,它也可以执行相同的操作。

您需要填写此属性的“参考”部分

可以在图形检查器->节点设置中找到它。 (通常位于ShaderGraph的右上角)


确保将“Texture2D_234E865”更改为“_MainTex”。通过单击着色器并查看检查器来验证保存的资源。在属性下,它应该列出_MainTex。然后你可以使用你的SetTexture代码,或者简单地调用material.mainTexture,它也可以做同样的事情。

我可以发誓我以前试过,但显然没有。这是可行的,但有点奇怪,当它尝试将“Texture2D_234e865”作为SetTexture名称时,它没有起作用。我把它简化为导入一个纹理而不是生成一个纹理来减少潜在的问题,所以也许这也起了作用。我可以发誓我以前试过,但显然没有。这是可行的,但有点奇怪,当它尝试将“Texture2D_234e865”作为SetTexture名称时,它没有起作用。我把它简化为导入一个纹理,而不是生成一个纹理,以减少潜在的问题,所以这可能也起到了作用。