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

Unity WebGL项目问题记录

一、资源优化

可通过转换工具配套提供的资源优化工具,将游戏内纹理资源针对webgl导出做优化。

工具入口:

工具介绍

Texture

搜索规则介绍

已开启MipMap: 搜索已开启了MipMap的纹理。

NPOT: 搜索非POT图片。

isReadable: 搜索已开启readable纹理。

MaxSize大于512: 搜素MaxSize大于512纹理。

修复规则讲解

注意: 每次修复时将当前所要修复资源的importer覆盖写入到Library/AssetImporterbak;

还原时,从Library/AssetImporterbak读取选中资源的importer设置并还原后,会删除Library/AssetImporterbak,并不是undo/redo逻辑

禁用readable:关闭readable

禁用mipmap:关闭mipmap

优化maxsize:勾选后,可选择优化maxsize的方式

改变纹理压缩格式:勾选后可修改纹理压缩格式

筛选列表结果展示

列表总览:描述资源个数和资源总内存

引用查找 选中一个资源,查找资源被引用关系

使用前后对比

修复资源前

修复资源后

可以发现资源总内存减少了很多。

二、使用Addressable Assets System进行资源按需加载

1.概述

对于Unity WebGL转换的小游戏启动耗时,资源下载通常是贡献最大的部分。这是由于手游APP往往很少针对首包资源进行特殊优化。因此,优化原则是:

首包资源量不超过5M。

资源按需延迟加载,拆分得尽量细。

2.Addressable在小游戏中的应用

2.1什么是Addressable Assets System

 Addressable特点如下:

低使用门槛:使用Addressable在开发前期就进入快速开发的阶段,使用任何你喜欢的资源管理技术,你都能快速的切换来Addressable系统中,几乎不需要修改代码。

依赖管理:Addressable系统不仅仅会帮你管理、加载你指定的内容,同时它会自动管理并加载好该内容的全部依赖。在所有的依赖加载完成,你的内容彻底可用时,它才会告诉你加载完成。

内存管理:Addressable不仅仅能记载资源,同时也能卸载资源。系统自动启用引用计数,并且有一个完善的Profiler帮助你指出潜在的内存问题。

内容打包:Addressable系统自动管理了所有复杂的依赖连接,所以即使资源移动了或是重新命名了,系统依然能够高效地找到准确的依赖进行打包。当你需要将打包的资源从本地移到服务器上面,Addressable系统也能轻松做到,几乎不需要任何代价。

2.2使用WXAssetBundleProvider节省内存

WXAssetBundle可以减轻iOS的内存压力,对于使用Addressable的项目,需要替换Provider来使用WXAssetBundle。

使用方式

下载WXAssetBundleProvider.cs,放到WX-WASM-SDK-V2/Runtime/目录下。

导入插件后会有WXAssetBundleProvider.cs缺依赖的报错,需要给WX-WASM-SDK-V2/Runtime 增加 Unity.ResourceManager 的引用。

进入AA的组设置修改Provider如下

最后重新导出 AA包 和 小游戏。

http://www.lryc.cn/news/386908.html

相关文章:

  • 如何级联移位寄存器(74HC595)
  • 找到你的专属健康食谱:结合肠道菌群与疾病状态
  • 大模型微调实战之基于星火大模型的群聊对话分角色要素提取挑战赛:Task01:跑通Baseline
  • 大数据开发如何管理项目
  • 在实施数据加密时,有哪些常见的加密技术可供选择?
  • 容易涨粉的视频素材有哪些?容易涨粉的爆款短素材库网站分享
  • 2024 CISCN 华东北分区赛-Ahisec
  • Linux驱动开发笔记(十三)Sysfs文件系统
  • Numpy array和Pytorch tensor的区别
  • 【面试系列】数据科学家 高频面试题及详细解答
  • mysql是什么
  • 【软件工程】【22.04】p1
  • 简单说下GPT-4
  • 力扣第一道困难题《3. 无重复字符的最长子串》,c++
  • 【ai】tx2 nx :ubuntu查找NvInfer.h 路径及哪个包、查找符号
  • C++ 运算符的优先级和结合性表
  • MySQL中SQL语句的执行过程详解
  • 文心一言4.0免费使用
  • Mongodb安装与配置
  • Java校园跑腿小程序校园代买帮忙外卖源码社区外卖源码
  • MySQL高级-MVCC-基本概念(当前读、快照读)
  • kubernetes给指定用户分配调用k8s的api权限
  • 无人机的弱点和限制
  • ElementUI的基本搭建
  • Modbus TCP与TCP/IP协议间的差异与应用场景
  • Linux Doxygen快速生成文档
  • MobPush REST API的推送 API之批量推送
  • Arthas快速入门
  • python系列30:各种爬虫技术总结
  • PHP和phpSpider:如何应对反爬虫机制的封锁?