Unity中CacheServer(缓存服务器)的部署与使用

发表于2017-12-05
评论0 7.3k浏览

一、 CacheServer介绍
当Unity工程中的一些资源文件被修改后,Unity探测到这些修改就会重新导入这些资源文件,并随后将产生的导入数据以自己的内部格式存放起来。而我们知道导入这些资源文件是很耗时间的,并且不同的平台导入数据也是不同的。 
由此CacheServer就是要将这些产生的导入数据存储起来,当需要的时候直接从CacheServer取出来,而无需Unity本地再次生成导入数据。例如自己导入资源文件时会产生导入数据,自动上传到CacheServer,项目团队中其他成员导入资源文件后Unity不会产生导入数据,而会从CacheServer直接下载这些已经生成好的导入数据,从而大大缩短了大型团队导入资源的时间。使用Cache Server,不同平台之间的切换需要的时间显著减少,从而提高了制作速度。

二、部署CacheServer 
自己用可以部署到自己的主机上,团队用可以考虑找一台主机去部署。CacheServer默认存储最大50GB,主机最好硬盘快,硬盘容量够大,带宽大,最好使用Linux或Mac OSX,the Windows file system is not particularly well optimized for how the Asset Cache Server stores data and problems with file locking on Windows can cause issues that don’t occur on Linux or Mac OSX.

1)到Unity官网下载CacheServer

2)解压缩后 
 
有对应于Linux/Mac OSX/Windows 平台的三个命令脚本,选择自己的平台的命令脚本,我的是Windows,双击之 
 

此时CacheServer便运行起来了,可以使用了。(通过下面三、中可以测试是否自己的Unity连接CacheServer成功。)但是不能关掉这个界面否则会同时关闭CacheServer。

3)我们希望CacheServer开机自动启动同时后台运行。由此需要将RunWin.cmd变成Windows服务开机自动运行。 

三、客户端设置如下(Edit->Preferences) 
1)勾选Use CacheServer 
2)填写部署有CacheServer的主机的IP, 一般是同一地点的成员一起使用同一个CacheServer,不会通过互联网远程使用CacheServer 
3)点击 Check Connection可以测试是否连接CacheServer成功。 

四、哪些改变会导致重新生成导入数据? 
1)资源文件本身的改变 
2)导入操作的设置的改变 
3)Asset importer version 的改变 
4)平台的改变 
对于一个texture: 
1)texture文件本身的改变 myTexture.psd 
2)meta文件myTexture.psd.meta (Stores all importer settings) 
3)The internal version number of the texture importer 
4)A hash of version numbers of all AssetPostprocessors

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引