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

news2024/11/16 21:33:35

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

导入怪物资源,

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1859273.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LDO电源模块如何快速设计布局

在现代电子设备遍布的时代&#xff0c;电源模块的设计与应用成为了电子工程领域中的核心议题。而LDO&#xff08;低压差线性稳压器&#xff09;电源模块&#xff0c;因其出色的线性特性和稳定性&#xff0c;在众多应用中备受青睐。为了满足不断增长的电子设备性能需求&#xff…

控价服务商的选择标准

品牌控价旨在对渠道进行有效管控&#xff0c;维护品牌自身价值以及经销商的合法权益&#xff0c;同时也为消费者提供稳定的购物价格。在这一过程中&#xff0c;不但要对线上价格进行把控&#xff0c;线下价格同样需要品牌投入精力去管理。就线上而言&#xff0c;由于链接数量众…

面向对象的进阶---static

1.static 静态变量 package com.itheima.a01staticdemo01;public class Student {private String name;private int age;public static String teacherName;public Student() {}public Student(String name, int age) {this.name name;this.age age;}/*** 获取* return n…

基于单片机的智能台灯控制系统

摘要&#xff1a; 文章设计一款单片机智能台灯控制系统&#xff0c;实现对台灯的手动和自动控制功能&#xff0c;以 STC89C52 单片机作为多功能智能台灯的主控制器&#xff0c;光电检测模块检测坐姿&#xff0c;红外传感器检测人体&#xff0c;光敏电阻检测光强&#xff0c;同…

找不到x3daudio1_7.dll无法运行的原因分析及6种解决方法

当您遇到软件或游戏中提示“x3daudio1_7.dll丢失”的问题时&#xff0c;通常意味着您的系统中缺少这个特定的动态链接库文件。x3daudio1_7.dll 是微软DirectX的一部分&#xff0c;找不到x3daudio1_7.dll会导致软件游戏无法启动运行&#xff0c;下面小编就分享几种靠谱的解决方法…

msvcp120.dll丢失的解决方法,总结几种有效的解决方法

最近&#xff0c;我在使用计算机时遇到了一个问题&#xff0c;系统提示我丢失了msvcp120.dll文件。这让我感到非常困扰&#xff0c;因为这个问题导致我无法正常运行一些程序。经过一番搜索和尝试&#xff0c;我找到了几种修复这个问题的方法&#xff0c;并成功解决了这个问题。…

[数据集][目标检测]斑马线人行横道检测数据集VOC+YOLO格式793张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;793 标注数量(xml文件个数)&#xff1a;793 标注数量(txt文件个数)&#xff1a;793 标注类别…

vue2和vue3分别如何全局引入并使用js

如下js&#xff1a;util/tool.js var tool {nullKeyValueConvertLine(data){if(data && data.length > 0){data.map((item,index)>{for(var key in item){if(!item[key]&&item[key]!0){item[key] -}}})}}, } export default tool 在vue2项目中全局引…

2024上海MWC 参展预告 | 未来先行,解锁数字化新纪元!

一、展会介绍——2024世界移动通信大会 2024年世界移动通信大会上海(MWC上海)将于6月26日至28日在上海新国际博览中心举行。 本届大会以“未来先行(Future First)”为主题聚焦“超越5G”、“数智制“人工智能经济’造”三大热点话题。届时将在包括超级品牌馆(Super Hall)在内…

C++(part2、3-Linux系统编程+数据库项目):Linux网络云盘

文章目录 一、项目需求分析1.一期&#xff1a;命令行解析(1)cd(用栈管理)、ls、pwd(2)puts、gets(3)mkdir、touch、rmdir、rm 2.二期&#xff1a;密码验证、日志、断点续传、大文件传输(1)密码验证(2)日志(3)断点续传(4)大文件传输 3.三期&#xff1a;用户注册、用户登录、虚拟…

nginx+keepalived+tomcat集群实验

如遇星河 | nginx+keepalived高可用集群实验 木子87 | Keepalived+Nginx+Tomcat 实现高可用Web集群 环境 192.168.40.204 tomcat-1 192.168.40.138 tomcat-2 安装tomcat [root@bogon local]# vim /etc/profile 添加环境变量 JAVA_HOME=/usr/local/java PATH=$J…

一份LLM资源清单围观技术大佬的日常;手把手教你在美国搭建「百万卡」AI数据中心;为啥大模型做不好简单的数学计算? | ShowMeAI日报

&#x1f440;日报&周刊合集 | &#x1f3a1;ShowMeAI官网 | &#x1f9e1; 点赞关注评论拜托啦&#xff01; 1. 为啥大模型做不好简单的数学计算&#xff1f;从大模型高考数学成绩不及格说起 司南评测体系 OpenCompass 选取 7 个大模型 (6 个开源模型 GPT-4o)&#xff0c;…

复制完若依后,idea没有maven窗口

右击项目 添加框架 添加maven框架就可以了

【Vue】vue-router路由使用

前言 Vue Router是Vue框架中非常重要的一个功能。 目标 1 单页面应用与多页面应用的区别; 2 vue-router的具体实现方法; 3 路由模式有哪几种,有什么区别; 4 如何进行路由守卫与路由缓存; 一 路由的概念 概念 Vue Router是Vue提供的路由管理器。将组件与路由一一对应起来,…

vantUI upload 上传组件v-model绑定问题

直接绑定一个数组会有问题,删除失效/上传不了等等 解决在v-model绑定的数组外包一个对象即可

无人机捕获的视频跟踪UAV123数据集(目标检测)

亲爱的读者们&#xff0c;您是否在寻找某个特定的数据集&#xff0c;用于研究或项目实践&#xff1f;欢迎您在评论区留言&#xff0c;或者通过公众号私信告诉我&#xff0c;您想要的数据集的类型主题。小编会竭尽全力为您寻找&#xff0c;并在找到后第一时间与您分享。 摘要&a…

elementplus el-table(行列互换)转置

Element Plus v2.4.0, repl v3.4.0 <template> <div><el-table :data"tableData" style"width: 100%"><el-table-column prop"name" label"名字" width"180" /><el-table-column prop"wei…

Spring Boot 快速入门4 ——JSR-303 数据校验

目录 一、前言 二、JSR303 简介 三、使用方法 常用注解 Validated、Valid区别 四、编写测试代码&#xff1a; 1. 实体类添加校验 2. 统一返回类型 3. 测试类 4.我们把异常返回给页面 5.抽离全局异常处理 2. 书写ExceptionControllerAdvice 一、前言 我们在日常开发…

SpringMVC系列二: 请求方式介绍

RequestMapping &#x1f49e;基本使用&#x1f49e;RequestMapping注解其它使用方式可以修饰类和方法可以指定请求方式可以指定params和headers支持简单表达式支持Ant 风格资源地址配合PathVariable 映射 URL 绑定的占位符注意事项和使用细节课后作业 上一讲, 我们学习的是Spr…

《昇思25天学习打卡营第1天|onereal》

昇思25天学习打卡营第1天;有点一头雾水的感觉&#xff0c;说是要在jupyter中签到打卡&#xff0c;是不是就是复制粘贴。我以为是要在终端机器中运行代码呢。 如果只是粘贴代码&#xff0c;那未免太简单了。 我还是想运行这个算力机器&#xff0c;但是他们说每次只能2小时。太…