打包Assetbundle
using UnityEngine;
using System.Collections;
using UnityEditor;
/// <summary>
/// 脚本位置:Editor文件夹下
/// 脚本功能:打包
/// </summary>
public class CreateAssetBundle : Editor
{
// 打包unity场景文件
[MenuItem("BuildAssetBundle/BuildOutdoor")]
static void BuildOutdoor()
{
// 需要打包的场景名字
string[] levels = { "Assets/Scenes/Shiwai/Outdoor.unity" };
//"Assets/Scenes/Shinie/Indoor.unity",
// 注意这里【区别】通常我们打包,第2个参数都是指定文件夹目录,在此方法中,此参数表示具体【打包后文件的名字】
// 记得指定目标平台,不同平台的打包文件是不可以通用的。最后的BuildOptions要选择流格式
BuildPipeline.BuildPlayer(levels, Application.streamingAssetsPath + "/Outdoor.unity3d", BuildTarget.WebGL, BuildOptions.BuildAdditionalStreamedScenes);
// 刷新,可以直接在Unity工程中看见打包后的文件
AssetDatabase.Refresh();
}
// 打包unity场景文件
[MenuItem("BuildAssetBundle/BuildIndoor")]
static void BuildIndoor()
{
// 需要打包的场景名字
string[] levels = { "Assets/Scenes/Shinie/Indoor.unity" };
//"Assets/Scenes/Shinie/Indoor.unity",
// 注意这里【区别】通常我们打包,第2个参数都是指定文件夹目录,在此方法中,此参数表示具体【打包后文件的名字】
// 记得指定目标平台,不同平台的打包文件是不可以通用的。最后的BuildOptions要选择流格式
BuildPipeline.BuildPlayer(levels, Application.streamingAssetsPath + "/Indoor.unity3d", BuildTarget.WebGL, BuildOptions.BuildAdditionalStreamedScenes);
// 刷新,可以直接在Unity工程中看见打包后的文件
AssetDatabase.Refresh();
}
// 打包unity场景文件
[MenuItem("BuildAssetBundle/BuildMainScene")]
static void BuildMainScene()
{
// 需要打包的场景名字
string[] levels = { "Assets/Scenes/MainScene.unity" };
//"Assets/Scenes/Shinie/Indoor.unity",
// 注意这里【区别】通常我们打包,第2个参数都是指定文件夹目录,在此方法中,此参数表示具体【打包后文件的名字】
// 记得指定目标平台,不同平台的打包文件是不可以通用的。最后的BuildOptions要选择流格式
BuildPipeline.BuildPlayer(levels, Application.streamingAssetsPath + "/MainScene.unity3d", BuildTarget.WebGL, BuildOptions.BuildAdditionalStreamedScenes);
// 刷新,可以直接在Unity工程中看见打包后的文件
AssetDatabase.Refresh();
}
[MenuItem("BuildAssetBundle/BuildAllAssetBundles")]
static void BuildAllAssetBundle()
{
BuildPipeline.BuildAssetBundles(Application.streamingAssetsPath, BuildAssetBundleOptions.None, BuildTarget.WebGL);
AssetDatabase.Refresh();
}
}
打包Assetbundle的更多相关文章
- Unity 5.X扩展编辑器之打包assetbundle
5.x的assetbundle与4.x以及之前的版本有些不同,不过本质是一样的,只不过5.x打包assetbundle更为简单和人性化了,总体来说只需要三个步骤: 第一步:创建打包资源 //这里是一个 ...
- 实力封装:Unity打包AssetBundle(大结局)
→→前情提要:让用户选择要打包的文件←← 大结局:更多选择 Unity打包AssetBundle从入门到放弃系列终于要迎来大结局了[小哥哥表示实在写不动了o(╥﹏╥)o]... 经过上一次的教程,其实 ...
- 实力封装:Unity打包AssetBundle(一)
说明:这是一系列循序渐进的教程,今天先介绍最简单的AssetBundle打包方式. 这是一个由在Unity中需要加载模型而引发出来的一系列坑,为了填坑花了不少时间,如果有需要在Unity中自定义菜单, ...
- Unity手游之路<十一>资源打包Assetbundle
http://blog.csdn.net/janeky/article/details/17652021 在手游的运营过程中,更新资源是比不可少的.资源管理第一步是资源打包.传统的打包可以将所有物件制 ...
- 实力封装:Unity打包AssetBundle(番外篇)
前情提要:第二种打包方式. 自定义AssetBundle包扩展名 在之前的教程中,我们已经多次提到过扩展名了,并且也已经说明了如何设置自定义的AssetBundle扩展名.至于为什么还要把它单独拿出来 ...
- 实力封装:Unity打包AssetBundle(三)
前情提要:第二种打包方式 窗口初现 通过前面的两篇教程和一篇番外,我们已经完全实现了打包的功能.但是使用起来总是觉得有些晦涩别扭,如果不告诉别人怎么使用,对方肯定是一头雾水. What?你给我的这是啥 ...
- 实力封装:Unity打包AssetBundle(二)
→前情提要:Unity最基本的AssetBundle打包方式. 第二种打包方式 Unity提供的BuildAssetBundles API还有一个重载形式,看下面↓↓ public static As ...
- Unity最新版打包AssetBundle和加载的方法
一.设置assetBundleName二.构建AssetBundle包三.上传AssetBundle到服务器四.把AssetBundle放到本地五.操作AssetBundle六.完整例子七.Asset ...
- Unity5.x shader打包AssetBundle总结
最近比较忙,好久没有更新博客了,新项目切换到unity5.x后使用了新的打包机制,在打包shader的时候遇到了一些问题,这里来记录一下吧. 在上一个项目中,我们使用unity4.7,对于shader ...
- 资源打包Assetbundle .
在手游的运营过程中,更新资源是比不可少的.资源管理第一步是资源打包.传统的打包可以将所有物件制成预设Prefab,打包成场景.今天我们来一起学习官方推荐的Assetbundle,它是Unity(Pro ...
随机推荐
- flink学习总结
flink学习总结 1.Flink是什么? Apache Flink 是一个框架和分布式处理引擎,用于处理无界和有界数据流的状态计算. 2.为什么选择Flink? 1.流数据更加真实的反映了我们的生活 ...
- redis cluster 部署
redis cluster 部署 服务器说明 192.168.2.200:7000 ... 192.168.2.200:7005 创建集群目录 mkdir cluster-test cd cluste ...
- jumpserver运行源码
本文运行流程介绍来自jumpserver版本号:v2.23.2 入口文件 run_server.py run_server中通过subprocess.call,用python3运行了同级目录下jms, ...
- Java中类似c语言的printf
System.out.printf("%4d",x); printf("%4d",x); 保留小数点后两位也可以用%.2f 相对来说很好记了 回车用\n
- 注释:MARK与TODO、FIXME
MARK: 在OC中的用法: #pragma mark -说明文字(可以不加-) 在swift中的用法:// MARK: - 说明文字(可以不加-) TODO.FIXME(不区分OC.swift) / ...
- java工厂方法模式学习
简单工厂模式又称为静态工厂模式,实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例.简单工厂模式的创建目标,所有创建的对象都是充当这个角色的某个具体 ...
- 使用ADB拷贝Android设备的文件夹
在当前目录下执行,拷贝到当前目录. 拷贝照片 adb pull sdcard/DCIM 删除照片 adb shell rm -rvf sdcard/DCIM 拷贝图片 adb pull s ...
- synchronized与CAS
参考:java3y<对线面试官> synchronized synchronized是⼀种互斥锁,⼀次只能允许⼀个线程进⼊被锁住的代码块synchronized是Java的⼀个关键字,它能 ...
- 使用 EMQX Cloud 桥接数据到 GCP Pub/Sub
前不久,Google 宣布其旗下的 GCP IoT Core 即将在 2023 年 8 月 16 日停止提供服务.这意味着大量使用 GCP IoT Core 的用户可能需要将他们的 IoT 应用迁移到 ...
- 查找数组中某个元素出现的次数,例如数组arr=[1,2,3,4,3,4,5,3]中target=3出现的次数
1 function(arr,target) { 2 3 let num = 0 4 5 arr.forEach((item, index) => { 6 7 if (item===target ...