Unity Asset Bundles-我要部署哪些文件?

时间:2018-10-16 17:04:49

标签: unity3d

我已经按照Unity documentation section on AssetBundle Workflow中的说明从Unity资产中创建了一些资产捆绑包。运行“ Build AssetBundles”命令后,每个资产束将产生四个文件:myasset,myasset.meta,myasset.manifest,myasset.manifest.meta。

现在,我准备将这些捆绑包部署到Web服务器,并在Unity项目中实现下载/缓存。我发现了许多示例,例如this,这些示例将下载URL显示为扩展名为.unity3d的单个文件。这使我得出结论,我错过了一个步骤-我假设应用程序将需要我所有的四个文件,并且我必须要做一些事情才能首先将它们组合成.unity3d文件。

我需要部署哪些文件?准备上传文件之前,我还需要采取其他步骤吗?预先感谢您的任何建议!

2 个答案:

答案 0 :(得分:0)

myasset就足够了。

有时,人们可以选择将.unity3d作为文件扩展名添加到其资产捆绑包中。它只是社区惯例,完全是可选的。 Source(在下面复制)

  

Vincent-Zhang

     

Unity Technologies

     

提醒一下,我们没有用于资产捆绑包的官方文件扩展名“ .unity3d”,这不是强制性的。您可以根据需要使用任何文件扩展名,也可以不使用文件扩展名。

     

但是通常人们只是因为我们第一次在官方示例代码中使用了.unity3d作为文件扩展名...

答案 1 :(得分:0)

Unity为所有资产创建.meta文件-您不必担心这些。简而言之,您的myasset文件就足够了。我没有向我添加文件扩展名。请注意,如果您使用示例中显示的共享策略,则客户端每次都会从服务器重新下载捆绑软件。如果要利用缓存,则需要另外提供版本号。您可以在某些方法重载here中看到这一点,这些重载具有Hash128或uint“ version”参数。缓存很棒,因为您可以使用下一次已保存在设备上的捆绑软件,而不用在没有任何更改的情况下从服务器下载。您提供的版本/哈希号实际上已映射到文件名。只要找到匹配的版本,就会使用磁盘上的文件。当内容更改以迫使客户端重新下载时,将版本号更新为其他版本。

您可能想参考.manifest文件以获取那里列出的CRC值。您可能也注意到了我共享的链接中的crc参数。这可用于确保束数据传输期间的数据完整性。您可以确保下载的内容的CRC与创建时捆绑包的CRC匹配。