借助Houdini PDG批量处理alembic文件

1.导入

通过FilePattern Top来加载一个指定文件夹中的所有abc,目的是识别abc的filePath和fileName。

Pattern:$HIP/Fix/*

2.识别abc文件起始帧

通过PythonScript Top来判断始末帧,并保存到@startFrame、@endFrame属性中。

import hou
import _alembic_hom_extensions as abc


fileDirObj = work_item.attrib("directory")
fileDir = fileDirObj.asString()
fileName = strData(work_item,"filename")
filePath = fileDir + "/" + fileName
#print(filePath)
timeRange = abc.alembicTimeRange(filePath)
startFrame = int(hou.timeToFrame(timeRange[0]))
endFrame = int(hou.timeToFrame(timeRange[1]))
#print((startFrame,endFrame))
work_item.setIntAttrib("startFrame",startFrame-1)
work_item.setIntAttrib("endFrame",endFrame-1)

3.定制处理逻辑

在Sop Network中构建处理逻辑。其中第一个节点为Alembic Sop,用来真正加载abc文件。

FileName:`@directory`/`@filename`

4.输出处理后的结果

建立Rop NetWork,在其中创建alembic Driver,设置始末帧(Start/End/Inc:@startFrame/@endFrame),设置导出路径为源文件旁边(Alembic File:$HIP/Fix/`strreplace(@filename,".abc","")`_reMerge.abc)。通过ROPFetch Top引用刚刚创建的alembic Driver,且Evaluate Using设置为ROP Node Configuration。

5.执行

执行ROPFetch Top

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Houdini PDG(Procedural Dependency Graph)是一种用于处理大规模程序化任务的工具。它允许用户以图形化的方式构建和管理复杂的任务网络,并自动调度和执行这些任务。 PDG调度分为两种模式:进程内和进程外。进程内模式是指所有任务都在同一个Houdini会话中运行,而进程外模式是指任务可以在独立的进程中运行,以实现更高的性能和并行处理能力。 在PDG中,你可以使用自定义的节点来读取属性并控制工作项的生成。属性最常见的用法是在“TOP网络中”或“TOP引用的外部Houdini网络中”的节点参数中引用属性。例如,你可以使用Wedge节点创建一个名为pixelsamples的属性,其值为不同的渲染质量。然后,在ROP Mantra Render节点中,可以使用@pixelsamples字符串来引用先前的属性,并将其值设置到Pixel samples参数中。你还可以在调用TOP网络的外部资产/网络中引用工作项的属性,例如,在HDA Processor的参数中使用@attribute来引用从工作项中提取的值。 对于向量的分量引用,你可以使用@attribute.component来引用特定的分量,其中component是从0开始的数字,或者x、y、z(分别等于0、1、2)。例如,@pos.x或@pdg_output.0。另外,你还可以使用pdgattribvals将属性数组的所有组件引用为以空格分隔的字符串。 总之,Houdini PDG是一个强大的工具,可以帮助用户高效地处理大规模的程序化任务,并且支持属性引用和自定义节点来实现更灵活的工作流程。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [翻译Houdini官方文档:PDG/TOPs介绍](https://blog.csdn.net/u013412391/article/details/115037479)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值