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

做博客网站用什么模板什么软件可以找客户资源

做博客网站用什么模板,什么软件可以找客户资源,西安凡高网络,wrodpress做学校网站一、AssetBundle 概述 AssetBundle 是 Unity 用于存储和加载游戏资源(如模型、纹理、预制体、音频等)的一种文件格式。它允许开发者将游戏资源打包成独立的文件,在运行时动态加载,从而实现资源的按需加载、更新以及减小初始安装包…

一、AssetBundle 概述

AssetBundle 是 Unity 用于存储和加载游戏资源(如模型、纹理、预制体、音频等)的一种文件格式。它允许开发者将游戏资源打包成独立的文件,在运行时动态加载,从而实现资源的按需加载、更新以及减小初始安装包大小等功能。

用途:

减小初始安装包大小:将部分资源(如非首发场景资源、后期更新资源)以 AssetBundle 形式打包,不在初始安装包中包含,降低安装包体积。
资源动态更新:在游戏发布后,可以通过下载新的 AssetBundle 文件来更新游戏资源,无需发布新的游戏版本,实现快速迭代和内容更新。
资源复用:多个场景或项目可以共享相同的 AssetBundle 资源,提高资源利用效率。

二、AssetBundle 的创建

1. 资源标记

1.在 Unity 编辑器中,通过 Inspector 面板为需要打包进 AssetBundle 的资源设置 AssetBundle 名称和变体(Variant)。变体可用于区分不同平台、画质等级等版本的资源。
2.通过脚本方式设置。
代码:使用AssetImporter设置ab包名和变体名,可以设置没有提前配置的包名和变体名

public static class AssetBundleSetter
{[MenuItem("Tools/Set AssetBundle Name")]static void SetAssetBundleName(){// 获取资源路径string assetPath = "Assets/Res/buffIcon_Speed.png";// 获取资源的 AssetImporterAssetImporter importer = AssetImporter.GetAtPath(assetPath);if (importer != null){// 设置 AssetBundle 名称和变体importer.assetBundleName = "obj1";  // 主名称importer.assetBundleVariant = "unity3d";       // 变体后缀// 保存设置importer.SaveAndReimport();Debug.Log($"已设置: {assetPath} -> {importer.assetBundleName}.{importer.assetBundleVariant}");}else{Debug.LogError($"资源不存在: {assetPath}");}AssetDatabase.Refresh(); // 刷新数据库}
}

注:变体(Variant)是什么?
变体是与其一起存储的 AssetBundle 的选项或子类,允许同一组资源的不同变体(如高清/标清材质、多语言文本)共享相同的加载逻辑,运行时动态选择合适版本。

2.构建 AssetBundle

使用BuildPipeline.BuildAssetBundles方法来构建 AssetBundle。此方法需要指定输出路径、构建选项和目标平台。
代码:

public class BuildAssetBundle : MonoBehaviour
{[MenuItem("Tools/Build AssetBundles")]static void BuildAllAssetBundles(){string assetBundleDirectory = "Assets/AssetBundles";if (!Directory.Exists(assetBundleDirectory)){Directory.CreateDirectory(assetBundleDirectory);}BuildPipeline.BuildAssetBundles(assetBundleDirectory,BuildAssetBundleOptions.None,BuildTarget.StandaloneWindows);}
}

结果:

 

3.资源分组 

1.逻辑实体分组

逻辑实体分组是指根据资源所代表的项目功能部分将资源分配给 AssetBundle。这包括各种不同部分,比如用户界面、角色、环境以及在应用程序整个生命周期中可能经常出现的任何其他内容。非常适合于可下载内容 (DLC),因为通过这种方式将所有内容隔离后,可以对单个实体进行更改,而无需下载其他未更改的资源。

逻辑实体分组例如:
1.用户界面屏幕的所有纹理和布局数据。
2.一个/一组角色的所有模型和动画。
3.在多个关卡之间共享的景物的纹理和模型。

2.类型分组

相似类型的资源(例如音频轨道或语言本地化文件)分配到单个 AssetBundle。

3.并发内容分组

需要同时加载和使用的资源放到一个AssetBundle。可以将这些类型的捆绑包用于基于关卡的游戏(其中每个关卡包含完全独特的角色、纹理、音乐等)。最常见的用例是针对基于场景的AssetBundle包。在此分配策略中,每个场景AssetBundle包应包含大部分或全部场景依赖项。

注:以下
1.将频繁更新的对象很少更改的对象拆分到不同的 AssetBundle 中
2.将可能同时加载的对象分到一组。例如模型及其纹理和动画
3.如果发现多个 AssetBundle 中的多个对象依赖于另一个完全不同的 AssetBundle 中的单个资源,请将依赖项移动到单独的 AssetBundle。如果多个 AssetBundle 引用其他 AssetBundle 中的同一组资源,一种有价值的做法可能是将这些依赖项拉入一个共享 AssetBundle 来减少重复。
4.如果不可能同时加载两组对象(例如标清资源和高清资源),请确保它们位于各自AssetBundle 中,即分到两个包里
5.如果一个 AssetBundle 中只有不到 50% 的资源经常同时加载,请考虑拆分该捆绑包,即加载后使用时有冗余部分,请拆分AB包
6.考虑将多个小型的(少于 5 到 10 个资源)但经常同时加载内容的 AssetBundle 组合在一起。
7.如果一组对象只是同一对象的不同版本,请考虑使用 AssetBundle 变体。

三、AssetBundle 的加载与卸载

四、AssetBundle 的依赖管理

五、AssetBundle 的版本控制

未完待续。。。

参考:

《Unity3D游戏开发第三版》

AssetBundle - Unity 手册

AssetBundle 简介 - 2019.4 - Unity Learn

资源、资源和 AssetBundle - Unity Learn

AssetBundle 简介 - 2019.4 - Unity Learn

http://www.dtcms.com/wzjs/488803.html

相关文章:

  • 专业简历制作网站模板什么是口碑营销
  • 网上书店网站建设目标信阳百度推广公司电话
  • 哪里有做响应式网站的福州关键词搜索排名
  • 东莞网络杭州seo中心
  • wordpress照片墙百度快照优化排名推广怎么做
  • golang 做网站北大青鸟职业技术学院简介
  • 网站权重高 做别的关键词seo国外英文论坛
  • 网站的建设思想百度公司总部
  • 网站建设的电销体育热点新闻
  • 网站首页的概念bt磁力天堂torrentkitty
  • 个人备案的网站做企业站网站404页面怎么做
  • 别人在百度冒用公司旗号做网站下载百度app到手机上
  • 如何做网站导航栏的seo优化我为什么不建议年轻人做运营
  • 做网站赚钱的案例谷歌搜索引擎seo
  • 模板网站和定制网站后缀的区别南京百度推广
  • 外贸电商做俄罗斯市场网站网络网站推广
  • 做色流网站要注意什么地方seo的理解
  • 滨海营销型网站建设指数函数和对数函数
  • 余杭政府门户网站平安建设标语百度广告一级代理
  • 用什么软件可以做网站温州云优化seo
  • 惠州网站建设 鑫谷歌三件套一键安装
  • 微网站建设包括哪些方面登封网络推广公司
  • 安徽泗县建设银行网站武汉java培训机构排名榜
  • 自己动手制作网站广州网页seo排名
  • 中国城乡住房和建设部网站东莞seo网站管理
  • 微网站的建设上海搜索引擎优化公司
  • wordpress不显示网站标题长沙网站关键词排名公司
  • 网站输入字符 显示出来怎么做免费的舆情网站
  • 电商设计平台佛山seo优化外包
  • 还有那个网站可以做兼职呢福州网站排名