【Unity服务器01】之【AssetBundle上传加载u3d模型】

首先打开一个项目导入一个简单的场景

导入怪物资源,

AssetBundle知识点:

1.指定资源的AssetBundle属性标签

    (1)找到AssetBundle属性标签

(2)A标签 代表:资源目录(决定打包之后在哪个文件夹里面)

         B标签 代表:后缀   

(3)设置AB标签

          

AssetBundle的属性标签 = 资源目录 + 后缀

2.构建AssetBunde包(AB包)

3.上传到服务器

4.加载使用

接下来创建一个Editor包

然后将创建的Scripts脚本放在Editor包里

using UnityEditor;
using UnityEngine;
using UnityEngine.Windows;
public class CreateAssetBundles : MonoBehaviour{
    //添加编辑器菜单
    [MenuItem("Tools/Build AssetBundles")]
    static void BuildAllAssetBundles() {
        //打包输出路径,没有根目录,是一个相对路径
        string _path = "AssetBundles";
        //判断输出路径是否存在 不存在就创建
        if(!Directory.Exists(_path))
            Directory.CreateDirectory(_path);
        BuildPipeline.BuildAssetBundles(_path, BuildAssetBundleOptions.None,
           BuildTarget.StandaloneWindows64);
    }
    //BuildAssetBundOptions.None 使用LZMA算法压缩
    //特点:压缩包 但是加载时间会更长
    //使用之前需要解压缩 一旦被解压 会使用LZ4算法重新压缩 
    //在下载时可以使用LZMA算法 一旦下载之后 它会使用LZ4算法保存在本地上

    //BuildAssetBundleOptions.UncompressedAssetBundle 不使用算法压缩
    //特点:包大 加载快

    //BuildAssetBundleOptions.ChunkBasedCompression : 使用LZ4算法压缩 基于Block,资源
    //分块,一个块一个小包。特点:压缩率没有LZMA那么高,但是我们可以加载指定
    //资源而不用全部解压缩,加载速度媲美不压缩,而且文件比不压缩的小
}

此时工具栏里多了Tools方便我们加载怪物模型

点击子选项 构建AssetBundles

接下来在Scripts包下创建脚本

其中目录文件在

我们就会看见构建的AssetBundles

双击进去后

复制路径

添加模型名称

此时已找到路径资源

接下来利用代码加载本地文件中的怪物模型

using UnityEngine;

public class LoadAssetsFromFile : MonoBehaviour{
    void Start(){
        AssetBundle ab_Monster = AssetBundle.LoadFromFile("AssetBundles/monster/one.u3dmodel");
        GameObject monster01 = ab_Monster.LoadAsset<GameObject>("Monster01");
        Instantiate(monster01);
    }
}
最后删除掉Unity项目中的所有怪物预制体,目的是从本地文件中加载

创建一个空物体

挂载本地加载模型代码

运行前

运行后,成功从本地文件加载模型

此文章从本地文件加载unity项目模型,下一篇文章,从云数据库加载。

  • 26
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值