unity EH_SampleShader/ToonShader 把图片效果输出到 png 使用以下代码 Shader sd = Shader.Find("Unlit/ColorToGradient"); Material mt = new Material(sd); mt.SetTexture("_MainTex",tex); mt.SetTexture("_MainTex1",texture1); Graphics.Blit(source, destination, mt);
时间: 2024-04-15 12:26:09 浏览: 171
你可以使用以下代码将 Unity 中的图片效果输出为 PNG 格式:
```csharp
using UnityEngine;
using UnityEditor;
public class ExportToPNG : MonoBehaviour
{
public Texture2D texture;
public string outputPath = "Output.png";
private void Start()
{
// 创建一个临时的 RenderTexture
RenderTexture renderTexture = new RenderTexture(texture.width, texture.height, 0);
Graphics.Blit(texture, renderTexture);
// 将 RenderTexture 保存为 Texture2D
RenderTexture.active = renderTexture;
Texture2D outputTexture = new Texture2D(renderTexture.width, renderTexture.height);
outputTexture.ReadPixels(new Rect(0, 0, renderTexture.width, renderTexture.height), 0, 0);
outputTexture.Apply();
// 将 Texture2D 保存为 PNG 文件
byte[] bytes = outputTexture.EncodeToPNG();
System.IO.File.WriteAllBytes(outputPath, bytes);
// 释放资源
RenderTexture.active = null;
Destroy(renderTexture);
Destroy(outputTexture);
Debug.Log("Exported to " + outputPath);
}
}
```
将上述脚本附加到一个 GameObject 上,并在 Inspector 面板中指定需要输出的 Texture2D,并设置输出路径。运行场景后,脚本会在指定路径下生成 PNG 文件,其中包含了应用了 Toon Shader 的图片效果。
阅读全文