首页 > 其他分享 >【Unity服务器01】之AssetBundle上传加载u3d模型

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

时间:2024-06-23 12:01:30浏览次数:20  
标签:01 u3d 标签 算法 Unity AssetBundle AssetBundles using 加载

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

导入怪物资源,

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项目模型,下一篇文章,从云数据库加载。

标签:01,u3d,标签,算法,Unity,AssetBundle,AssetBundles,using,加载
From: https://blog.csdn.net/weixin_69360830/article/details/139829508

相关文章

  • springboot+手机商城网站-计算机毕业设计源码201029
    摘 要在信息飞速发展的今天,网络已成为人们重要的信息交流平台。手机店每天都有大量的手机商品需要通过网络发布,为此,本人开发了一个基于springboot手机商城网站。本系统采用跨平台的JAVA语言开发,利用springboot框架进行逻辑控制,MySQL数据库存储数据,最后Tomcat服务器完成发布......
  • DP:01背包问题
    一、背包问题的概述背包问题是⼀种组合优化的NP完全问题。本质上是为了找出“带有限制条件的组合最优解”1、根据物品的个数,分为如下几类:•01背包问题:每个物品只有⼀个(重点掌握)•完全背包问题:每个物品有无限多个(重点掌握)•多重背包问题:每件物品最多有n个•混合背包......
  • Unity 编辑拓展使用Attribute 实现面板按钮
    unity面板按钮工具(1)完成效果原效果代码部分namespaceColorzoreTools{usingSystem;usingUnityEngine;publicclassTestAttribute:MonoBehaviour{[Button("测试")]publicvoidTestBtn(){//这个方法会被......
  • 代码随想录第13天 | 二叉树part01 基础和遍历
    二叉树基础知识二叉树种类满二叉树满二叉树:如果一棵二叉树只有度为0和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树(子节点要么为0,要么为2)若满二叉树的深度为k(即k层,从1开始),则其节点个数为:2^k-1完全二叉树完全二叉树:从上到下,从左到右,都是连续的。满二叉树一......
  • P1971 [NOI2011] 兔兔与蛋蛋游戏 题解
    Description这些天,兔兔和蛋蛋喜欢上了一种新的棋类游戏。这个游戏是在一个\(n\)行\(m\)列的棋盘上进行的。游戏开始之前,棋盘上有一个格子是空的,其它的格子中都放置了一枚棋子,棋子或者是黑色,或者是白色。每一局游戏总是兔兔先操作,之后双方轮流操作,具体操作为:兔兔每次操作......
  • 【办公类-50-01】20240620自主游戏观察记录表19周内容打乱
    背景需求:又到了期末,各种班级资料需要提交。有一份自主游戏观察记录需要写19周(每周2次)的观察记录,并根据参考书填写一级、三级、五级的评价指标。去年中六班的时候,我很认真的手写了21周的户外游戏活动内容,主动成为2个需要提交文本资料的班级。今年组长选了中二和中五提交......
  • HDU-4281 Judges' response(2012 ACM/ICPC Asia Regional Tianjin Online)
    HDU-4281Judges'response(2012ACM/ICPCAsiaRegionalTianjinOnline)状态压缩+01背包+区间dp题意:有n个地点,第一个地点是裁判位置,其他n-1个地点是选手的位置。裁判要给选手解决问题,每个选手都有一个时间表示解决这个选手问题所需要的时间。同样的,裁判也有一个时间,表示这......
  • Qt版本选择01
    嵌入式推荐用Qt4.8,打包的程序小:Qt4.8.7是Qt4的终结版本,是Qt4系列版本中最稳定最经典的最后支持xp系统的长期支持版本:Qt5.6.3;Qt5.7.0是最后支持xp系统的非长期支持版本。最后提供mysql数据库插件的版本:Qt5.12.3。最后支持win7的版本:Qt5.15系列。Qt6不支持win7最后样式表性能最......
  • 【B站黑马程序员LINUX 学习笔记 01】
    课程看的是b站黑马程序员的https://www.bilibili.com/video/BV1n84y1i7td/?spm_id_from=333.337.search-card.all.click&vd_source=be621a30ea2e4e0374f5df95b0b017f201操作系统概述计算机由:硬件和软件组成。操作系统是计算机软件的一种,它主要负责:作为用户和计算机硬件......
  • 电压互感器(zmpt101b)交流电压采样
        交流电压采样是我们在控制逆变电路时重要的一环。有一种采样方法就是用电压互感器+运放将目标交流电压转化为单片机可以测量的电压(即控制在合适的大小内,并且均转化为正值)。    在淘宝上我们可以买到现成的互感器模块,如下图: 其原理图如下:感谢@qq_389......