实力封装:Unity打包AssetBundle(番外篇)

2024-02-27 04:40

本文主要是介绍实力封装:Unity打包AssetBundle(番外篇),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前情提要:第二种打包方式。

自定义AssetBundle包扩展名

在之前的教程中,我们已经多次提到过扩展名了,并且也已经说明了如何设置自定义的AssetBundle扩展名。至于为什么还要把它单独拿出来说一遍,自然是有它的道理的,因为这里面有一个巨大的坑...

注意,前方有坑。。。

 

根据前面的剧情,我们有三方式可以设置自定义的AssetBundle包扩展名,下面就来一一讲解:

 

一、在Inspector面板中设置扩展名

这种设置AssertBundle包扩展名的方式可能是最简单的方式了,这里我把图片再放一遍↓↓

使用这种方式设置扩展名也有坑的地方,据我的尝试,也不是任意的扩展名都可以的,假如通过这种方式设置了扩展名,但是打包以后却没有看到扩展名,那么就换一个扩展名再试试。

 

二、通过AssetBundleName设置扩展名

意思是什么呢?就是我们在给AssetBundle包设置名字的时候,同时加入扩展名。

假如说,我们给AssetBundle包取名字叫做“MyAssetBundle”,那么这个时候,我们把名字换成“MyAssetBundle,assetbundle”,不用再设置扩展名,直接打包,我们会看到打包出来的AssetBundle包带上了扩展名。

其实这是一种讨巧的方式。用这种方式可以设置任何扩展名,都没有问题,而且可以被正确加载。

 

三、通过AssetBundleBuild.assetBundleVariant设置扩展名

兴许在我心里这种方式设置扩展名才是正统,也不知道为什么会有这种奇怪的念头。

我们可以在上一教程的代码基础上加上这样一句话↓↓

 

buildMap.assetBundleVariant = "assetbundle";
然后点击菜单,运行打包程序,虽然最后打包成功了,编辑器会报错,错误信息是这样的↓↓

 

 

  1. Error: Variant folder path cannot be empty
这是个死活找不出原因的错,明明都打包成功了,哪里报的错??逗我来了吧??

 

 

简直让人崩溃,问度娘,度娘说:我不知道...

哎,无奈之下只好问谷哥了,幸好谷哥给力了一把↓↓

 

 

总算是找到原因了,按照上图的方法添加这几行代码,再次运行打包,就不会再报错了,心好累...

 

 

但是你以为这样就完了??那你就太年轻了...

在添加了上面的代码之后,每次运行后,你设置的信息都会存储到Inspector面板中的这里↓↓还有这里↓↓

 

(用画图打的马赛克,将就着看吧)

 

也不能通过Remove Unused Names把它们删除掉,如果是处女座的话...

 

总结来看,最方便最保险最安全最**的设置AssetBundle后缀名的方式还是第二种方式。

最后非常非常非常感谢这位叫王思元的筒子给出的正解,它的博客里还有很多很多关于AssetBundle包和打包的知识,以及各种报错的解决方案,我只是截取了其中一段,欢迎大家去看看他的博客→→博客链接←←

 

下期见啦~

转载于:https://www.cnblogs.com/huwenya/p/9246232.html

这篇关于实力封装:Unity打包AssetBundle(番外篇)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Python项目打包部署到服务器的实现

《Python项目打包部署到服务器的实现》本文主要介绍了PyCharm和Ubuntu服务器部署Python项目,包括打包、上传、安装和设置自启动服务的步骤,具有一定的参考价值,感兴趣的可以了解一下... 目录一、准备工作二、项目打包三、部署到服务器四、设置服务自启动一、准备工作开发环境:本文以PyChar

Python pyinstaller实现图形化打包工具

《Pythonpyinstaller实现图形化打包工具》:本文主要介绍一个使用PythonPYQT5制作的关于pyinstaller打包工具,代替传统的cmd黑窗口模式打包页面,实现更快捷方便的... 目录1.简介2.运行效果3.相关源码1.简介一个使用python PYQT5制作的关于pyinstall

javafx 如何将项目打包为 Windows 的可执行文件exe

《javafx如何将项目打包为Windows的可执行文件exe》文章介绍了三种将JavaFX项目打包为.exe文件的方法:方法1使用jpackage(适用于JDK14及以上版本),方法2使用La... 目录方法 1:使用 jpackage(适用于 JDK 14 及更高版本)方法 2:使用 Launch4j(

springboot3打包成war包,用tomcat8启动

1、在pom中,将打包类型改为war <packaging>war</packaging> 2、pom中排除SpringBoot内置的Tomcat容器并添加Tomcat依赖,用于编译和测试,         *依赖时一定设置 scope 为 provided (相当于 tomcat 依赖只在本地运行和测试的时候有效,         打包的时候会排除这个依赖)<scope>provided

JavaSE——封装、继承和多态

1. 封装 1.1 概念      面向对象程序三大特性:封装、继承、多态 。而类和对象阶段,主要研究的就是封装特性。何为封装呢?简单来说就是套壳屏蔽细节 。     比如:对于电脑这样一个复杂的设备,提供给用户的就只是:开关机、通过键盘输入,显示器, USB 插孔等,让用户来和计算机进行交互,完成日常事务。但实际上:电脑真正工作的却是CPU 、显卡、内存等一些硬件元件。

哈希表的封装和位图

文章目录 2 封装2.1 基础框架2.2 迭代器(1)2.3 迭代器(2) 3. 位图3.1 问题引入3.2 左移和右移?3.3 位图的实现3.4 位图的题目3.5 位图的应用 2 封装 2.1 基础框架 文章 有了前面map和set封装的经验,容易写出下面的代码 // UnorderedSet.h#pragma once#include "HashTable.h"

封装MySQL操作时Where条件语句的组织

在对数据库进行封装的过程中,条件语句应该是相对难以处理的,毕竟条件语句太过于多样性。 条件语句大致分为以下几种: 1、单一条件,比如:where id = 1; 2、多个条件,相互间关系统一。比如:where id > 10 and age > 20 and score < 60; 3、多个条件,相互间关系不统一。比如:where (id > 10 OR age > 20) AND sco

Unity Post Process Unity后处理学习日志

Unity Post Process Unity后处理学习日志 在现代游戏开发中,后处理(Post Processing)技术已经成为提升游戏画面质量的关键工具。Unity的后处理栈(Post Processing Stack)是一个强大的插件,它允许开发者为游戏场景添加各种视觉效果,如景深、色彩校正、辉光、模糊等。这些效果不仅能够增强游戏的视觉吸引力,还能帮助传达特定的情感和氛围。 文档

Unity协程搭配队列开发Tips弹窗模块

概述 在Unity游戏开发过程中,提示系统是提升用户体验的重要组成部分。一个设计良好的提示窗口不仅能及时传达信息给玩家,还应当做到不干扰游戏流程。本文将探讨如何使用Unity的协程(Coroutine)配合队列(Queue)数据结构来构建一个高效且可扩展的Tips弹窗模块。 技术模块介绍 1. Unity协程(Coroutines) 协程是Unity中的一种特殊函数类型,允许异步操作的实现

android6/7 system打包脚本

1.android5打包system就是网站上常见的制作ROM必备的解包打包system脚本 指令如下:mkuserimg.sh -s out/target/product/$TARGET_PRODUCT/system out/target/product/$TARGET_PRODUCT/obj/PACKAGING/systemimage_intermediates/system.img