我已经按照Unity documentation section on AssetBundle Workflow中的说明从Unity资产中创建了一些资产捆绑包。运行“ Build AssetBundles”命令后,每个资产束将产生四个文件:myasset,myasset.meta,myasset.manifest,myasset.manifest.meta。
现在,我准备将这些捆绑包部署到Web服务器,并在Unity项目中实现下载/缓存。我发现了许多示例,例如this,这些示例将下载URL显示为扩展名为.unity3d的单个文件。这使我得出结论,我错过了一个步骤-我假设应用程序将需要我所有的四个文件,并且我必须要做一些事情才能首先将它们组合成.unity3d文件。
我需要部署哪些文件?准备上传文件之前,我还需要采取其他步骤吗?预先感谢您的任何建议!
答案 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匹配。