Unity AssetBundle 所涉及的CRC

CRC的作用

  • 校验文件是否被篡改过!
    • 加载ab包时使用crc进行校验 比如public static AssetBundle LoadFromFile(string path, uint crc, ulong offset)注意:这里传入的crc,必须得是Unity写入manifest文件中的crc,否则将会因为crc不一致而拒绝加载!

生成/获取

  • Unity提供的获取方式BuildPipeline.GetCRCForAssetBundle(abPath, out crc),
    • 这是直接从ab包对应的manfiest文件中获取的,如果你修改了这个manifest文件中的crc,获取到的crc就是你修改后的结果
  • 生成public int GetCrc32(Stream input),这种方式生成的crc与Unity写入manifest中的crc竟然不一样!
posted @ 2022-12-21 14:00  清风0307  阅读(1321)  评论(0编辑  收藏  举报