C# 加载并设置渲染纹理
我有CamFeed.rendertexture和CamFeed.mat文件。我使用我的脚本加载它们,并将其设置为相机的目标纹理和另一个四边形的材质,但它只显示一个黑屏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;
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;