個人的な学習メモです。間違い、質問、提案がある場合は、メッセージを残してください。
免責事項: この記事はいかなる形式でも複製することはできません。
はじめに:ではUnity
、データ移行などのためにリソース バンドル ( ) をエクスポートする必要がある場合があります。リソース バンドルは.unitypackage
利用できることに加えてUnity
、Export Package
コードを通じてエクスポートすることもできます。
1. リソース パックをエクスポートする従来の方法
操作手順:
1.Project
インターフェースでエクスポートするリソースを選択します
。 2. 右クリックしてExport Package...
オプションを選択します
。 3.Export...
オプションを選択します (無関係なスクリプトにも依存するため、Include Dependencies
オプションは チェックしないでください)。パスを付けて保存Unity
2. コードを使用してリソース バンドルをエクスポートする
コードを直接添付します。
using UnityEngine;
using UnityEditor;
public class ExporPackage : EditorWindow
{
string savePath = ""; //文件保存路径
[MenuItem("Tools/导出资源包", false, -1)]
static void ShowWindow()
{
EditorWindow.GetWindow(typeof(ExporPackage));
}
void OnGUI()
{
UnityEngine.Object[] objects = Selection.objects; //选中的所有对象
string[] objectsPath = new string[objects.Length]; //存放所有选中对象的路径
for(int i = 0; i < objects.Length; i++)
{
objectsPath[i] = AssetDatabase.GetAssetPath(objects[i]);
}
objectsPath = AssetDatabase.GetDependencies(objectsPath);
GUILayout.BeginVertical();
GUILayout.Label("导出资源包", "WarningOverlay");
if(GUILayout.Button("导出"))
{
savePath = EditorUtility.SaveFilePanel("请选择路径", "", "", "unitypackage");
if(savePath == "") //如果选择取消,则路径为空
{
return;
}
AssetDatabase.ExportPackage(objectsPath, savePath);
}
GUILayout.EndVertical();
}
}