命名空间--------UnityEditor ,UnityEngine
EditorUtility.SaveFolderPanel
"RunSaveFolderPanel" 运行时保存;title文件夹窗口的名字;folder文件夹的名字,如果写"",文件夹则与Assets同级;defaultName为folder文件夹下级文件夹默认名字,不存在可已选择其他文件夹或者新建。
下面是存储图片的例子
public Texture texture;
#if UNITY_EDITOR
public void ExportTextures()
{
string path = EditorUtility.SaveFolderPanel("Export Textures", "Assets/", "ExportTextures");
RenderTexture temporaryOutput = RenderTexture.GetTemporary(512,512,24, RenderTextureFormat.ARGB32);
RenderTexture active = RenderTexture.active;
RenderTexture.active = temporaryOutput;
Texture2D outputTex = new Texture2D(RenderTexture.active.width, RenderTexture.active.height, TextureFormat.ARGB32, true);
//将texture复制到temporaryOutput
Graphics.Blit(texture, temporaryOutput);
outputTex.ReadPixels(new Rect(0, 0, outputTex.width, outputTex.height), 0, 0);
outputTex.Apply();
byte[] pngBytes = outputTex.EncodeToPNG();
if (pngBytes != null)
{
File.WriteAllBytes(path+ "/" + texture.name+ ".png", pngBytes);
AssetDatabase.Refresh();
}
RenderTexture.active = active;
}
#endif