Unity热更新 之 Addressables(2) 本地/远端打包 流程测试

news2025/1/12 7:06:02

        基础篇:Unity热更新 之 Addressables(1) 资源基础加载-CSDN博客

        基础方法来源于唐老狮,我也是初学热更这一块,所有不保证步骤完全正确,如有不足还请斧正

目录

0.前提

1.本地打包

1.1.资源放入包

1.2.简化路径名称给出标签(如有需要的话)

1.3.配置打包路径 

1.4.打包到本地

 1.5.编写脚本

1.6.编辑器测试 /游戏打包测试

1.7.注意事项

2.远端打包

2.1.获取服务器IP和端口 /打开Hosting获取Ip和端口

2.2.修改远端加载路径 

2.3.将需要远端打包的资源修改为Remoto

​编辑

2.4.修改配置文件(提供远端加载目录)

​编辑

2.5.打包生成资源和目录 

2.6.上传资源到服务器 

2.7.打包加载测试 

3.总结


0.前提

        唐老狮在此前还讲了配置文件相关知识,但是比较冗长,而且Unity6的Addressables和2020版本有点不一样,所以我就不过多啰嗦了,十分建议大家去看原视频,或者查询Unity手册

全部 - 游习堂 - 唐老狮创立的游戏开发在线学习平台 - Powered By EduSoho

Unity - 手册:Addressables - Unity 文档

1.本地打包

        试图加载一个方块并将其实例化于场景需要经历如下步骤

1.1.资源放入包

1.2.简化路径名称给出标签(如有需要的话)

1.3.配置打包路径 

不建议修改 

1.4.打包到本地

 1.5.编写脚本

using System.ComponentModel;
using UnityEngine;
using UnityEngine.AddressableAssets;
using UnityEngine.ResourceManagement.AsyncOperations;
using UnityEngine.UI;

public class LocalLoad : MonoBehaviour
{
    public Text loadInfo;   
        
    // Start is called once before the first execution of Update after the MonoBehaviour is created
    void Start()
    {
        AsyncOperationHandle<GameObject> handler =Addressables.LoadAssetAsync<GameObject>("A");
        handler.Completed += (obj) => {
             if (obj.Status == AsyncOperationStatus.Succeeded){
                Instantiate(handler.Result,Vector3.zero,Quaternion.identity);
                loadInfo.text ="加载成功";
            }else{
                loadInfo.text = "加载失败";
            }
        };
    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

1.6.编辑器测试 /游戏打包测试

 

1.7.注意事项

        之所以不让修改本地打包路径,是因为本地打包出去后资源会自动放到StremingAssets文件里,手动修改打包路径后虽然可以正常将资源打包出去但是加载的时候游戏寻不到资源地址

        (哪怕你也修改了加载路径也寻不到,所以,必须要放到StremingAssets下)

2.远端打包

        这里我是有点问题的我没有Hosting窗口,也没有去租任何一个云服务器,所以就讲一下唐老狮的步骤得了

        我将hosting模拟和远端的步骤结合到一起吧,并不影响实际操作和观看

2.1.获取服务器IP和端口 /打开Hosting获取Ip和端口

        你就知道获取ip和端口就行了

2.2.修改远端加载路径 

        重要的是填写这里远端加载的路径

2.3.将需要远端打包的资源修改为Remoto

现在的版本是这样子的 

2.4.修改配置文件(提供远端加载目录)

        针对特定远端加载组设置:

  • Build & Load Paths 设置为 <custom> 及以下的配置:
    • 当你在某个 Addressable Asset Group 的设置中进行这样的修改(如这里的 Build Path 设置为 Remote.BuildPathLoad Path 设置为 Remote.LoadPath 并指定了具体的远端路径 http://10.40.128.54:8080/StandaloneWindows64),这些设置仅对该资源组内的资源生效。
    • 这意味着只有属于这个资源组的资源在构建(Build)时会按照指定的 Build Path 进行打包,并且在运行时加载这些资源时会从指定的 Load Path(远端路径)去获取。
    • 其他未在该资源组中的资源,如果它们所在的资源组有不同的配置(可能是本地路径、其他远端路径等),则会按照各自资源组的配置来进行构建和加载。

        例如,你可能有多个资源组,一个资源组用于存放一些经常更新的美术资源,你将其设置为远端加载以便于热更新;而另一个资源组可能是一些基本的配置文件或很少更新的资源,你可能会将其设置为本地加载,以提高加载速度和减少对网络的依赖。

        所以,这里的设置是针对特定资源组的,而不是全局影响所有 Addressables 资源的。这样可以更灵活地根据资源的性质和使用场景来配置不同的构建和加载方式

现在版本没有什么修改:

2.5.打包生成资源和目录 

        catalog:目录                          其他文件:资源组

        都是json,是可以自己解析的

2.6.上传资源到服务器 

        之前并没有修改远端保存地址,所以那个文件很好找的,把生成的目录和资源都上传到服务器就行了 

2.7.打包加载测试 

3.总结

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

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

相关文章

Openstack持久存储-Swift,Cinder,Manila三者之间的区别

总结不易&#xff0c;给个三连吧&#xff01;&#xff01;&#xff01; 补充&#xff1a; 文件共享存储服务Manila 在OpenStack生态系统中&#xff0c;Cinder和Manila分别提供了两种不同类型的存储服务&#xff0c;类似于传统的SAN&#xff08;存储区域网络&#xff09;和NAS&…

【TI毫米波雷达】DCA1000不使用mmWave Studio的数据采集方法,以及自动化实时数据采集

【TI毫米波雷达】DCA1000不使用mmWave Studio的数据采集方法&#xff0c;以及自动化实时数据采集 mmWave Studio提供的功能完全够用了 不用去纠结用DCA1000低延迟、无GUI传数据 速度最快又保证算力无非就是就是Linux板自己写驱动做串口和UDP 做雷达产品应用也不会采用DCA1000的…

JavaEE之线程池

前面我们了解了多个任务可以通过创建多个线程去处理&#xff0c;达到节约时间的效果&#xff0c;但是每一次的线程创建和销毁也是会消耗计算机资源的&#xff0c;那么我们是否可以将线程进阶一下&#xff0c;让消耗计算机的资源尽可能缩小呢&#xff1f;线程池可以达到此效果&a…

J-LangChain - 复杂智能链流式执行

系列文章索引 J-LangChain 入门 介绍 j-langchain是一个Java版的LangChain开发框架&#xff0c;具有灵活编排和流式执行能力&#xff0c;旨在简化和加速各类大模型应用在Java平台的落地开发。它提供了一组实用的工具和类&#xff0c;使得开发人员能够更轻松地构建类似于LangC…

《HeadFirst设计模式》笔记(上)

设计模式的目录&#xff1a; 1 设计模式介绍 要不断去学习如何利用其它开发人员的智慧与经验。学习前人的正统思想。 我们认为《Head First》的读者是一位学习者。 一些Head First的学习原则&#xff1a; 使其可视化将文字放在相关图形内部或附近&#xff0c;而不是放在底部…

springboot整合h2

在 Spring Boot 中整合 H2 数据库非常简单。H2 是一个轻量级的嵌入式数据库&#xff0c;非常适合开发和测试环境。以下是整合 H2 数据库的步骤&#xff1a; 1. 添加依赖 首先&#xff0c;在你的 pom.xml 文件中添加 H2 数据库的依赖&#xff1a; <dependency><grou…

安装rocketmq dashboard

1、访问如下地址&#xff1a; GitHub - apache/rocketmq-dashboard: The state-of-the-art Dashboard of Apache RoccketMQ provides excellent monitoring capability. Various graphs and statistics of events, performance and system information of clients and applica…

mysql中创建计算字段

目录 1、计算字段 2、拼接字段 3、去除空格和使用别名 &#xff08;1&#xff09;去除空格 &#xff08;2&#xff09;使用别名&#xff1a;AS 4、执行算术计算 5、小结 1、计算字段 存储在数据库表中的数据一般不是应用程序所需要的格式&#xff0c;下面举几个例子。 …

【批量拆分PDF】批量按页码范围拆分PDF并按页码重命名:技术难题与总结

按照页码范围拆分PDF项目实战参考&#xff1a; 【批量个性化拆分PDF】批量拆分PDF只取PDF的首页&#xff0c;批量按照文件大小来拆分PDF&#xff0c;PDF按照目录页码范围批量计算拆分分割文件PDF个性化拆分&#xff08;单个拆分&#xff0c;取首页拆分&#xff0c;按页码计算拆…

MySQL表的增删改查(基础)-上篇

目录 CRUD 新增 查询 (1)全列查询 (2)指定列查询 (3)查询时指定表达式 (4)别名 (5)去重查询 (6)排序查询 (7)条件查询 (8)分页查询 CRUD 即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)四个单词的首字母缩写 新增 也可插入中文字符串 查询 (1)全列查…

【论文速读】| 利用大语言模型在灰盒模糊测试中生成初始种子

基本信息 论文标题: Harnessing Large Language Models for Seed Generation in Greyb0x Fuzzing 作者: Wenxuan Shi, Yunhang Zhang, Xinyu Xing, Jun Xu 作者单位: Northwestern University, University of Utah 关键词: Greyb0x fuzzing, Large Language Models, Seed g…

Linux:操作系统简介

前言&#xff1a; 在本片文章&#xff0c;小编将带大家理解冯诺依曼体系以及简单理解操作喜欢&#xff0c;并且本篇文章将围绕什么以及为什么两个话题进行展开说明。 冯诺依曼体系&#xff1a; 是什么&#xff1a; 冯诺依曼体系&#xff08;Von Neumann architecture&#xff…

为什么选择平滑样条?

为什么选择平滑样条&#xff1f; 抗噪声能力&#xff1a; 平滑样条通过引入平滑参数 λ \lambda λ&#xff0c;允许你在以下两者之间找到平衡&#xff1a; 拟合误差&#xff08;与数据的偏离&#xff09;&#xff1a;希望曲线接近数据点。光滑性&#xff08;曲线的平滑程度&a…

边缘计算网关解决车间数据采集的关键问题

随着工业4.0和智能制造的快速发展&#xff0c;车间数据采集与分析已成为提升生产效率、保证产品质量、优化加工过程的关键环节。传统的数据采集方式&#xff0c;如中心化的数据处理模式&#xff0c;在面对海量数据、实时性要求高的工业场景时&#xff0c;往往显得力不从心。边缘…

C语言之assert断言

1.assert的使用形式 #include <assert.h>assert (表达式); (1)在c语言中&#xff0c;宏&#xff0c;是一种预处理指令。assert(表示式) 就是一个宏 (2)表达式必须是一个能计算出真或假的布尔条件&#xff0c;它通常意味着 该表达式是一个能够返回整数值的表达式&#…

【Linux】正则表达式

正则表达式是一种可供Linux工具过滤文本的自定义模板&#xff0c;Linux工具&#xff08;如sed、gawk&#xff09;会在读取数据时使用正则表达式对数据进行模式匹配。 正则表达式使用元字符来描述数据流中的一个或多个字符。它是由正则表达式引擎实现的。正则表达式引擎是一种底…

hutool糊涂工具通过注解设置excel宽度

import java.lang.annotation.*;Documented Retention(RetentionPolicy.RUNTIME) Target({ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER}) public interface ExcelStyle {int width() default 0; }/*** 聊天记录*/ Data public class DialogContentInfo {/**…

全面教程:Nacos 2.4.2 启用鉴权与 MySQL 数据存储配置

全面教程&#xff1a;Nacos 2.4.2 启用鉴权与 MySQL 数据存储配置 1. 配置 Nacos 开启鉴权功能 1.1 修改 application.properties 配置文件 在 Nacos 2.4.2 中&#xff0c;开启鉴权功能需要修改 conf/application.properties 文件。按照以下方式配置&#xff1a; # 开启鉴权…

【学习】CMMM智能制造能力成熟度评估的重要性

CMMM认证通过对企业当前生产状态的全面评估&#xff0c;能够精准地确定其智能化生产的程度&#xff0c;并将企业的智能化生产水平划分为五个等级&#xff0c;包括初始级、已定义级、以管理级、卓越级和顶级。这种等级划分使得不同类型的企业能够根据自身实际情况&#xff0c;选…

特制一个自己的UI库,只用CSS、图标、emoji图 第二版

图&#xff1a; 代码&#xff1a; index.html <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>M…