Addressable:5、资源托管服务(Asset Hosting Services)

2023-11-04 03:40

本文主要是介绍Addressable:5、资源托管服务(Asset Hosting Services),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、总览

托管服务提供了一个集成的功能,在Unity编辑器可以使用可寻址资源配置数据,提供给本地或网络连接的构建应用程序打包的内容。托管服务旨在提高测试打包内容时的迭代速度,还可以用于向本地和远程网络上连接的客户端提供内容。

1.Packed mode测试和迭代

从编辑器播放模式测试到平台应用程序构建测试的转变为开发过程带来了复杂性和时间成本。Hosting Services提供可扩展的,嵌入编辑器的内容交付服务,这些服务直接映射到您的Addressables组配置。使用自定义的可寻址配置文件,您可以快速配置应用程序以从Unity Editor本身加载所有内容。这包括部署到移动设备或任何其他平台的构建,它们可以通过网络访问您的开发系统。

2.Turn-key 内容服务器

您可以将资产托管服务部署到服务器环境中,以批处理模式(headless)运行,为内部网和面向internet的Unity应用程序客户端托管内容。

2、设定

本文详细介绍了您的项目的资产托管服务的初始设置。虽然安装指南侧重于编辑器工作流,但是可以通过设置 AddressableAssetSettings 类的 HostingServicesManager 来使用API配置托管服务。

1.配置新的托管服务

使用 Hosting window 添加,配置和启用新的主机服务。在编辑器中,选择Window > Asset Management > Addressables > Hosting,或从 Addressables Groups 窗口菜单中单击 Tools > Hosting Services 按钮以访问 Addressables Hosting 窗口。
在这里插入图片描述
在 Addressables Hosting 窗口中添加新的本地主机服务,请单击 Create > Local Hosting 按钮,添加新的托管服务。如下:
在这里插入图片描述
注意:有关实现自定义托管服务类型的更多信息,请参阅关于自定义服务的部分。

新添加的服务将出现在 Addressables Hosting 窗口的 Hosting Services 部分中。使用Service Name 字段输入服务器名称。

新服务默认为禁用状态。要启动服务,请选中启用(Enable)复选框。
在这里插入图片描述
添加服务后,更新的 Addressables Hosting 窗口。

HTTP Hosting Service 在启动时会自动分配一个端口号。端口号已保存并在Unity会话之间重复使用。
要选择其他端口,请在端口(Port )字段中分配特定的端口号,或使用重置(Reset )按钮随机分配其他端口。

注意:如果您重置端口号,则必须执行完整的应用程序构建以生成和嵌入正确的URL。
HTTP Hosting Service 现在已启用,可以为每个资产组的BuildPath中指定的目录提供内容。

2.配置文件设置(Profile setup)

在开发期间使用 Hosting Services 时,Unity建议创建一个配置文件,配置所有资产组,使用一个或多个专门为此目的创建的目录从 Hosting Service 加载内容。

在编辑器中,选择 Windows > Asset Management > Addressables > Profiles,或从Addressables Groups 窗口菜单中单击 Tools > Profiles 按钮以访问配置文件(Profiles )窗口。您还可以通过AddressableAssetSettings 检查器访问这些设置。

接下来,创建一个新的配置文件。在以下示例中,新的配置文件称为“托管的编辑器(Editor Hosted)”。

创建服务配置文件:
在这里插入图片描述

修改加载路径字段以改为从Hosting Service加载。HttpHostingService是使用本地IP地址和分配给服务的端口的URL。在 Addressables Hosting 窗口中,您可以使用配置文件变量名为PrivateIpAddress和HostingServicePort来构造URL(例如,http://[PrivateIpAddress]:[HostingServicePort])。
此外,您应该修改所有构建路径变量,以指向项目的Assets文件夹之外的公共目录。

配置服务的配置文件:
在这里插入图片描述

验证每个组的配置是否正确。确保将BuildPath和LoadPath路径设置为它们各自的配置文件密钥,这些配置文件密钥已被修改以用于Hosting Services。在此示例中,您可以看到如何LoadPath扩展中的配置文件变量以构建正确的基本URL,以便从Hosted Services加载。

检查服务的加载路径:
在这里插入图片描述

最后,从 Addressables Groups 窗口中选择新的配置文件,创建一个版本,然后部署到目标设备。现在通过Unity编辑器HttpHostingService服务为应用程序提供所有加载请求。您现在可以添加和更改内容,而无需重新部署。重建可寻址内容,然后重新启动已部署的应用程序以刷新内容。

选择一个主机服务配置文件:
在这里插入图片描述

3.批处理模式

您还可以从Unity Editor下运行批处理模式来使用Hosting Services。为此,请使用以下选项从命令行启动Unity:

-batchMode -executeMethod UnityEditor.AddressableAssets.HostingServicesManager.BatchMode

这将从默认AddressableAssetSettings对象加载Hosting Services配置,并启动所有已配置的服务。
要使用替代AddressableAssetSettings配置,请创建您自己的静态方法入口点,以通过UnityEditor.AddressableAssets.HostingServicesManager.BatchMode(AddressableAssetSettings settings)重载进行调用。

3、自定义服务(Custom services)

Hosting Services的设计具有可扩展性,允许您实现自己的自定义逻辑,以便为可寻址资产系统中的内容加载请求提供服务。例如:

  • 支持使用非HTTP协议下载内容的自定义IResourceProvider。
  • 管理用于提供与生产CDN解决方案(例如:Apache HTTP服务器)匹配的内容的外部流程。
1.实现自定义服务

HostingServicesManager可以管理实现IHostingService接口任何类(用于方法参数和返回值的更多详细信息,请参阅API文档。
创建一个新的自定义服务:

  1. 遵循上面配置新的Hosting Service部分中概述的步骤,但是不要选择Create > Local Hosting按钮,而是选择 Create > Custom Service 按钮。

  2. 将适用的脚本拖放到其字段中,或从对象选择器中选择它。该对话框将验证所选脚本是否实现了该IHostingService接口。

  3. 要完成添加服务,请单击 Add按钮。
    继续,您的自定义服务将出现在服务类型下拉选项中。

    添加自定义资产托管服务:
    在这里插入图片描述

这篇关于Addressable:5、资源托管服务(Asset Hosting Services)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/342969

相关文章

Linux创建服务使用systemctl管理详解

《Linux创建服务使用systemctl管理详解》文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权... 目录创建服务 /usr/lib/systemd/system/设置服务文件权限:所有者读写js,其他

Java服务实现开启Debug远程调试

《Java服务实现开启Debug远程调试》文章介绍如何通过JVM参数开启Java服务远程调试,便于在线上排查问题,在IDEA中配置客户端连接,实现无需频繁部署的调试,提升效率... 目录一、背景二、相关图示说明三、具体操作步骤1、服务端配置2、客户端配置总结一、背景日常项目中,通常我们的代码都是部署到远程

sysmain服务可以禁用吗? 电脑sysmain服务关闭后的影响与操作指南

《sysmain服务可以禁用吗?电脑sysmain服务关闭后的影响与操作指南》在Windows系统中,SysMain服务(原名Superfetch)作为一个旨在提升系统性能的关键组件,一直备受用户关... 在使用 Windows 系统时,有时候真有点像在「开盲盒」。全新安装系统后的「默认设置」,往往并不尽编

Python 基于http.server模块实现简单http服务的代码举例

《Python基于http.server模块实现简单http服务的代码举例》Pythonhttp.server模块通过继承BaseHTTPRequestHandler处理HTTP请求,使用Threa... 目录测试环境代码实现相关介绍模块简介类及相关函数简介参考链接测试环境win11专业版python

Nginx中配置使用非默认80端口进行服务的完整指南

《Nginx中配置使用非默认80端口进行服务的完整指南》在实际生产环境中,我们经常需要将Nginx配置在其他端口上运行,本文将详细介绍如何在Nginx中配置使用非默认端口进行服务,希望对大家有所帮助... 目录一、为什么需要使用非默认端口二、配置Nginx使用非默认端口的基本方法2.1 修改listen指令

SysMain服务可以关吗? 解决SysMain服务导致的高CPU使用率问题

《SysMain服务可以关吗?解决SysMain服务导致的高CPU使用率问题》SysMain服务是超级预读取,该服务会记录您打开应用程序的模式,并预先将它们加载到内存中以节省时间,但它可能占用大量... 在使用电脑的过程中,CPU使用率居高不下是许多用户都遇到过的问题,其中名为SysMain的服务往往是罪魁

通过配置nginx访问服务器静态资源的过程

《通过配置nginx访问服务器静态资源的过程》文章介绍了图片存储路径设置、Nginx服务器配置及通过http://192.168.206.170:8007/a.png访问图片的方法,涵盖图片管理与服务... 目录1.图片存储路径2.nginx配置3.访问图片方式总结1.图片存储路径2.nginx配置

解决若依微服务框架启动报错的问题

《解决若依微服务框架启动报错的问题》Invalidboundstatement错误通常由MyBatis映射文件未正确加载或Nacos配置未读取导致,需检查XML的namespace与方法ID是否匹配,... 目录ruoyi-system模块报错报错详情nacos文件目录总结ruoyi-systnGLNYpe

Go语言使用sync.Mutex实现资源加锁

《Go语言使用sync.Mutex实现资源加锁》数据共享是一把双刃剑,Go语言为我们提供了sync.Mutex,一种最基础也是最常用的加锁方式,用于保证在任意时刻只有一个goroutine能访问共享... 目录一、什么是 Mutex二、为什么需要加锁三、实战案例:并发安全的计数器1. 未加锁示例(存在竞态)

Nginx进行平滑升级的实战指南(不中断服务版本更新)

《Nginx进行平滑升级的实战指南(不中断服务版本更新)》Nginx的平滑升级(也称为热升级)是一种在不停止服务的情况下更新Nginx版本或添加模块的方法,这种升级方式确保了服务的高可用性,避免了因升... 目录一.下载并编译新版Nginx1.下载解压2.编译二.替换可执行文件,并平滑升级1.替换可执行文件