Unity - リソースバンドルのエクスポート

個人的な学習メモです。間違い、質問、提案がある場合は、メッセージを残してください。
免責事項: この記事はいかなる形式でも複製することはできません。


はじめに:ではUnity、データ移行などのためにリソース バンドル ( ) をエクスポートする必要がある場合があります。リソース バンドルは.unitypackage利用できることに加えてUnityExport 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();
    }
}

おすすめ

転載: blog.csdn.net/qq_42316280/article/details/121833112