Unity5自动命名Assetbundle并打包】的更多相关文章

http://www.shihuanjue.com/?p=57 using UnityEngine; using System.Collections; using UnityEditor; using System.IO; /// <summary> /// 把Resource下的资源打包成.unity3d 到StreamingAssets目录下 /// </summary> public class Builder : Editor { public static string…
(1)新版本 唯一打包API Buildpipeline.BuildAssetBundle (2)在资源的Inpector界面最下方可设置该资源的assetbundleName, 每个assetbundleName对应一个Bundle,即assetbundleName相同的资源会打在一个Bundle中. (3),我们还可以在Inpector中设置另一个名字,即variant(变体).在打包时,variant会作为后缀添加在assetbundleName之后.(差异区分,例如相同名字的Normal…
一.什么是AssetBundle 估计很多人只知道Unity的模型之类的东西可以导出成一种叫做AssetBundle的文件,然后打包后可以在Unity程序运行的时候再加载出来用.那么AssetBundle是一个什么样的东西呢? 其实AssetBundle只是一种使用LZMA压缩方式压缩的资源文件.具体LZMA是什么请百度,你可以理解成就是一种压缩文件就行了,至于它的后缀名是什么,一点关系都没有,你可以自己定. AssetBundle打包的时候,你可以指定一个mainAsset,那么加载完之后就可…
之前说了 “Unity5.x版本AssetBundle打包研究”,没看过的请先看一下:http://www.shihuanjue.com/?p=57 再来看本文,有一定的连接性. 先梳理一下思路: 要加载一个资源A,必须先去加载它的所有依赖资源 要知道这个资源A依赖了哪些资源,必须先去加载AssetBundleManifest 通过AssetBundleManifest对象的GetAllDependencies(A)方法,获取它依赖的所有资源. 依赖资源都加载了,就可以去真正加载资源A了. 注意…
AssetBundle资源打包  1.AssetLabels资源标签 文件名:资源打包成AssetBundle后的文件名,类似于压缩包的名字 后缀:自定义 文件名和后缀名都是小写格式(大写会自动转为小写)2. BuildPipeline.BuildAssetBundles(string outputPath, BuildAssetBundleOptions assetBundleOptions, BuildTarget targetPlatform) 打包所有设置了AssetLabel的资源 o…
前面我们研究了AssetBundle的打包与加载,现在我们来了解下如何在项目中根据版本号更新内容. 最最重要的一点,细心的朋友应该看到了在加载AssetBundle的MrcAssetManager类中,我们使用的WWW加载对象可以使用WWW.LoadFromCacheOrDownload方法,其中第一个参数是资源的url,第二个参数则是我们的要加载的版本号,我们将通过这个版本号决定是不是要重新从服务器上下载.因此,我们需要在本地和服务器上分别建立一个版本配置文件,里面包含了版本号.资源大小.更新…
1.maven-source-plugin 访问地址 在 pom.xml 中添加 下面的 内容,可以 使用 maven 生成 jar 的同时 生成 sources 包 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>3.0.0</version> <!-…
Unity5的AssetBundle打包机制和以前版本不太一样.简单的说就是,只要给你要打包的资源设置一个AssetBundleName ,Unity自身会对这些设置了名字的资源进行打包,如果一个资源依赖了另一个资源.Unity自己会处理依赖关 系,AssetBundleManifest文件就保存着这些资源的依赖关系. 比如一个UI面板.Prefab,依赖了一个图集Atlas,一个字体文件 做个测试: 只给UI面板3.prefab设置AssetBundleName. 打出包来看,别看只有371K…
using UnityEngine; using System.Collections; using UnityEditor; /// <summary> /// 脚本位置:Editor文件夹下 /// 脚本功能:打包 /// </summary> public class CreateAssetBundle:Editor { // 打包unity场景文件 [MenuItem("Assets/Build AssetBundle Scene")] static v…
资源管理是游戏开发的重要环节,Unity中使用AssetBundle可以非常方便地帮我们打包和更新游戏内容,在5系列中,AssetBundle更是方便好用,现在让我们先进行打包吧. 刚说了,5系列打包非常方便,细心的同志可能已经发现,在右下角多出了个AssetBundle标签工具栏,这使用得我们在选择要打包的文件时,不必再像4系列中一样要在Editor运行库脚本中写一堆取得对象的代码了.那么,这个工具栏是怎么帮我们解决问题的呢?很简单,选中我们的需要的打包的资源(包括场景哦),然后在工具栏编辑和…
static string testDir = "Assets/LuaScripts/"; [MenuItem("测试/lua命名")] public static void MakeLuaBundleNames() { //获取testDir路径下的所有文件 foreach (var filepath in Directory.GetFiles(testDir, "*.*", SearchOption.AllDirectories)) { //…
1.概览 Unity3D 5.0版本之后的AssetBundle机制和之前的4.x版本已经发生了很大的变化,一些曾经常用的流程已经不再使用,甚至一些老的API已经被新的API所取代. 因此,本文的主要内容就是分析5.X版本的AssetBundle机制(包括创建资源包.压缩资源包.加载资源包和从资源包中加载/卸载资源等几个方面)及其关键的API使用方式并总结一些对项目的建议(例如根据不同的情景,选择不同的包体加载方案等等). 2.AssetBundle系统的新功能 2.1.AssetBundle系…
Resources在Unity中可以使用www类加载远程文件或本地文件,或是在脚本中定义字段或数组从外部拖入. 在Unity中提供了Resources类读取资源要通过Resources类读取的文件必须将要读取的文件放到Assets下创建的Resources(名字唯一)文件夹下.    在脚本中通过Resources类的方法可直接加载Resources文件夹中的数据 1.通过名称获取资源Resources.Load("文件名");2.通过名称获取指定类型的资源(泛型方法)Resource…
今天打包带广告插件的安卓包,出现了问题 ,上网找了很多解决的办法.整理一下. 1,有的说法是unity5的BUG  因为同一个项目 用unity4.6打包就没问题 到5就出问题,当然 姑且可以这么认为吧,不过 已经完成的unity5的项目再回到unity4.6去打包也不现实. 2,机器上存在多版本sdk导致的,这个原因我也信了一次,道理说得通,而我卸载掉其他版本的sdk之后的确打包成功过一次.可是..之后又出了问题. 3,这个位置先占着,等我确定了我的这个方法是可以通行的再放上来,r......…
1.安装svn yum install subversion 2.安装 maven 下载:百度云盘地址为 http://pan.baidu.com/s/1nuKQGjv 解压 tar -zxvf apache-maven-3.0.5-bin.tar.gz -C /apps/svr/maven/apache-maven-3.0.5 3.配置maven环境变量 export MAVEN_HOME=/apps/svr/maven/apache-maven-3.0.5export PATH=${MAVE…
在生成AssetBundle的时候,如果目标平台和当前平台不一致,Unity3D会自动将当前平台转换为目标平台. 如果项目中资源量比较大,这个转换过程是相当漫长的,并且不能够强行中止. 所以最好在BuildPipeline之前进行平台一致性检测,代码如下所示: public static bool CheckPlatform(UnityEditor.BuildTarget target) { if (EditorUserBuildSettings.activeBuildTarget != tar…
上次我们进行了AssetBundle打包,现在我们还把打包的资源加载到我们的游戏中.在加载之前,我们需要把打包好的Bundle包裹放到服务器上,如果没有,也可以使用XAMPP搭建本地服务器. 加载的AssetBundle文件是放在内存中的,所以如果没有很好的管理,会使游戏性能大打折扣,因此,我们在这里最好使用缓存策略. 我们的AssetBundle: using System; using UnityEngine; namespace MrCAssetFramework { public sea…
一.目的 在部门的测试环境中,开发人员一旦向gitlab仓库提交成功代码,gitlab就会自动触发jenkins构建项目.当然在构建后还可以添加项目部署或者自动化测试的脚本.这里只针对测试环境. 二.Jenkins配置 2.1 安装Gitlab Hook Plugin插件: 系统管理->管理插件->可选插件->选择安装 Gitlab Hook Plugin和Build Authorization Token Root Plugin插件. 如果没有安装Build Authorization…
在Unity项目开发过程中,当要做热更新时常常使用一个叫做AssetBundle的东西,这里做一点个人的学习记录 步骤1: 设置打包标签:具体步骤----进入Unity,选择某一资源然后看右下角,在那个地方做这个事情 步骤2: 打对应平台的Bundle包, 这里或多或少要用到一点编辑器扩展的内容,很简单,这里就不介绍编辑器扩展的内容了. using System.Collections; using System.Collections.Generic; using UnityEngine; u…
切换root用户 sudo su - 1.安装svn,mysql yum install subversion yum install mysql 2.安装 maven 下载:百度云盘地址为 http://pan.baidu.com/s/1nuKQGjv 解压 tar -zxvf apache-maven-3.0.5-bin.tar.gz -C /apps/svr/maven/apache-maven-3.0.5 3.配置maven环境变量 export MAVEN_HOME=/apps/svr…
引言:Xcode8 之后引用Automatic manage signing .对于开发者而言,在证书上栽的坑肯定不少. 准备:1.开发者账号是必须的吧. 2. Xcode设置account  (不给Xcode说你的账号,怎么找你的证书和app信息) 3.开发者账号,如图依次次设置,具体设置内容简单说一下 从上到下需要设置依次是开发证书.app标识.机型. pp证书. 大家可以这样理解,苹果APP用开发者账号的目的是什么,就是为了限制不给钱的不能开发,APP不能上线,真机不能测试. 然而这四个东…
1.Linux中的重命名文件使用mv命令 touch a.txt 新建一个文件 mv a.txt b.txt 重命名文件为b.txt mkdir abc 新建一个目录 mv abc abd 重命名文件夹 mv abd abf/ 移动目录到abf目录下 使用时注意文件夹中的重名情况 2.websphere服务器发布的程序支持EAR, WAR, JAR, or SAR,由于一个当前项目给的是war包,解包修改配置文件后,需要打包成war,但是用普通压缩软件,修改后缀,在服务器中并不能部署 所以考虑使…
没有指令操作的属性生产环境,有指令操作的属于开发环境 webpack:输入指令后,便会自动开启一个浏览器 需要插件:open-browser-webpack-plugin 生产环境 想使用 node.js 中 path 的方法, var path=require("path") 路径操作 path.resolve() 方法将路径变成绝对路径, 参数(__dirname,"./目录"),  意思为 把当前目录放在哪个目录下 在自动启动服务器的时候,webpack-de…
如何给模型中的需求元素配置计数器以自动设置新创建元素的名称和别名: Configure -> Settings -> Auto Names and Counters 设置好后的效果图:…
服务器上必须安装了git maven jdk 并且配置好环境变量 实际服务器中可能运行着多个Java进程,所以重新部署的时候需要先停止原来的java进程,写一个按照名称杀死进程的脚本 kill.sh #!/bin/sh function PidFind()   {   PIDCOUNT=`ps -ef | grep $1 | grep -v "grep" | grep -v $0 | awk '{print $2}' | wc -l`;   if [ ${PIDCOUNT} -gt 1…
这里先准备一个配置文件,用于保存svn地址.目的路径.用户名跟密码 配置文件名问:toolConfig.properties #svn地址 svnAddress=https://192.168.1.253/[yourPath] #本地路径(目的地址) localDir=E:\shelltest #svn用户名 userName=jack #svn密码 password=123456 对应shell脚本 #!/bin/bash source ./toolConfig.properties svn_…
Unity5.3更新了assetbundle的打包和加载api,下面简单介绍使用方法及示例代码. 在Unity中选中一个prefab查看Inspector窗口,有两个位置可以进行assetbundle的标记. 第一个为assetBundleName,如果这里不是None,则这个资源会记录到AssetDatabase里,使用BuildAssetBundles打包时,会自动将AssetBundleName一致的资源打到一个包中. 第二个为Variant,可用于区分不同分辨率的资源.如果在abName…
原地址:http://blog.csdn.net/huang7jiao/article/details/18370653 需求: 在移动开发中,手动控制资源的加载.释放和热更新,是很有必要的. 而Unity通过AssetBundle可以实现该需求,但是如果项目资源多起来的话一个个手动打包成AssetBundle则很麻烦. 而本文正为此提供一套一键打包的方案. 资源分类.加载和实例化过程: 分类资源: 先将游戏资源分类,这里说的分类不是按资源类型(声音.贴图等)来分,而是按照打包进同一个Asset…
最近比较忙,好久没有更新博客了,新项目切换到unity5.x后使用了新的打包机制,在打包shader的时候遇到了一些问题,这里来记录一下吧. 在上一个项目中,我们使用unity4.7,对于shader并没有进行依赖打包,而是由unity打包到了每个用到的AssetBundle中去,其实这样是“很不科学的”.这样不仅增加了ab的总体积,而且还会在运行时产生很多的shader实例,增加很多的显存占用.所以我们决定把自定义的shader打包成一个AssetBundle. 用到的工具: 1.UnityS…
之前曾经写了一篇博客介绍Unity5的AssetBundle,结果似乎很受关注.不过似乎很多人看了之后都不懂,主要是因为不太明白AssetBundle是什么,它的依赖关系和结构是什么的,就直接想拿代码去用,而导致了很多人说看不懂啊,说什么有错误啊,诸如此类.我想了一下,还是应该从最基础的东西说起,不厌其烦的说,才会省去大家加我QQ问问题了,毕竟平时上班忙,看到一些人把我当翻译词典查,我肯定会态度不好的. 一.什么是AssetBundle 估计很多人只知道Unity的模型之类的东西可以导出成一种叫…