线上管理项目以及生产环境的搭建

Other1554 字

最近几年,我经常会在工作之余参与一些小项目的研发和制作。我们的团队成员虽然共同努力,但地理位置却相隔甚远,跨省沟通协作是常态。这样的远程工作模式无疑为项目管理带来了额外的挑战:任务分配、文件管理以及版本更新等问题在非集中式的工作环境中变得更加复杂。

在寻求解决方案的过程中,我尝试了众多工具和软件,其中既有付费的商业产品,也包括免费的开源工具。但必须明确的是,至今为止我尚未找到一套完美的解决方案——我所指的是能像工业流水线一样高效管理项目并确保生产交付的系统化方法。如果我们只讲求手动操作,哪怕是使用像百度网盘这样的工具,也能勉强应付。

先梳理一下需求:

  • 因为是异地,所以需要线上可以管理项目。
  • 管理系统中可以完成任务创建和分配,以及跟踪各任务的状态以及反馈信息。
  • 同样因为异地,需要保证工程文件的同步,版本迭代。
  • 项目种类多样,许多属于转包项目,路径和命名规则需要符合甲方要求,不同项目会有不同的规范要求,所以路径和命名要高度可定制化。
  • 同样因为项目的不同规范,造成各阶段publish的要求各不相同,同样也需要较高的可定制化。
  • 尽可能的自动化,从命名到资产和镜头的组装,素材的自动加载,各类设置预设的自动加载。

下面我先简单分析一下目前可以用的工具和可能存在的问题。

专业的项目管理系如ShotGrid和Ftrack都很强大,基本上提供了完整的解决方案,从项目的任务管理到客户端的DCC接口,但是问题也很明显:

  • 成本较高。
  • 在线托管需要自己单独设置项目存储。
  • 文件管理要自己想办法。
  • DCC工具较为简陋无法适用于当前的生产流程。
  • 一些需求和定制功能需要专业TD二次开发,不适合于普通人。

国产的CGteamwork成本较低,使用门槛也低,但也有一些致命缺陷:

  • 文件同步功能太过简陋。
  • DCC接口同样非常简陋,基本没有可用价值。

开源的Kitsu成本最低,但缺点与ShotGrid和Ftrack差不太多,而且还只提供了Blender等少数DCC的接口。

当然如果不差钱,可以随便挑选一种顺手的,找个第三方团队帮助开发一些功能来补全缺陷。

但对于小团队来说,成本往往是第一位要考虑的事情,毕竟项目也挣不了多少钱啊

下面介绍一下我前段时间使用的方案,整个结构如下图所示

为了满足既要还要的需求,又避免二次开发,因此将各功能拆解,每个功能由现成的方案去实现,保证最低的成本,同时也满足了实际的项目生产。

其中核心的部分是使用了免费的AYON(OpenPYPE的升级产品),当然也可以使用之前的OpenPYPE,它们都是由Ynput团队开发的,完全开源和免费。OpenPYPE可以替代之前如ShotGrid和Ftrack的本地客户端,也就是各DCC的接口,它的优势就是具备完善的定制选项,在没有TD的情况下,就可以完成各类项目设置。而且基本覆盖支持了绝大部分的DCC工具。

另一个问题是文件管理,虽然拥有了OpenPYPE这种强大的工具,但是因为涉及异地办公,文件同步是非常必要的,之前我有经历过使用Git和SVN进行文件同步和版本管理,但这两个虽然开源免费,可本身并不太适合于传输美术资源,而且也会存在文件同时被人编辑的情况,容易产生文件冲突。最近两年我开始使用Perforce,它更适合于美术制作人员使用,传输也非常快速,最重要的是可以checkout文件来保证团队中其它人员不会去编辑同一文件。Perforce的免费版可以使用5个帐户。

最后项目管理系统可以采用OpenPYPE所支持的任何一款,显然为了成本更低,优先考虑使用Kitsu。

从任务管理系统Kitsu,到OpenPYPE以及P4全部选择部署在云端,项目工程文件也采用云端存储。

另外Kitsu也实现了在线审片与反馈的可能性,方便甲方直接操作。

基本的工作流程:

  1. 制片及项目管理者,将镜头表等数据录入Kitsu并创建对应环节的任务,分配人员。
  2. OpenPYPE中同步Kitsu中的任务数据,完成项目的各类定制选项的修改。
  3. 创建P4的项目库及根目录和相关插件、脚本工具、配置文件等。
  4. 制作人员拉取P4文件,映射工作路径。
  5. 制作人员通过OpenPYPE客户端启动DCC获取对应任务开始制作并提交文件,Kitsu自动更新任务状态。
  6. 制作人员通过P4上传更新文件。
  7. 下游阶段制作人员收到Kitsu的任务状态通知拉,从P4拉取新文件,开始新阶段的制作。

其中OpenPYPE是可以完成各环节的文件最终提交以及下一环节的组装工作。
OpenPYPE和Kitsu的数据是双向同步,当Kitsu创建任务及分配任务,OpenPYPE就会对应收到新的数据,制作人员可以从OpenPYPE客户端获取到新的任务。OpenPYPE客户端发布任务后,Kitsu也会同时收到相应的信息并自动修改任务状态,通知相关人员下一步的工作。

在之前的文章中已经讲过Kitsu的部署,在之后的文章中将会具体讲AYON的部署,P4的部署以及项目的设置。

admin
博学之,审问之,慎思之,明辨之,笃行之。
OωO
开启隐私评论,您的评论仅作者和评论双方可见