Version: 2023.2

AssetBundle.RecompressAssetBundleAsync

切换到手册
public static AssetBundleRecompressOperation RecompressAssetBundleAsync (string inputPath, string outputPath, BuildCompression method, uint expectedCRC, ThreadPriority priority);

参数

inputPath 要再压缩的 AssetBundle 的路径。
outputPath 要生成并再压缩的 AssetBundle 的路径。可能与 inputPath 相同。
method 在再压缩期间使用的压缩方法、级别和块大小。仅支持一部分 BuildCompression 类型(请参阅注意事项)。
expectedCRC 要作为测试依据的 AssetBundle CRC。进行此测试需要额外的文件读取和计算。传入 0 可跳过此检查。当源和目标 BuildCompression 相同时,Unity 不计算 CRC,因此不会发生任何 CRC 验证(请参阅注意事项)。
priority 应该执行再压缩操作的优先级。这会设置操作期间的线程优先级,而不影响执行操作的顺序。再压缩操作在后台工作线程上运行。

描述

异步将下载/存储的 AssetBundle 从一个 BuildCompression 再压缩为另一个。

方法必须是名称以 Runtime 结尾的 BuildCompression,例如 LZ4Runtime,否则会抛出 ArgumentException。 当目标 BuildCompression 与源相同时,这会成为内部复制操作,Unity 不计算未压缩数据的 CRC。这种情况下,如果传入非零 expectedCRC,则会引发警告,并且不会发生 CRC 验证。