首页 > 其他 > 详细

AssetBundle打包

时间:2021-02-01 22:48:24      阅读:33      评论:0      收藏:0      [点我收藏+]

一.简单的打包实现(打包游戏物体)。

1.将需要打包的游戏物体制作成预制体,在预制体的Inspector面板最下方找到AssetBundle选项,在这里设置物体打包后的包名和后缀。名称为None代表不打包。

技术分享图片

 

2.添加打包脚本,脚本不需要继承Monobehavior。在菜单栏上添加打包选项。

using System.IO;
using UnityEditor;

public class CreateAssetBundles
{
    //使用一个静态方法进行打包,将这个方法添加到菜单栏
    [MenuItem("Assets/Build AssetBundles")]
    static void BuildAllAssetBundles()
    {
        //因为打包时不会自动创建路径,所以检验打包路径是否存在,不存在需要先创建打包路径
        string dir = "AssetBundles";
        if (!Directory.Exists(dir))
        {
            Directory.CreateDirectory(dir);
        }
        //打包
        BuildPipeline.BuildAssetBundles(dir, BuildAssetBundleOptions.None, BuildTarget.StandaloneWindows64);
    }
}

3.打包

技术分享图片

 4.在刚才设置的打包文件夹下可以查看是否打包成功

技术分享图片

 

技术分享图片

 

二.资源的加载

1.添加空物体,挂载一个用于加载资源的脚本

2.在脚本中加载资源

public class LoadFromFileExample : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        //加载资源,加载后的内容保存为AssetBundle对象
        AssetBundle assetBundle = AssetBundle.LoadFromFile("AssetBundles/wall.unity3d");
        //取出资源,资源的类型时GameObject,名称是Wall
        GameObject wallPrefab = assetBundle.LoadAsset<GameObject>("Wall");
        //实例化取出的游戏物体
        Instantiate(wallPrefab);
    }

}

技术分享图片

三.更多的打包选择

1.打包目录划分:在unity中的Inspector窗口下确定填写打包后包名时可以通过"/"进行目录划分。不同的资源可以指定相同的包名和后缀,也就是同一个包中可以包含多个资源。

 

AssetBundle打包

原文:https://www.cnblogs.com/movin2333/p/14359140.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!