Unity Addressable使用之服务器远程加载

本地模拟服务器加载

1、创建一个Profiles,将Remote设为Editor Hosted

2、在Addressables Group窗口将Profile设为Local Test

3、将某个Asset Groups设为Remote加载

4、Build资源

5、打开本地模拟服务器

Addressables Hosting 窗口是 Addressable 提供的一个内置本地服务器工具,用于在开发阶段快速测试远程资源加载功能,无需搭建外部服务器环境。

Window=>Asset Management=>Addressables=>Hosting

勾选Enable启动服务器

6、编写加载资源代码进行测试

可以在Hosting窗口看到有加载记录

成功啦!!!

远程服务器加载

操作步骤

1、搭建服务器

参考该链接搭建IIS服务器

使用IIS搭建本地Web服务器-CSDN博客

2、创建一个Profiles,将Remote设为Custom

需要自定义配置Remote.LoadPath,格式是IIS服务器的ip地址加端口号

3、在Addressables Group窗口将Profile设为Remote Test

3、将某个Asset Groups设为Remote加载

 4、在切换Profile之后最好先Clear Build Cache

4、Build资源

5、将远程打包资源复制到服务器中

找到项目根目录的ServerData文件夹,将该资源拷贝到服务器上

6、补充:如果在网页中双击.bunle文件出现

需要对.bundle文件进行MIME类型配置,否则Addressable无法访问

 7、编写加载资源代码进行测试

注意

1、Use Asset Bundle Cache启用时,下载的 Asset Bundle 会被缓存到本地存储。下次加载相同资源时可以直接从本地缓存读取,无需重新下载。在测试是否是从远程服务器加载时,可以取消勾选进行测试。

2、在切换从本地加载Profile切换到远程加载Profile时,发现资源加载还是加载旧的路。

需要在加载资源之前进行,Addressable初始化检查更新

using System.Threading.Tasks;
using UnityEngine;
using UnityEngine.AddressableAssets;
using UnityEngine.UI;public class Test : MonoBehaviour
{public Image img;private void Start(){CheckForUpdates();}public async Task CheckForUpdates(){// 初始化Addressablesawait Addressables.InitializeAsync().Task;// 检查catalog更新var checkHandle = Addressables.CheckForCatalogUpdates(false);var catalogs = await checkHandle.Task;if(catalogs != null && catalogs.Count > 0){Debug.Log($"发现{catalogs.Count}个更新");// 更新catalogvar updateHandle = Addressables.UpdateCatalogs(catalogs);var locators = await updateHandle.Task;}Addressables.LoadAssetAsync<Sprite>("Assets/Icons/icon_prop_2.png").Completed += (asset) =>{img.sprite = asset.Result;};}
}

3、如果有报下图中的错误,可以尝试勾选Project Setttings=>Player=>Other Settings=>Allow downloads over HTTP

 

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

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

相关文章

Java基础八股文 - 面试者心理历程与标准答案

Java基础八股文 - 面试者心理历程与标准答案 前言&#xff1a;如何应对Java基础面试问题 面试Java基础时&#xff0c;很多候选人会因为紧张而忘记平时熟悉的知识点。本文将从面试者的心理历程出发&#xff0c;教你如何在面试中用自己的思路组织答案&#xff0c;然后给出标准回…

学习笔记088——Windows配置Tomcat自启

1、下载 下载Windows版本tomcat。本文下载的版本是&#xff1a; apache-tomcat-9.0.31-windows-x64.zip 点击下载 注意&#xff1a;要确保bin目录下有 service.bat 文件&#xff01; 2、配置服务 解压后&#xff0c;终端进入bin⽬录&#xff0c;安装服务&#xff1a;service…

SSL证书怎么配置到服务器上 ?

在网络安全备受关注的当下&#xff0c;SSL证书已成为网站安全的标配。但仅有SSL证书还不够&#xff0c;正确将其配置到服务器上&#xff0c;才能真正发挥保障数据传输安全、验证网站身份的作用。由于服务器类型多样&#xff0c;不同服务器的SSL证书配置方法存在差异&#xff0c…

AI与SEO关键词协同进化

内容概要 人工智能&#xff08;AI&#xff09;与搜索引擎优化&#xff08;SEO&#xff09;的结合&#xff0c;正深刻变革着关键词策略的制定与执行方式。本文旨在探讨AI技术如何驱动SEO关键词领域的智能化进化&#xff0c;核心在于利用AI强大的数据处理与模式识别能力&#xf…

01.线性代数是如何将复杂的数据结构转化为可计算的数学问题,这个过程是如何进行的

将复杂数据结构转化为可计算的数学问题是数据科学、机器学习和算法设计中的核心环节。这一过程需要结合数据特性、数学理论和计算框架,通过系统化的抽象和建模实现。以下是具体转化流程及关键技术解析: 一、数据结构分析:解构原始数据的本质特征 1. 识别数据类型与结构特性…

华为OD机考-网上商城优惠活动-模拟(JAVA 2025B卷)

import java.util.Scanner;public class Test3 {static int mjq;static int dzq;static int wmkq;static class Group {int price;// 打折后价格int num;// 优惠券使用熟练}public static void main(String[] args) {Scanner scanner new Scanner(System.in);String input sc…

JavaScript 数据处理 - 将字符串按指定位数截断并放入数组(基础实现、使用正则表达式实现、使用正则表达式简化实现)

将字符串按指定位数截断并放入数组 1、基础实现 /*** 将字符串按指定位数截断并放入数组* param {string} str - 要处理的字符串* param {number} n - 每段截断的位数* returns {Array} 截断后的字符串数组*/ function splitStringByLength(str, n) {const result [];for (l…

python学智能算法(十四)|机器学习朴素贝叶斯方法进阶-CountVectorizer文本处理简单测试

【1】引用 前序学习文章中&#xff0c;已经对拉普拉斯平滑和简单二元分类进行了初步探索&#xff0c;相关文章链接为&#xff1a; python学智能算法&#xff08;十二&#xff09;|机器学习朴素贝叶斯方法初步-拉普拉斯平滑计算条件概率-CSDN博客 python学智能算法&#xff0…

Java枚举类的规范设计与常见错误规避

前言 在Java开发中&#xff0c;枚举&#xff08;enum&#xff09;是一种强大的工具&#xff0c;用于定义一组固定常量集合。然而&#xff0c;许多开发者在使用枚举时容易陷入设计误区&#xff0c;导致代码可维护性差、运行时错误频发&#xff0c;甚至引发生产事故。 一、枚举…

Vue指令v-if

目录 一、Vue中的v-if指令是什么&#xff1f;二、v-if指令的使用 一、Vue中的v-if指令是什么&#xff1f; v-if指令是根据表达值的真假&#xff0c;切换元素的显示和隐藏&#xff0c; 本质是通过操纵dom元素来切换显示状态。 注意&#xff1a; 表达式的值为true&#xff0c;元…

探秘阿里云云数据库Tair:性能、特性与应用全景解析

引言 在数字化浪潮席卷全球的当下&#xff0c;数据已然成为企业最为关键的资产之一&#xff0c;如何高效管理和运用这些数据&#xff0c;成为了企业在激烈竞争中脱颖而出的关键。云数据库作为现代数据管理的核心工具&#xff0c;凭借其卓越的可扩展性、灵活性以及高效的数据处…

百度大模型免费上线,学AI大模型就选近屿智能

3月16日&#xff0c;文心大模型4.5和文心大模型X1正式发布&#xff01;目前两款模型已免费对用户开放。 文心大模型4.5是百度自主研发的新一代原生多模态基础大模型&#xff0c;通过多个模态联合建模实现协同优化&#xff0c;提高多模态理解能力&#xff0c;精进语言能力&#…

PostgreSQL 中实现跨库连接主要有两种解决方案

方法一&#xff1a;使用 dblink 扩展 dblink 是 PostgreSQL 的内置扩展&#xff0c;允许在一个数据库会话中执行远程 SQL 查询。 步骤 1&#xff1a;在源数据库中启用 dblink 扩展 CREATE EXTENSION IF NOT EXISTS dblink;步骤 2&#xff1a;执行跨库查询 -- 简单查询示例&…

Qt中的布局

Qt6.8的布局管理系统&#xff0c;用于自动排列部件&#xff1a;水平布局QHBoxLayout、垂直布局QVBoxLayout、网格布局QGridLayout、表单布局QFormLayout 布局(layout)是一种优雅而灵活的方式&#xff0c;可以在其容器内自动排列子部件(child widgets)。每个部件通过sizeHint和s…

Agent成本降低46%:缓存规划器的思路模板

论文标题 Cost-Efficient Serving of LLM Agents via Test-Time Plan Caching 论文地址 https://arxiv.org/pdf/2506.14852 作者背景 斯坦福大学 动机 大模型能力的飞速进步催收了大量 AI 智能体应用&#xff0c;它们协调多种模型、工具、工作流来解决实际复杂任务。然而…

Vue 3 + Axios 完整入门实战指南

从入门到深入&#xff0c;手把手教你在 Vue 3 中正确使用 Axios&#xff0c;支持全局挂载、局部分离、使用 proxy 连接场景&#xff0c;适合所有前端小白和实战设计。 大家好&#xff0c;我是石小石&#xff01;一个热爱技术分享的开源社区贡献者&#xff0c;小册《油猴脚本实战…

CppCon 2017 学习:Effective Qt: 2017 Edition

这段内容讲的是 Qt 容器&#xff08;Qt Containers&#xff09;和标准库容器&#xff08;STL Containers&#xff09;之间的选择和背景&#xff1a; 主要观点&#xff1a; Qt 容器的历史背景 Qt 自身带有一套容器类&#xff08;如 QList, QVector, QMap 等&#xff09;&#…

Pandas 核心数据结构详解:Series 和 DataFrame 完全指南

1. 前言&#xff1a;为什么需要 Pandas 数据结构&#xff1f; 在数据处理和分析中&#xff0c;我们需要高效的方式来存储和操作结构化数据。Python 原生的列表&#xff08;List&#xff09;和字典&#xff08;Dict&#xff09;虽然灵活&#xff0c;但缺乏针对数据分析的优化。…

使用 Solscan API 的开发指南:快速获取 Solana 链上数据

Solana 生态中有多个区块浏览器&#xff0c;其中 Solscan 提供了功能全面的 API&#xff0c;适用于查询地址资产、Solana 生态中有多个区块浏览器&#xff0c;其中 Solscan 提供了功能全面的 API&#xff0c;适用于查询地址资产、交易详情、合约交互等多种开发场景。相比直接使…

高效工具-libretv

什么是libretv? LibreTV 是一个轻量级、免费的在线视频搜索与观看平台&#xff0c;提供来自多个视频源的内容搜索与播放服务。无需注册&#xff0c;即开即用&#xff0c;支持多种设备访问。项目结合了前端技术和后端代理功能&#xff0c;可部署在支持服务端功能的各类网站托管…