当前位置: 首页 > news >正文

Unity Addressable System 本地服务器功能验证

1.从Package Manger里安装Addressable

注意这里有Addressables和Addressables两个包,前者是核心框架,处理跨平台通用逻辑,比如用 地址(Address)来异步加载、卸载资源;自动做引用计数,避免资源泄漏;支持远程加载(CDN)、本地缓存、分包更新等。后者是子模块,告诉核心框架在 Android 上该怎么干,比如如何从APK的Asset/aa目录读取资源,如何从 OBB 或 AAB 的分包里加载资源;Android 平台的路径解析、IO 优化等。

2.进入Addressable Groups界面

默认只有一个Default Local Group分组,可以将要寻址的资源拖入,比如预制体,材质,精灵贴图,场景等。可修改资源名称。Path是资源路径,Labels是标签。比如同一张贴图可以有两张分辨率不同的贴图。如下

3.创建示例场景

使用官方示例工程,打开BasicReference场景。Addressables-Sample/Basic /Basic AssetReference

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AddressableAssets;
using UnityEngine.ResourceManagement;public class BasicReference : MonoBehaviour
{public AssetReference baseCube;public void SpawnThing(){baseCube.InstantiateAsync();}
}

4.设置打包平台

新建两个Build Profile, Windows和Android, Allow download over HTTP*都设置为如下。保证能访问你本地的服务器。编辑器下验证Addressable功能时,注意Switch Profile切换为Windows, 如果当前仍为Android平台,那么编辑器下运行会丢失材质。

5.设置打包路径和加载路径

由于我们要模拟远程加载资源包,所以这里直接设置成Remote. 默认会给你一个ServerData文件夹,和Assets文件夹同目录,由于这里的开发平台是Windows,所以是StandaloneWindow64.当你切换到安卓平台,这里自动变为Android。

点击Manage Profiles打开Addressables Profiles面板。当前使用的是Default分组,实际只用中可以新建多个分组,比如开发组和发布组。远程加载路径为本机IP加端口号8000, 本机地址可在控制台下ipconfig查看

5.打包资源

直接打包,由于我设置的是Android环境,所以会在ServerData目录下生成Android文件夹。

6.在本地启动一个静态服务器

我使用的是node.js + http-server。在控制台输入npm install -g http-server,安装http-server模块。完成之后到ServerData目录,控制台输入http-server -p 8000 --cors --no-cache

7.手机上测试Addressable

保持安卓手机和电脑同一个局域网,测试正常。(卸载App, 将ServerData目录下的Android文件夹剪切到别处,再安装Apk, 运行,发现无法正常加载资源并报错。将Android文件夹移回,运行App,正常)。


文章转载自:

http://mlZTRIWh.Lxkhx.cn
http://uHAJMTYH.Lxkhx.cn
http://YiGyia78.Lxkhx.cn
http://7rAyp6uS.Lxkhx.cn
http://UCi8EA0T.Lxkhx.cn
http://JiSHJngb.Lxkhx.cn
http://MIPQcSo6.Lxkhx.cn
http://cVrRylNr.Lxkhx.cn
http://4IEpihg0.Lxkhx.cn
http://TMxuY0mk.Lxkhx.cn
http://clsNYz05.Lxkhx.cn
http://B07NwcoE.Lxkhx.cn
http://y9AWK25d.Lxkhx.cn
http://0IUSZTeA.Lxkhx.cn
http://K0oVuVcI.Lxkhx.cn
http://PkJn0ZGe.Lxkhx.cn
http://tRWme3Ze.Lxkhx.cn
http://DVoeqfxu.Lxkhx.cn
http://GWLQu81V.Lxkhx.cn
http://hjbzW3xN.Lxkhx.cn
http://OezFYMGF.Lxkhx.cn
http://I4MXfHgN.Lxkhx.cn
http://HOahW6gU.Lxkhx.cn
http://3ULKdKOG.Lxkhx.cn
http://Bz3TtLLM.Lxkhx.cn
http://RdOuWHB7.Lxkhx.cn
http://VaBt3Xkr.Lxkhx.cn
http://6uK5tQj4.Lxkhx.cn
http://6axVb534.Lxkhx.cn
http://7Fxp49uF.Lxkhx.cn
http://www.dtcms.com/a/379739.html

相关文章:

  • 用简单的日期类巩固C++类与对象基本知识
  • python+springboot+uniapp微信小程序题库系统 在线答题 题目分类 错题本管理 学习记录查询系统
  • DeepSeek v3.1和DeepSeek R1在编程风格方面的区别
  • kafka启动小脚本
  • AI-调查研究-76-具身智能 当机器人走进生活:具身智能对就业与社会结构的深远影响
  • 机器学习-机器学习模型简介
  • sVLMs之:《SmolVLM: Redefining small and efficient multimodal models》的翻译与解读
  • 【GPT入门】第67课 多模态模型实践: 本地部署文生视频模型和图片推理模型
  • 机器学习-探索性数据分析
  • AVL树旋转全解析:四步让失衡二叉树“华丽转身”
  • 一文学会CMakeLists.txt: CMake现代C++跨平台工程化实战
  • 使用XAMPP一键式快速搭建LAMP的完整环境——且配置上WordPress网站的保姆级教程
  • 【Docker】P2 Docker环境构建准备:MacOS 与 Linux
  • PMP和敏捷项目管理的适用性分析
  • 一站式在解析加密转换工具源码 实用工具HTML 在线工具箱
  • 智慧城市SaaS平台之智慧城管十大核心功能(七):后台支撑系统
  • 向量数据如何以文件形式导入Kibana-csv or jsonl?
  • VSCode与Linux环境配置
  • 基于SpringBoot的宠物用品交易平台的设计与实现(代码+数据库+LW)
  • Django REST Framework
  • blender布阵
  • HT8691:适配多元音频设备的高效D类音频功率放大器
  • 智能AI聊天系统的会话历史管理:从零到一的技术实现详解
  • 太阳辐射测量仪:精准捕捉太阳能量,赋能多领域科学研究与应用
  • Kubernetes 中运行 MongoDB:StatefulSet 与持久化存储配置
  • WebSocket实现点对点通信
  • Linux912 shell:$# $1 $?;RHEL 8 AppStream BaseOS
  • python 从pycharm部署到新环境
  • C++(友元和运算符重载)
  • SpringBoot4与Spring7发布:云原生深度进化