Unity AssetBundle 所涉及的CRC
CRC的作用
- 校验文件是否被篡改过!
- 加载ab包时使用crc进行校验 比如
public static AssetBundle LoadFromFile(string path, uint crc, ulong offset)
,注意:这里传入的crc,必须得是Unity写入manifest文件中的crc,否则将会因为crc不一致而拒绝加载!
- 加载ab包时使用crc进行校验 比如
生成/获取
- Unity提供的获取方式
BuildPipeline.GetCRCForAssetBundle(abPath, out crc)
,- 这是直接从ab包对应的manfiest文件中获取的,如果你修改了这个manifest文件中的crc,获取到的crc就是你修改后的结果
- 生成
public int GetCrc32(Stream input)
,这种方式生成的crc与Unity写入manifest中的crc竟然不一样!