简述CG数据流

来源:互联网 发布:战地3优化好吗 编辑:程序博客网 时间:2024/06/06 07:17

流程(pipeline)实际并不是一两句话能够说得清楚的东西。但是仍然可以被定义为事物进行中的次序或顺序的布置和安排,换句话说可以理解为完成一件事的步骤。做程序的人对这个概念就很熟悉了,有点像算法。单单讲算法,那很多人就会提出异议,觉得算法是针对计算机来说的,而流程是针对一群人如何完整地完成一个产品或者一件事情来说的,它们应该是不同的。
由于CG行业的特殊性,一个电影,一部剧集,甚至一个短片可能都不能简单由一两个人来完成。需要大量的专业的人来配合去做,甚至需要设置并配备各种岗位的人员。那么这些岗位的人之间如何协调,如何有效快速,如何高质量地去完成一部片就特别考验流程设计人员的能力了。
CG行业的流程设计涉及几个问题:数据问题,制作问题,审核问题,进度问题,管理问题。大部分的开发人员只需要解决数据问题就可以了,也就是数据流的维护。但是实际上大部分的流程设计都是上述几个问题相互制约所产生的解决方案,缺一不可。挨个去讲这些问题就显得特别愚蠢,因为这些问题真的不是一两篇文章能够彻底讲明白的。那么我们可以先重点来看看开发人员最关心的数据流问题(data flow)。
数据流说白了就是怎么让数据从一个环节迅速地流向下个环节。基本上需要做拆分,传递,组合三个操作。比如说假设模型环节需要做模型,分UV,做贴图(有时是在同一个文件里进行处理)。比较普遍的做法是绑定环节直接拿模型的文件做reference,然后进行绑定。如果模型简单,这么做也没什么问题。但是如果模型特别复杂,面数很多。绑定给到后面动画环节的文件就会特别巨大,特别占内存,导致做动画会异常卡,影响动画的生产效率。模型这边做任何模型数量的增加都可能因为通知不到绑定,而导致模型滞留原点。形成一些未知的错误。
简单分析一下,模型环节的数据实际上是需要给到两个环节。一个是把模型的拓扑结构,以及点位置给绑定部门进行绑定,然后提交给动画环节的人。而另一部分数据是需要给渲染环节,然后进行渲染生产。一个稍微完善的流程会把模型的数据分成两块来处理,再给到对应环节进行调节。然后所有的数据最后会给渲染进行整合。
把这几个操作做完了,数据流设计是不是就结束了呢?大部分情况下不是的。因为通常制作不会一次性做好模型,或者绑定。大部分会随着镜头制作的过程而进行持续地改进。那么会涉及到另外一个流程上处理起来最为麻烦的事情–返工。大部分制作人员对资产返工都是挺反感的。因为这很可能导致大量的镜头重做,以及大量其他的事情重新做,比如检查,审核,输出。这些通常在做镜头中都需要过一遍的事情。那么数据流设计的重中之重就要考虑怎么去减少这些重复事情的发生。通常情况下,这些重复事情流程开发人员会设计大量对应的程序来替代。这样艺术家能更多地把精力放在如何调整效果上,而不是繁琐而又容易出错的数据流上。
以上为个人拙见,如有不妥敬请斧正。

0 0