专栏名称: CG世界
CG世界是一个分享影视原画,视觉特效和3D动画为主要内容的公众号。分享国内外优秀作品;传递大师制作经验,举办大咖分享会,作精准在线课堂。与世界行业连接,与顶级大神面对面,与粉丝交流互动。Come on!
目录
相关文章推荐
GiantPandaCV  ·  基于 chunked prefill 理解 ... ·  2 天前  
GiantPandaCV  ·  CUDA-MODE课程笔记 Lecture ... ·  4 天前  
GiantPandaCV  ·  SGLang 后端原文解析 ·  5 天前  
GiantPandaCV  ·  AwesomeCLIP---100+篇CLI ... ·  6 天前  
GiantPandaCV  ·  小白视角:利用 vllm serve 新的 ... ·  1 周前  
51好读  ›  专栏  ›  CG世界

【干货】关于特效公司里面库的一切

CG世界  · 公众号  · 3D  · 2017-08-25 09:00

正文

点击上方蓝字CG世界 关注CG我们

“ 感知CG · 感触创意 · 感受艺术 · 感悟心灵 ”

中国最具影响力CG领域自媒体


这几天在京城出差,所以很难静下心来踏踏实实的弄点东西出来。还好,这几天看见牛闯大神分享的一篇不错的文章。我就申请转载了,在这里分享给CG世界的伙伴们。本文用诙谐幽默的语言结合自己的制作经验详细的讲解了“库”的概念,是一篇不可多得佳文~下面一起来品读下吧


作者简介:牛闯,现任伦敦工业光魔特效技术指导。


以下内容转自“闯特效”公众号~


先把矛盾摆出来给大家想一想:


假设你的公司接到了需要毁掉整个城市市中心的一场大特效戏。里面有大量的城市数字资产,群集,路面和建筑破碎,大量角色战斗留下的痕迹,武器产生的烟火特效,和建筑物的交互破碎,自然环境特效(雨雪)等等。我们说的质量不是五毛特效,是五百万的特效。要看到每个物体和特效的细节,光影准确,氛围足够适当,角色处于环境之中具有很强的存在感,镜头内容真实可信。


一个需要6-8周才能做完的特效镜头,客户想2周就要,更可怕的是这样的镜头有两三百之多,客户同样想要你们以30%的时间完成。为了不赔钱又不妥协质量,要怎么做?


做!


什么是库,以及我们为什么需要它们?

库根本不是一个新的概念,人类能发展到现在这个程度完全就是对库的依赖。自从我们发明了语言和文字,每一代的新人类都不需要重新去探索,理解和研究这个世界,我们可以很容易地从过去祖祖辈辈积累下来的文字中学习我们可能一辈子都没办法经历完全的知识。


特效制作也一样。虽然库不能解决所有的问题,但一个完善的库系统可以帮你解决掉一半以上的烦恼。


好的特效公司不会让艺术家们做机器就可以做的事情,尤其是重复劳动。如果每次你需要在路上放一个爆炸都需要从头重新制作的话,那是没办法承受有规模的电影的。


在ILM这样的公司我们有许许多多很成熟的库,从2D到3D,数字资产到特效模拟,实拍元素到制作工具。我们每天经常使用的库可以为我们节省一大半的时间。比如特效量超大的变形金刚,之前在制作的过程中也用到了大量的库存。

复仇者联盟置景展示


假设你有一整套积累完善的库,以下制作内容几乎可以提升数倍甚至数十倍的效率:


- 如果有个镜头可以看到全景的城市街景,需要数字替换很多需要制作交互的部分,我们会直接从库里面拿出已经做好的模型进行置景工作


- 之后如果有机器人在周围打斗,产生的碎块和烟尘多数也可以用库里预先制作好的模型和模拟数据拼装成。


- 如果有强交互的爆炸和机器人互相影响,我们也可以从节点组的库存里找出类似效果的运算节点库,替换好环境和角色之后再次模拟。


- 对于背景其他次要角色和环境的交互,残留的战斗历史痕迹,独立但大量的环境类效果我们一般也会从公司范围的库或者这个项目特别修改制作的库中提取。


- 数字合成师如果需要添加环境气氛,镜头杂质和光交互,提升质感等也可以直接从库中调用。


工业光魔HDRI库









工业光魔街道置景模型库


库的建立过程是一个长期的过程,工作室在工作不多的时候,完全可以用这段时间来制造和完善库存,以备日后使用。


在项目制作过程中,制片部门和各总监也应该对此制定计划,留出足够的时间来尽量全面地制作好项目中需要的内容的库。在真正开始大面积制作的时候,视觉效果和工作流程应该达到可以交货的质量,因为一切在那个时间才进行的修改会导致效率大幅减少。


尽管如此,在制作的过程中依然会发现很多可以优化的部分,我们同样也应该大胆接受并整合进已有的库存中,以达到更高的效率和更好的效果。


公司范围的和项目范围的库,发展的步调是类似的,前面会很漫长,收益也不是很高,但坚持做下去,把量变积累到质变,差别就显而易见了。所以如果你想开始制作一套库,得从现在就着手开始。


库的种类


从适用范围来看,我们可以把库分成两种,一种是全公司各个项目共享的资产,另一种是针对每个项目不同需求的项目库。

  • 项目范围的库一般可以先从公司的库中筛选提取,整合成一个新的集合,甚至根据项目的需求修改增强产生新的项目定制版本。 这样独立处理的好处是不会影响公司范围资源库的一般性。(假设当前制作的CG内容要求的风格比较独特,所修改的内容并不适合替换公司范围的库)每个项目结束之后这些项目库的内容也建议整理之后,分成若干版本,比较通用的部分重新合并到公司库中,比较独特的部分单独存为历史存档项目的库。


  • 公司范围的库可以用来放置所有项目都通用的数字资产,以便项目报价测试,项目制作时修改使用。一些很常用的用于设定标准的资产也需要在公司库中存有一份。比如常见摄影机色彩管理文件,常见镜头畸变图,标准尺寸人物角色模型,通用室外和室内环境模型,常见贴图纹理,Shader,虚拟摄影机Rig,特效底层计算工具节点,常见灯光照射强度模型,常见实拍元素,镜头效果等等。这里只列举很少的一些,看起来很庞大的内容,需要靠几个项目积累才能得到一个相对完善的库。



从数据类型来看,可以分成这么几种:

  • 工具

这可能是所有库里最重要的一环,首先我用库本身打个比方,你需要合适的工具来管理和调用你想要构建的库存,指望公司每个人手动去管理库是一件很不合理又没有效率的想法。所以你需要有专门的工具或者流程来处理这些库,工具应保证库的结构和内容一致,信息完整,日后如需要重新组织库的结构可以用其他的工具来完成。


其次库里应该包含整个工作室通用的工具(这个比较偏向研发),比如用来批量转换贴图色彩空间的工具,查询镜头信息的工具,角色绑定相关工具,数字相机系统, 批量转换模型或者模拟数据格式的工具,特效部门的底层数据计算工具,Shader网络,文件在流程中项目传递的工具,反馈管理工具等等……


这些工具构成了公司自动化运行的骨干,就提升效率而言,这一部分能提升的效率是最多的。如果你只有构建一个环节的预算,那就做这个。(我们称之为流程工具基础设施)这部分的库不需要做出项目相关的多样性,一般都是最通用的工具才需要做成库,他们的可重复利用率很高,属于公司最有价值的秘密财产。一旦基础设施建立足够,便可以以程序化的方式组装拼接构成更高级别的工具,和公司流程工具的脊梁骨。



  • 静态2D和3D

就像名字所说,这部分包括没有时间维度的环境和角色模型,LIDAR扫描数据,环境光和人造光HDRI贴图,物体表面贴图纹理,相机畸变和色散数据,平面摄影素材库等。

性价比来看,这个部分多数时候没有上面工具环节那么高,小型工作室倾向于优先积攒这部分多素材,大型工作室则倾向于积累工具。当你公司规模较大,积累到了足够多工具库之后就可以开始侧重积累这部分的库了。因为这部分的素材量很大,如果没有之前的管理工具做铺垫,这些素材不易管理。


  • 动态2D和3D

这一部分的素材重心开始向流程后面转移, 包含用于群集模拟的动作库,特效动力学模拟数据(烟火,碰撞交互,电流等),实拍的独立素材库(血浆,水花,雨雪,烟火;胶片颗粒,镜头光晕等),常见元素视频参考(电影片段,纪实片段,网络素材)。

这部分的素材会占用很大等储存空间,但是性价比依然不低。2D部分很常用,3D部分对于制作复杂场面等大公司讲也比较能提升效率。


  • 预设库

预设不属于上面的任何一类,但确实CG制作人员每天都会在用的库。它们是一些工具,一些2D和3D资产,或者一套节点流里所有可调节属性的状态的集合。它是一个自身独立完整可以适应某种工作的工作流程。比如用来描述浸水和干燥毛发混合材质的流程,在3D的部分会有一组操作来划分和整理需要的数据,分组毛发,创建Shader需要的输入数据。Shader里面会有一部分操作节点来对输入的数据进行处理,根据它们来调节毛发等表面受光属性,在合成部分会有一些操作来对不同部分的色泽进行微调。这些预设通常存在于项目库之中, 制作同样或类似效果等艺术家共享,以达到结果一致,节省试错和实验的时间。

特效环节会根据项目需求开发出不同效果的节点网络,灯光会开发整合上游数据指定对应材质的节点网络,合成会开发混合和操作不同渲染层的节点组。

这些预设通常不太容易被整合到公司库中,因为每个预设都是高度依赖项目本身的艺术和技术的要求。解决方法就是需要每个制作预设的人在设计过程中找到与其他项目相通的部分,把那些部分制作成通用的工具,然后通过拼接这些相对底层等工具完成预设网络。这样我们可以把那些底层工具放到公司库存中,高级的预设备案留作以后参考。


无论是公司还是项目范围的库,根据环节都多多少少会被划分为这些类别:


(我这里试着大致列一下你可以做成库的元素都有哪些)


模型库:标准人类,常见室内道具,常见室外模型,城市模型元素(楼,地面,路灯, 街牌,车,店面),自然环境元素(树,草,山,石),特效破碎替代模型库( 扭曲钢铁零件,土块,碎木头片,玻璃碎片,灰烬,绳索,大理石碎块等),人为痕迹模型库(残垣断壁,损毁的马路,破碎钢筋混凝土,碎玻璃等)


贴图库:物体表面颜色(木纹,织物,树皮,金属,皮肤),做旧贴图(划痕,污渍,锈迹),环境贴图(天空,地面,远处山河,星球和地貌),高度图(置换贴图,地形海拔图)


Shader库:通用Shader, 特殊效果Shader(烟火,卡通效果,魔法效果,特殊形变,虫洞等),几何体运算Shader(模型转volume,粒子毛发差值,群集分布,动态LOD等)


流程工具库:数据库管理(项目镜头信息操作,数字资产管理,艺术家信息和分配,权限保护,备份),数据传递和交接(各软件内的资产导入工具,数字资产发布工具,数据类型转换和兼容),软件内工具(Mari,Houdini,Katana,Maya,Renderman),渲染和农场,工作室输入和输出(Ingesting,命名规范,多版本创建,色彩空间管理,数据安全, 文件检查和打包),反馈流程(Review播放和反馈记录,镜头信息更新,镜头增减)


动画/绑定库:群集动画库,通用角色绑定等。


置景/摄像机库:场景模型,数字相机系统(不同软件内的相机规格, 相机运动工具,抖动),


3D特效模拟库:环境烟尘,燃烧浓烟, 云层,火星/碎片撞击,瀑布,火,雷电等。


特效节点/流程组库:用于制作上面特效的原始节点组,用于制作主要角色和环境交互特效的 节点组。


灯光库:光源模型(太阳光,散射光,路灯,灯光箱,数字反光板),灯光造型图(环境HDRI,人造光源表面HDRI,人造光 IES,火焰闪电等自发光物体, 阴影遮挡物轮廓图)


2D实拍/渲染素材库:独立实拍素材(血浆,水花,雨雪,烟火;胶片颗粒,镜头光晕等),CG渲染带有AOV的素材(烟尘,云朵,雨雪,烟火爆破,碎块等),参考库(各类效果在其他电影或纪实影片中的片段,用于CG制作参考)


合成节点/流程组库:用于制作和混合CG渲染层的节点组,用于增加特别效果的节点组(镜头光晕,镜头污渍和水滴,胶片反应,相机感光元件成像模拟等),用于增加实拍元素的2.5D节点组,用于抠像和素材润色的节点组等。


规格库:CG渲染层规范,素材和CG渲染颜色规范,底片规格和相机格式规范,色彩管理,工作室图像输入和输出,客户规范与工作室规范对接流程等。


预设库:每个软件内部和工作室工具的预设库(项目文件结构, 项目图像规格集合,项目各版本色彩空间,渲染层结构和命名,各部门资产发布结构和命名,最终交货结构和命名等)


其实可以看到每一个部门都会有相对应的庞大的库,根据每个公司制作的侧重点不同适当增减所需要的库内容。


库的建立

你要做好准备的是,要建立一个库,要把眼光放的很长远,在设计一个库系统时得做好很长期的打算,这样不会在之后的更新中捉襟见肘


像上面列出的那些分类方法,就是你要考虑的重要方面。预先估计好你所需要的所有库的类别,有助于你写出通用的创建和操作规则。否则积累到了一定程度,去整理搬运归类这些数据会很难做。


一个保险的做法就是把每个库条目的信息都尽量记录完整,比如涉及到哪个环节,2D或3D,动态静态,所属项目,涉及软件,内容描述,适用范围,日期,用户,自定义标签等。把资料放在对应的文件夹目录结构中也是一个比较常用的后备方案。这样即使后面想要重新设计工具,也可以用工具自动化的筛选和归类。


库的建立要分散给每个人或者每个有经验的主管去处理,即使主管不需要自己去创建每个条目,但她们需要检查条目信息的完整性。创建底层工具的时候需要主管去测验工具的稳健性,确保可以让工具最大化的通用。


如果有制作库管理工具的能力,最基本的需要在每个软件中制作添加条目的工具,工具应提供所需要的数据,强迫用户必须填入所有合适的数据才允许提交,保证信息完整。


底层工具尽量只负责一件很简单的任务,确保所有类型的输入数据都可以被处理,当用它们逐步建立到高层次的工具时,可以做到底层工具不需要修改。如果必须得修改,必要时它们衍生出来的高层工具都得跟着修改。


库的使用和更新

想要很好的利用库的内容,也需要工具的支持。最基本的工具就是在各个软件中需要有一个适当的浏览器,用来查询和调入库条目。


库会变得越来越大,乱,杂。有时候需要把已经过时,不再适用的条目删掉,或者修改之后更新为新版本。有些条目需要整合成一个部分,有些需要分离成几个分支。有些需要打包存档,有些需要转移到其他储存空间,保证所有软件中的链接都可以自动更新。工具中应该也设计好这些功能。


每次更新应该有新版本变更记录,源文件,用户和时间等,便于回溯。


维护工作尽量由提交条目的用户负责,没有其他人像他们自己那样了解里面的细节。


具有中国特色的库

在和朋友聊天的时候,他提到了一个问题,就是如果我们中国的项目和上面所举的例子差异太大的时候,要怎么做库呢?ILM经常炸纽约和伦敦,街景的库比较有用,放在中国就没有用武之地了。


在国内,今天我们大闹一个天宫,明天我们手撕一个鬼子,后天我们再走过十里桃花。


这些项目看起来确实不容易找到共性,可仔细看一下国际上主流公司的作品集你也会发现,制作内容在森林植被,城市街景,天空水下,封闭室内等环境中来回穿梭。要承认的是不是所有元素都适合做成库,但在任何一个场景和一种特效中,总会有你能找到相通的部分整理存档。


  • 经常上天入地的话,我们可以多存一些不同的山脉和云层的元素。

  • 经常下水的话,我们可以多存一些水下动物植物,水下地貌和常见特效的元素。

  • 经常手撕鬼子的话我们可以多存一些服装道具,肠子肚子血块脑浆等有机体组织元素。

  • 经常在桃花林里面比武的话,我们可以多做一些植物和瀑布,土块,断木等元素。

(图片来自网络 作者 Fenghua Zhong)

话说回来我们也不是一点城市也不做,城市建筑的结构也都没有差特别多。在建筑物上作的爆破工作不可避免的都会出现钢筋混凝土碎块,烟尘,火星,电缆,室内装饰,玻璃,木架等。这些都可以变成库存的一部分。


库的存在也不是为了帮你解决掉所有的镜头,它的正面意义在于可以为你节省大量时间,把精力都集中在那些要求更高的强交互特效镜头上。把挤压成两周的周期拓展到两三倍的长度,也许可以促进一个正面的良性循环。


在中国这个特殊的环境中,我们也得认真想想怎么根据客户和市场的需求,制定一个真正可行的制作和管理方案。


如果你是一名管理人员看不懂我在说什么,

下面这张图总结的很好:

虽然我基本上不考虑接外包工作,但如果有工作室想要搭建自己的库,我会考虑协助库的设计




相关阅读

Adobe一直在探索的风格化视频技术,到底是咋回事?

到底什么是摄影测量技术?用它结合UE4如何作出超写实画面?

什么是Material X?卢卡斯影业和工业光魔为什么要把它开源?