Unity 3D模型展示框架篇之资源打包、加载、热更(Addressable Asset System | 简称AA)_previous build had 'build remote catalog' disabled_yxlalm的博客-程序员宅基地

技术标签: unity  Addressables  游戏引擎  原力计划  # Unity 3D模型展示框架篇  热更新  

本项目将整合之前Unity程序基础小框架专栏在Unity 3D模型展示项目基础上进行整合,并记录了集成过程中对原脚本的调整过程。增加了Asset Bundle+ILRuntime热更新技术流程。

前面文章中对项目功能完成项目框架整合,完成模型展示的基本功能,后续的篇幅主要进行资源热更和代码热更的实现。官方推出的Addressable Asset System进行资源热更简称AA,作者在网上找了不少介绍Addressables系统的文章,经过验证总结结合案例记录Addressables系统的使用经验。

使用AssetBundle形式,加载的时候要注意AB包之间的依赖关系,资源重复打包的问题,做资源热更新也要实现增量资源包的打包,然后自己实现热更检测、资源下载、MD5比对,解压等等逻辑过程繁琐麻烦,Addressable Asset System简化资源热更新的环节使得开发者进行资源热更新变得简单易上手。
项目安装Addressable Asset System,在Package Manager中搜索Addressables
在这里插入图片描述进行安装
在这里插入图片描述进行设置并使用,选择创建Groups
在这里插入图片描述将预制体Switch设置Addressable,可以发现他出现在窗口Addressables Groups进行属性操作。
在这里插入图片描述资源命名
在这里插入图片描述
设置模式
在这里插入图片描述进行构建
在这里插入图片描述构建目录Library\com.unity.addressables\aa\Windows
在这里插入图片描述在这里插入图片描述修改MyGameManager代码改变资源加载方式,使用Addressables进行预制体加载。运行能够加载。

void Start()
    {
        //var tempDD = ResMgr.GetInstance().Load<GameObject>("Prefabs/Switch");

        Addressables.LoadAssetAsync<GameObject>("Switch").Completed += (handle)=> {
            // 预设物体
            GameObject prefabObj = handle.Result;
              GameObject tempDD = Instantiate(prefabObj);
            tempDD.transform.SetParent(parentObj.transform);
            tempDD.name = "Switch";
            camera.LookAt = tempDD.transform;
            camera.Follow = tempDD.transform;
            tempDD.transform.position = new Vector3(5f, 0f, 50f);
            camera.GetRig(1).LookAt = tempDD.transform;
        };
    }

修改预制体,将Cube隐藏
在这里插入图片描述重新构建资源文件
在这里插入图片描述选择.bin文件,平台是Windows打开

在这里插入图片描述此时,报错Previous build had 'Build Remote Catalog' disabled. You cannot update a player that has no remote catalog specified
在这里插入图片描述AddressableAssetSettings
在这里插入图片描述设置和Group信息中的Content Packing&Loading路径一致,修改为远程更新目录
在这里插入图片描述AddressableAssetSettings中的设置
在这里插入图片描述Update a previous Build
在这里插入图片描述配置文件夹中生成更新包

在这里插入图片描述运行结果
在这里插入图片描述
下一步将使用远程服务器进行更新包的发布,程序进行资源更新检测及下载操作。先预览一下效果
请添加图片描述
Unity 3D模型展示框架篇之资源打包、加载、热更(二)

Addressables资源管理推荐文章:https://blog.csdn.net/linxinfa/article/details/122390621

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/yxl219/article/details/126124611

智能推荐

python 6 -- 补文:python3环境搭建_it need python3 environment.-程序员宅基地

Python3 可应用于多平台包括 Windows、Linux 和 Mac OS X。Python3 下载安装Python3 最新源码,二进制文档,新闻资讯等可以在 Python 的官网查看到:Python 官网:https://www.python.org/Unix & Linux 平台安装 Python3:以下为在 Unix & Linux 平台上安装 Python ..._it need python3 environment.

Unity零基础入门 - 打砖块-程序员宅基地

Unity零基础入门 - 打砖块1.Unity介绍

CSS 清除浮动-程序员宅基地

今天这篇文章给大家介绍3种CSS清除浮动的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。首先,这里就不讲为什么我们要清楚浮动,反正不清除浮动事多多。下面我就讲3种常用清除浮动的方法,够用了。文章目录1、在浮动元素后面加一个空的div,并为它清除浮动2、利用BFC特性清除浮动3、使用:after伪元素,给浮动元素的父元素清除浮动1、在浮动元素后面加一个空的div,并为它清除浮动html代码:<div class="wrap"> <div cla

android 自定义方形章,第二十四章 Android 自定义模板-程序员宅基地

1. 概述在读鸿洋大神的博客的时候,看到了自定义模板,然后网上查了一些资料,自己了解学习一下,希望和大家分享。我们在创建项目的时候,看到这样一个界面,这里的初始Activity就是模板中的Activity。自定义模板其实模板不只是只有activity 还包括图片自由 布局文件 fragment service 以及一个类都可以制作成模板。慢慢了解,这里只介绍Activity。Android Stu...

从头学前端-37:在表单中常用的伪类选择器_表单伪类选择器-程序员宅基地

大家好,我是一碗周,一个不想被喝(内卷)的前端。如果写的文章有幸可以得到你的青睐,万分有幸~这是【从头学前端】系列文章的第三十七篇-《在表单中常用的伪类选择器》本系列文章在掘金首发,编写不易转载请获得允许本篇文件介绍关于表单输入的伪类,主要介绍三种常用的,具体如下::enabled和:disabled:read-only和:read-write:checked:enabled和:disabled:enabled和:disabled一这组伪类选择器分别表示禁用状态与可用._表单伪类选择器

随便推点

完美解决远程登录出现身份验证错误,要求的函数不受支持(亲测好用)_发生身份验证错误,给函数提供的标识无效-程序员宅基地

手动修改:登录实例或者本地计算机。单击 开始 > 运行,输入 regedit,单击 确定。定位到HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters 键。如果 CredSSP 或者 Parameters 键不存在,请新建 CredSSP 或者 Parameters 键。..._发生身份验证错误,给函数提供的标识无效

bzoj 1103 POI2007 大都市meg-程序员宅基地

这个题的题面 好难懂。。好吧,这题放了它好几天了树剖应该也可以吧?但是细想想就发现修改一个点只会影响它的子树,所以我们用dfs序来搞定它,用进栈时间和出栈时间搞定它然后树状数组搞一下。感觉区间+1-1很妙啊。今天大学节 ~~想去的地方好难考啊~~#include#include#includeusing namespace std;/

数字图像处理 染色体计数 Python实现_output[:, :, 0][mask] = np.random.randint(0, 255) -程序员宅基地

目录一、实验内容二、实验步骤三、代码四、结果一、实验内容对于下面这幅图像,编程实现染色体计数,并附简要处理流程说明。二、实验步骤1.中值滤波2.图像二值化3.膨胀图像4.腐蚀图像5.计算光影背景6.移除背景7.检测染色体三、代码import cv2import numpy as np# 计算光影背景def calcu..._output[:, :, 0][mask] = np.random.randint(0, 255) indexerror: boolean index

Python爬虫学习记录——17.分布式爬虫_python分布式爬虫项目经历怎么写-程序员宅基地

文章目录分布式系统scrapy_redis分布式实战redis desktop manager软件安装及使用其他的分布式系统分布式系统当爬取内容过多,需要多机合作的时候,就需要用到分布式系统,这节博客讲解一下分布式爬虫的实现。什么是分布式系统分布式系统就是把一些计算机通过网络连接起来,然后协同工作协同工作需要解决两个问题:任务分解把一个问题拆解成若干个独立任务,每个任务在一台节点..._python分布式爬虫项目经历怎么写

莫比乌斯反演套路1_线性筛法_莫比乌斯反演 筛法-程序员宅基地

线性筛法是O(n),不然它就不叫线性。_莫比乌斯反演 筛法