BuildPipeline.BuildAssetBundle 编译资源包

static function BuildAssetBundle (mainAsset : Objectassets : Object[], pathName : string, options : BuildAssetBundleOptions = BuildAssetBundleOptions.CollectDependencies | BuildAssetBundleOptions.CompleteAssetstargetPlatform : BuildTarget = BuildTarget.WebPlayer) : bool

Description描述

Builds an asset bundle (Unity Pro only).

生成一个资源包(仅用于Unity Pro)。

Creates a compressed unity3d file that contains a collection of assets. AssetBundles can contain any asset found in the project folder. This lets you stream resource data of any type, fully setup prefabs, textures, meshes, animations, any type of asset shown in the project window. mainAsset lets you specify a specific object that can be conveniently retrieved using AssetBundle.mainAsset. The compressed asset bundle file will be saved at pathName. options allows you to automatically include dependencies or always include complete assets instead of just the exact referenced objects. All paths are relative to the project folder. Like: "Assets/MyTextures/hello.png"

创建一个压缩的unity3d文件,包含资源的集合。资源包可以包含任何项目文件中的资源。这可以让你流任何类型的资源数据,全部的预置设置,纹理,网格,动画等显示在项目窗口中的任意类型。mainAsset让你指定一个特定对象,可以方便的使用AssetBundle.mainAsset检索。压缩的资源包文件将保持在pathName。options允许您自动包括依赖关系或总是包含完整的资源,而不只是准确引用的对象。所有路径相对于项目文件夹。像: "Assets/MyTextures/hello.png"

参见: AssetBundle 类, WWW.assetBundle.


// C# Example
// Builds an asset bundle from the selected folder in the project view.
// Bare in mind that this script doesnt track dependencies nor is recursive
//在项目视图从选择的文件夹生成资源包
//记住,这个脚本不跟踪依赖关系,也不是递归
using UnityEngine;
using UnityEditor;
using System.IO;

public class BuildAssetBundlesFromDirectory {
	[@MenuItem("Asset/Build AssetBundles From Directory of Files")]
	static void ExportAssetBundles () {
		// Get the selected directory
		//获取选择的目录
		string path = AssetDatabase.GetAssetPath(Selection.activeObject);
		Debug.Log("Selected Folder: " + path);
		if (path.Length != 0) {
			path = path.Replace("Assets/", "");
			string [] fileEntries = Directory.GetFiles(Application.dataPath+"/"+path);
			foreach(string fileName in fileEntries) {
				string filePath = fileName.Replace("", "/");
				int index = filePath.LastIndexOf("/");
				filePath = filePath.Substring(index);
				Debug.Log(filePath);
				string localPath = "Assets/" + path;
				if (index > 0)
				localPath += filePath;
				Object t = AssetDatabase.LoadMainAssetAtPath(localPath);
				if (t != null) {
					Debug.Log(t.name);
					string bundlePath = "Assets/" + path + "/" + t.name + ".unity3d";
					Debug.Log("Building bundle at: " + bundlePath);
					// Build the resource file from the active selection.
					//从激活的选择编译资源文件
					BuildPipeline.BuildAssetBundle
					(t, null, bundlePath, BuildAssetBundleOptions.CompleteAssets);
				}

			}
		}
	}
}


转自:http://game.ceeger.com/Script/BuildPipeline/BuildPipeline.BuildAssetBundle.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值