Hi,
If I load an FBX file with multiple geometries I get a sub-network with multiple geometries (see image attached). I want to run all these geometries through the same SOP operation. The problem now is that the only way I know of doing this would be to go into the individual object SOP and add my network there which seems very cumbersome. Is it possible to send the top level subnetwork through some kind of node that merges all objects into the same SOP node so I can process them together. Ideally with some kind of primitive attribute saying which geometry it came from so I eventually can split them up again. Another potential solution would be to do some for each for every object sending them through a SOP node.
Advice is appreciated, I'm new to Houdini.
Batching processing multiple geometries
2837 9 1- David Larsson
- Member
- 32 posts
- Joined: 8月 2014
- Offline
- jlait
- スタッフ
- 6245 posts
- Joined: 7月 2005
- Offline
- David Larsson
- Member
- 32 posts
- Joined: 8月 2014
- Offline
- jlait
- スタッフ
- 6245 posts
- Joined: 7月 2005
- Offline
- David Larsson
- Member
- 32 posts
- Joined: 8月 2014
- Offline
- edward
- Member
- 7743 posts
- Joined: 7月 2005
- Online
- David Larsson
- Member
- 32 posts
- Joined: 8月 2014
- Offline
Thanks,
I have another issue that came up in the process.
Most of my objects have object level material assignments as opposed to primitive level assignments. This means when I do a Object Merge I lose the materials since the primitives have no shop_material attribute. Is there a way of globally push the object materials down to primitives?
David
I have another issue that came up in the process.
Most of my objects have object level material assignments as opposed to primitive level assignments. This means when I do a Object Merge I lose the materials since the primitives have no shop_material attribute. Is there a way of globally push the object materials down to primitives?
David
- edward
- Member
- 7743 posts
- Joined: 7月 2005
- Online
- tamte
- Member
- 8599 posts
- Joined: 7月 2007
- Offline
select your object nodes and run this script:
import hou
sel = hou.selectedNodes()
geos =
for geo in geos:
matpathparm = geo.parm(“shop_materialpath”)
matpath = matpathparm.unexpandedString()
if matpath != “”:
matpathparm.set(“”)
rendernode = geo.renderNode()
displaynode = geo.displayNode()
matnode = rendernode.createOutputNode('material')
matnode.parm(“shop_materialpath1”).set(matpath)
matnode.setRenderFlag(1)
matnode.setDisplayFlag(rendernode == displaynode)
matnode.moveToGoodPosition()
it will add material sop inside of every geo object in render stream
then just use one of above mentioned methods to combine the objects
import hou
sel = hou.selectedNodes()
geos =
for geo in geos:
matpathparm = geo.parm(“shop_materialpath”)
matpath = matpathparm.unexpandedString()
if matpath != “”:
matpathparm.set(“”)
rendernode = geo.renderNode()
displaynode = geo.displayNode()
matnode = rendernode.createOutputNode('material')
matnode.parm(“shop_materialpath1”).set(matpath)
matnode.setRenderFlag(1)
matnode.setDisplayFlag(rendernode == displaynode)
matnode.moveToGoodPosition()
it will add material sop inside of every geo object in render stream
then just use one of above mentioned methods to combine the objects
Tomas Slancik
FX Supervisor
Method Studios, NY
FX Supervisor
Method Studios, NY
- David Larsson
- Member
- 32 posts
- Joined: 8月 2014
- Offline
-
- Quick Links