PDG特效流程分享
19023 0
实名

通过了实名认证的内容创造者

发布于 2024-7-12 17:48:40

您需要 登录 才可以下载或查看,没有账号?注册

x
点击上方蓝字CG世界关注我们
“ 感知技术 · 感触CG · 感受艺术 · 感悟心灵 ”中国很有影响力影视特效CG动画领域自媒体
本文转自公众号:方特电影
大家好,本篇文章基于pipeline来介绍PDG流程在影视特效制作中的应用,当然在没有pipeline的情况,也是可以参考的。目的①提高效率特效制作完成后给到下游组装时,需要把缓存导到Maya或其他软件,还原好材质是最基本的操作,但如果是粒子替代或是其他需要在下游软件中进行较烦杂设置的特效类型时,当缓存模型量为较大的对象时是比较费时间的;那么一键生成给下游的Maya文件就能较大提高工作效率;②减少出错
流程制作中的制作规则较多,例如文件存放,不同特效类型的缓存处理,是有一定的规则的,PDG程序化能减少出错机率;③减少流程学习成本让制作人专注于特效制作本身,减少额外的制作时间及规则的学习。不同类型特效的PDG处理我们使用PDG针对各类特效和各种情况制定了相应的任务流程,如:破碎,粒子替代,布料,毛发,肌肉等;针对不同的渲染软件,如Maya,Clarisse做了不同的还原流程。
篇幅有限,这里只介绍部分流程,思路都是大同小异的。①破碎解算思路:1、上游模型任务与材质任务分开制作;2、材质提交时生成单独只有材质的ma文件,并用json记录材质与模型的关系;3、模型导入时,按资产给assets_name属性;4、 破碎解算完成,根据assets_name分别导出abc;5、maya分别导入abc时,根据资产名找到材质文件并reference进来;6、根据json给模型赋材质;7、每个材质建一个内表面材质,分别赋给相应材质所对应的模型内表面;8、保存ma文件给下游调用 。PDG流程:1、 按不同数据类型输出abc以减少缓存量,方便对缓存进行不同的处理;
05133938fdcda64c548d4b74e9d622d8.png
2、PDG处理,导出不同类型的缓存;
574e5d7629584213b022e306efd5c4f2.png
获取缓存的assets_name,返回到前面提到的blast节点,按assets_name输出abc;

3、生成给下游用的Maya文件。主要思路为:制作资产时,拆分模型任务,材质任务,材质任务提交时生成没有模型只有材质的Maya文件,及生成记录模型与材质关系的json文件;由于abc缓存是根据资产名来命名的,所以加载缓存时,可以根据缓存名找到相的资产路径,在maya中导入abc时,同时把材质一起导入进来,根据json记录的模型与材质的关系给模型赋材质;再根据内表面的path属性,新建材质,赋材质,由下游编辑内表面材质。





4、如果是Maya渲染特效,操作以上操作就算完成了。为了兼容下游是Clarisse渲染的情况,专门用脚本生成了clarisse的project文件供下游使用,由于PDG没有Clarisse的接口,这里使用了后台运行脚本生成project文件的方法,注意解释器为Clarisse的cnode,py文件相当于在Clarisse里面执行。

下图中,上半部分是设置运行clarisse的环境变量,下半部分是后台运行Python脚本。

②毛发解算思路:1、资产提交时毛发的引导线和生长面分别输出成abc,并reference abc,由abc驱动毛发,保存新的ma文件供后续使用;2、解算并输出曲线让生长面跟随动画运动;3、以文本方式打开第1步生成ma文件,把静态曲线和生长面的abc替换成解算输出的abc;4、输出fur缓存;5、新建ma文件,导入fur缓存和资产毛发任务阶段生成的材质文件,并根据静态毛发提交时记录的毛发材质关系,给新的毛发赋材质。PDG流程:1、按资产名分别导出解算好的引导线和生长面;

2、对缓存进行一系列处理;





以上就是对两种特效类型制作的思路分享,大家可以针对自己的情况,制定制作流程,也可一键完成以上所有操作。流程中重要的两点就是:一、为程序化提供标准数据;二、用代码在houdini中程序化完成在别的软件中的操作。那我们下期见,bye~
全文完

他用18年前的诺基亚手机装上Blender,还做出了模型、材质和渲染!


9000字!盘点SIGGRAPH 2024前沿CG技术


收费的Blender,我忍你很久了!!

本帖被以下画板推荐:

内容主要涵盖影视特效,CG动国,前沿CG技术,作品欣賞
使用道具 <
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表