Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/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
C# 加载并设置渲染纹理_C#_Unity3d_Render To Texture - Fatal编程技术网

C# 加载并设置渲染纹理

C# 加载并设置渲染纹理,c#,unity3d,render-to-texture,C#,Unity3d,Render To Texture,我有CamFeed.rendertexture和CamFeed.mat文件。我使用我的脚本加载它们,并将其设置为相机的目标纹理和另一个四边形的材质,但它只显示一个黑屏 Material newMat = Resources.Load("CamFeed", typeof(Material)) as Material; RenderTexture rendertexture = Resources.Load("CamFeed", typeof(Material)) as RenderTexture;

我有CamFeed.rendertexture和CamFeed.mat文件。我使用我的脚本加载它们,并将其设置为相机的目标纹理和另一个四边形的材质,但它只显示一个黑屏

Material newMat = Resources.Load("CamFeed", typeof(Material)) as Material;
RenderTexture rendertexture = Resources.Load("CamFeed", typeof(Material)) as RenderTexture;

FirstPersonCamera.targetTexture = rendertexture;
quad.GetComponent<Renderer>().material = newMat;

我怎样才能把它整理出来呢?

首先,你们为什么要把一种材质转换成渲染器呢?您的Resources文件夹中应该各有一个,并以不同的名称命名,以便按以下方式实例化它们:

Material newMat = Resources.Load<Material>("CamFeedMaterial");
RenderTexture rendertexture = Resources.Load<RenderTexture>("CamFeedTexture");
最后,您的最后一段代码保持不变:

FirstPersonCamera.targetTexture = rendertexture;
quad.GetComponent<Renderer>().material = newMat;

在start方法或awake中调用它是最佳做法吗?@user1241我不认为这样一个简单的代码在性能方面有多大区别,但我个人会将资源放置在awake中。在awake中加载调用,在start中加载其余调用
FirstPersonCamera.targetTexture = rendertexture;
quad.GetComponent<Renderer>().material = newMat;