Я пытаюсь Asset Bundle Build через командную строку, и я могу сделать. С этим кодом:
Object[] selectedAssets = Resources.LoadAll<GameObject>("Prefabs");
Object[] videos = Resources.LoadAll<VideoClip>("Prefabs");
Debug.Log(bundlePath);
Object obje = new Object();
List<Object[]> list = new List<Object[]>();
List<Object[]> listVideo = new List<Object[]>();
for (int i = 0; i < selectedAssets.Length; i++)
{
list.Add(new Object[1]);
list[i][0] = selectedAssets[i];
}
for (int i = 0; i < list.Count; i++)
{
BuildPipeline.BuildAssetBundle(obje, list[i], bundlePath + list[i][0].name, BuildAssetBundleOptions.CollectDependencies | BuildAssetBundleOptions.CompleteAssets , BuildTarget.Android );
}
for (int i = 0; i < videos.Length; i++)
{
listVideo.Add(new Object[1]);
listVideo[i][0] = videos[i];
}
for (int i = 0; i < listVideo.Count; i++)
{
BuildPipeline.BuildAssetBundle(obje, listVideo[i], bundlePath + listVideo[i][0].name, BuildAssetBundleOptions.CollectDependencies | BuildAssetBundleOptions.CompleteAssets , BuildTarget.Android);
}
Когда я пытаюсь в Unity Editor, исходный файл составляет 19,255 МБ, выходной файл - 7,623 МБ.
если я попробую с командной строкой с этим кодом:
C: \ Program Files \ Unity \ Editor \ Unity.exe "-batchmode -createProject" Путь к проекту "-quit
это для создания проекта.
конец:
«C: \ Program Files \ Unity \ Editor \ Unity.exe» -batchmode -projectPath «Путь проекта» -executeMethod CreateAssetBundle.ExportBundle -quit
это выполнение ExportBundle.
Перед тем, как выходной файл станет 17,989mb.
Когда я передаю BuildAssetBundleOptions.ChunkBasedCompression, на этот раз оно становится 34,627 МБ.
Как мне сжать как open и manuel выполнить ExportBundle с командной строкой?