设置 Asset Server

旧版 Asset Bundle

缓存服务器

重要信息:缓存服务器 (Cache Server) 仅支持资源导入管线 (Asset Import Pipeline) 版本 1。如果您使用的是资源导入管线版本 2,请改用 Unity Accelerator。

Unity 有一个完全自动的资源管线。每当修改 .psd 或 .fbx 文件等源资源时,Unity 都会检测到更改并自动将其重新导入。随后,Unity 以内部格式存储从文件导入的数据。

这种安排旨在使工作流程对于个人用户而言尽可能高效和灵活。但是,在团队中工作时,可能会发现其他用户可能会继续对资源进行更改,所有这些更改都必须导入。此外,在桌面和移动构建目标平台之间切换时,必须重新导入资源。因此,该切换对于大型项目而言可能需要很长时间。

在__缓存服务器__上缓存导入的资源数据可以大大减少导入资源所需的时间。

Unity 在每次导入资源时基于以下内容进行缓存:

资源文件本身

导入设置

资源导入器版本

当前平台

如果以上任何内容更改,Unity 都会重新导入资源。否则,Unity 从缓存服务器下载资源。

使用缓存服务器时,甚至可以跨多个项目共享资源导入(即,在一台计算机上完成导入工作,结果将与其他计算机共享)。

注意:一旦设置并启用了缓存服务器,此过程就是完全自动的,因此没有其他工作流程要求。缓存服务器可减少导入项目所需的时间,无需用户进一步干预。

启用缓存服务器

要启用缓存服务器,请执行以下操作:

1.打开 Unity Preferences 窗口(在 MacOS 上选择主菜单:__Unity__ > Preferences__,或在 Windows 和 Linux 上选择Edit__ > Preferences__)。

2.从左侧的类别列表中选择 Cache Server。Cache Server 设置将显示在右侧的详细信息面板中。

3.从Cache Server Mode__ 下拉框中选择 Remote 或 Local。随后将显示所选模式特有的属性。

4.设置所选模式的 Cache Server 偏好设置。

提示:由于硬盘驱动器大小限制,如果可能,最好在单独的计算机上托管缓存服务器。

注意:如果本地缓存服务器具有自定义位置,但该位置变为不可用,Unity 将显示以下警告:

Local cache directory does not exist - please check that you can access the cache folder and are able to write to it

以管理员身份设置__缓存服务器__

管理员需要设置托管缓存资源的__缓存服务器__计算机。

要在远程服务器上设置缓存服务器,请执行以下操作:

1.下载缓存服务器:

* 打开 Unity 的下载存档 (Download Archive) 页面。

* 找到所使用的 Unity 版本,然后单击目标服务器操作系统的 Downloads 按钮。

* 单击缓存服务器 (Cache Server) 链接开始下载。

2.解压缩文件,结果如下所示:

3.运行与操作系统匹配的命令脚本。

随后将出现一个终端窗口,其中显示缓存服务器正在后台运行:

重要信息:缓存服务器需要位于具有大型存储的可靠计算机上(远大于项目本身的大小,因为会存储多个版本的导入资源)。如果硬盘已满,缓存服务器可能会运行缓慢。

将缓存服务器安装为服务

必须将提供的 .sh 和 .cmd 脚本设置为服务器上的服务。

缓存服务器可以随时安全地终止和重新启动,因为它使用原子文件操作。

新版和旧版缓存服务器

默认情况下启动两个缓存服务器进程。旧版缓存服务器适用于 5.0 之前的 Unity 版本。新版缓存服务器适用于 5.0 和之后的 Unity 版本。有关配置、启用和禁用两个不同缓存服务器的详细信息,请参阅下面的缓存服务器配置。

缓存服务器配置

如果通过执行脚本直接启动,将在端口 8125 上启动旧版缓存服务器,而在端口 8126 上启动新版缓存服务器。此外还会在与脚本相同的目录中创建“cache”和“cache5.0”目录,并在其中保存数据。默认情况下,缓存目录最多可增长到 50 GB。可以使用命令行选项配置数据的大小和位置,如下所示:

./RunOSX.command --path ~/mycachePath --size 2000000000

或者

./RunOSX.command --path ~/mycachePath --port 8199 --nolegacy

可以使用以下命令行选项配置缓存服务器:

使用 --port 指定服务器端口。这仅适用于新版缓存服务器。默认值为 8126。

使用 --path 指定缓存位置的路径。这仅适用于新版缓存服务器。默认值为 ./cache5.0。

使用 --legacypath 指定缓存位置的路径。这仅适用于旧版缓存服务器。默认值为 ./cache。

使用 --size 指定两个缓存服务器的最大缓存大小(以字节为单位)。超过此缓存大小时,将自动丢弃最近未使用的文件。

使用 --nolegacy 禁止启动旧版缓存服务器。否则,旧版缓存服务器会在端口 8125 上启动。

托管缓存服务器的计算机的要求

为获得最佳性能,必须有足够的 RAM 来容纳整个导入的项目文件夹。此外,计算机最好配备快速硬盘驱动器和快速以太网连接。硬盘驱动器还应该有足够的可用空间。另一方面,缓存服务器的 CPU 使用率非常低。

缓存服务器和版本控制系统之间的主要区别之一是其缓存的数据始终可以在本地重建。它只是一种提高性能的工具。因此,在互联网上使用缓存服务器是没有意义的。如果是分布式团队,应在每个位置放置单独的缓存服务器。

缓存服务器在 Linux 或 Mac OS X 计算机上的运行效果最好。Windows 文件系统没有针对缓存服务器的数据存储方式进行很好的特别优化,并且 Windows 上的文件锁定问题可能会导致一些在 Linux 或 Mac OS X 上不会出现的问题。

关于缓存服务器的常见问题解答

随着导入和存储的资源越来越多,缓存服务器数据库的大小会无限增长吗?

缓存服务器会自动删除一段时间未使用的资源(当然,如果再次需要这些资源,则会在下次使用时重新创建这些资源)。

缓存服务器是否仅适用于资源服务器 (Asset Server)?

根据设计,缓存服务器对源代码/版本控制系统而言是透明的,因此不局限于使用 Unity 的资源服务器。

哪些更改会导致重新生成导入的文件?

当 Unity 即将导入资源时,它会生成所有源数据的 MD5 哈希值。

对于纹理,这包括:

源资源:“myTexture.psd”文件

元文件:“myTexture.psd.meta”(存储所有导入器设置)

纹理导入器的内部版本号

如果该哈希值与缓存服务器上存储的哈希值不同,则重新导入资源。否则,将下载缓存版本。客户端 Unity Editor 仅在需要时从服务器中拉取资源 - 资源在更改时不会被推送到每个项目。

如何使用资源依赖项?

缓存服务器不处理依赖项。Unity 的资源管线不处理依赖项的概念。根据设计,它会避免资源之间的依赖关系。AssetPostprocessor 类是一种用于自定义资源导入器来满足需求的常用技术。例如,有时可能希望将网格碰撞体添加到 .fbx 文件中的某些游戏对象(基于名称或标签)。

使用 AssetPostprocessor 来引入依赖项也很容易。例如,可以使用资源旁边的文本文件中的数据向导入的游戏对象添加其他组件。缓存服务器不支持此功能。如果要使用缓存服务器,必须去除对项目文件夹中其他资源的依赖。由于缓存服务器对后处理器中的依赖项一无所知,因此它不知道是否任何内容已发生更改,因此会使用资源的旧缓存版本。

在实践中,可以通过多种方式进行资源后期处理,以便与缓存服务器配合使用。可以使用:

已导入资源的路径

资源的任何导入设置

源资源本身或在其基础上生成的任何数据(在资源后处理器中传递给您)。

使用材质时是否有任何问题?

修改已存在的材质可能会导致问题。使用缓存服务器时,Unity 会验证是否维持了对材质的引用,但由于不会调用后期处理调用,因此在通过缓存服务器导入模型时无法更改材质的内容。因此,使用和不使用缓存服务器进行导入可能会得到不同的结果。

不要从资源后处理器修改磁盘上已存在的材质,因为如果通过缓存服务器下载 fbx 文件,则不会运行导入过程。所以,如果每次运行模型导入器时需要将生成的材质重置为某些生成的默认值,则在导入缓存的 fbx 文件时将不会运行此资源后处理器。

是否有任何资源类型不会被服务器缓存?

有几种类型的资源数据不会被服务器缓存。对脚本文件进行缓存实际上不会带来任何好处,因此服务器会忽略它们。此外,3D 建模软件(Autodesk® Maya®、Autodesk® 3ds Max® 等)使用的原生文件将由应用程序本身转换为 FBX。资源服务器不会缓存原生文件,也不会缓存导入过程中生成的中间 FBX 文件。但是,通过从建模软件导出文件作为 FBX,然后将这些文件添加到 Unity 项目,也许可从该服务器受益。

2018–11–09 页面已修订

设置 Asset Server

旧版 Asset Bundle

unity 缓存服务器_缓存服务器相关推荐

  1. @cacheable 是否缓存成功_缓存策略:如何使用缓存来减少磁盘IO?

    现代的消息队列,都使用磁盘文件来存储消息.因为磁盘是一个持久化的存储,即使服务器掉电也不会丢失数据.绝大多数用于生产系统的服务器,都会使用多块儿磁盘组成磁盘阵列,这样不仅服务器掉电不会丢失数据,即使其 ...

  2. 启动php-fpm服务器_无服务器冷启动不是问题-这就是为什么(对于大多数应用程序)...

    启动php-fpm服务器 从无服务器开始时,您很快就会学习/听到有关函数冷启动的信息(我相信无服务器=云功能+ API ). 首次调用云功能时或长时间不调用后会发生冷启动. 基本上,服务器(是的,有服 ...

  3. java web 大并发服务器_计算-服务器最大并发量-http协议请求-以webSphere服务器为例-考虑线程池...

    请求的处理流程 广域网上有大量的并发用户同时访问web服务器,web服务器传递请求给应用服务器(web容器),web容器传递请求给ejb容器,然后ejb容器发送数据库连接请求给数据库. 请求的处理流程 ...

  4. 浅谈SpaceBuilder系统的缓存机制_缓存思想

    在前面的文章中也提及到为了提高系统的性能,SpaceBuilder在内部做了大量的工作,而数据缓存就是其中非常高效的处理方式. 我们知道SpaceBuilder采用了多层架构的处理模式,数据通过业务实 ...

  5. 因特网MySQL服务器_因特网服务器的主要功能

    <计算机网络:自顶向下方法(原书第6版)>一2.4 因特网中的电子邮件 本节书摘来华章计算机<计算机网络:自顶向下方法(原书第6版)>一书中的第2章 ,第2.4节,(美)Jam ...

  6. 二级缓存失效_缓存核心技术:缓存穿透、缓存并发、缓存失效之思路变迁

    在用缓存的时候,基本上会通用遇到以下三个问题: 缓存穿透 缓存并发 缓存失效 一.缓存穿透 上面三个图会有什么问题呢? 我们在项目中使用缓存通常都是先检查缓存中是否存在,如果存在直接返回缓存内容,如果 ...

  7. 名图怎么弄云服务器_云服务器购买了宽带的速度怎么测试?

    西昆云详细说一下企业租用云服务器搭建网站,很多新手站长会把带宽当成宽带来测试,比如在自己的云服务器上下载东西测试速度,一旦下载的东西慢了就觉得有问题,其实这是不准确的,那么如何查看云服务器的带宽速度呢 ...

  8. 云服务器_整体服务器与微服务

    云服务器 介绍 刚开始时,由于要求简单,所以应用程序既简单又小. 随着时间的要求和需求的增长,我们的应用程序变得越来越大,越来越复杂. 这导致了将单片服务器开发和部署为一个单元. 在某种程度上,微服务 ...

  9. u盘安装浪潮服务器_浪潮服务器NF84260M3安装Windows server 2012 R2

    浪潮服务器NF U盘启动,光盘刻录 Windows server 2012 R2 镜像,地址:迅雷下载,ed2k://|file|cn_windows_server_2012_r2_x64_dvd_2 ...

最新文章

  1. UVa307 - Sticks(DFS+剪枝)
  2. 目前市场上有没有年化收益在7%以上,而且保本保息的理财?
  3. Php如何过360拦截,PHP常见漏洞修复文件-360漏洞修复插件
  4. Spring Boot EasyPoi导出Excel下载
  5. wireshark-win64-3.4.0安装_轴承安装规范
  6. 客座编辑:吴东亚(1972-),女,中国电子技术标准化研究院信息技术研究中心高级工程师、副主任,国家OID注册中心副主任。...
  7. 【文献阅读】Self-Normalizing Neural Networks
  8. Anaconda下载的包在Spyder内导入报错
  9. MDK5 (Keil5)注册机破解
  10. wpsoffice安卓历史版本_wps office移动版_wps office手机版下载-太平洋下载中心
  11. Filenet公布首批候选自治社区
  12. 巨额商誉,谁来买单?
  13. Javase02标识符,关键字和基本数据类型
  14. js以excel为模板的打印
  15. 低照度图像 颜色恢复 matlab,低照度图像修复方法总结
  16. hadoop 学习路线
  17. Show 与 ShowModal 区别
  18. ora-20085 ora-06512错误解决
  19. 《深入理解JAVA虚拟机》周志明 第三版 - 第四章 虚拟机性能监控、故障处理工具
  20. npm模块之opn使用教程(node **.js直接再浏览器中打开相应的文件)

热门文章

  1. PS教程!手把手教你绘制一枚写实的iPhone SE图标
  2. Script:收集Oracle备份恢复信息
  3. 【微信小程序】-- 使用 npm 包 - Vant Weapp(四十一)
  4. Linux-PAM系统管理指南
  5. 智能灯控系统的介绍,它有什么优势
  6. Python发送HTTP请求工具包httplib
  7. 嵌入式C编程中错误异常该如何统一处理?
  8. linux系统怎么进入救援模式,linux进入救援模式
  9. JAVA程序员面试宝典3
  10. 第19课时_加减法与直流偏置电路